added

Release 19/12/2024

Version: v2024.12.19.1

Date: 19th December 2024

What's included?

  • FAPI 1.0 updates
  • Timeout handling improvements for Pay by Bank transaction
  • Enhanced GET /accounts/:id for Account Details
  • Bug Fixes:
    • Pan-Only 3DS Flow Issue in Google Pay via Hosted Checkout
    • Payment links performance issue
    • Reset Password Issue
    • Reconciliation Discrepancy with Cashflows Fixed
    • Apple Pay and Google Pay Recurring messaging
    • Custom Fields for PBB Transactions in Transaction List Export

FAPI 1.0 updates

This release finalises the FAPI 1.0 updates for our Open Banking integrations, enhancing security and performance across all supported banking partners.

  • Monzo
  • TSB
  • Revolut

Timeout handling improvements for Pay by Bank transaction

We have resolved an issue where timeout responses in Pay by Bank transactions were incorrectly treated as declined. Previously, if a timeout occurred after 10 seconds, the transaction was marked as declined, and the system stopped further attempts to retrieve the final status.

Fix Details:

  • The 10-second timeout threshold has been reviewed and adjusted to ensure appropriate handling of timeouts.
  • GET requests now include retry logic to retrieve the final transaction status instead of marking the transaction as declined immediately.
  • For POST requests, the system now leverages the x-idempotency-key header to ensure retries are handled correctly without generating duplicate requests.
  • If all retry attempts fail, the transaction is now categorised as server_error rather than declined.

This fix ensures more accurate transaction outcomes and prevents unnecessary declined statuses for successful transactions.


Enhanced GET /accounts/{account_id} for Account Details

We have introduced significant updates to the GET /accounts/:id endpoint to improve functionality, consistency, and alignment with user expectations. These changes enable developers to retrieve detailed account information for account management, including support for Railsr MIDs.

Key Updates:

  1. Support for Railsr MIDs:
  • The endpoint now supports Railsr MIDs, allowing it to return details for the active bank.
  1. Path Parameter Update:
  • The account_id parameter has been replaced with mid for consistency. While technically the same, this change ensures alignment with other endpoints like POST /payouts.
  1. Field Updates:
  • account_id field replaced with mid.
  • account_status replaced with is_active (a boolean indicating whether the account is open).
  • New fields added to the account_detail object:
    • iban: International Bank Account Number.
    • bic: Bank Identifier Code.
    • currency: Account currency as a lowercase ISO 4217 code (e.g., "gbp").

Bug fixes

  1. Pan-Only 3DS Flow Issue in Google Pay via Hosted Checkout:

An issue was identified where the Pan-Only 3DS flow for Google Pay via Hosted Checkout failed, with the payment status stuck in "tds_pending" and an error thrown instead of displaying the 3DS emulator. This occurred when "is_recurring": true was passed. The issue has been resolved to ensure the 3DS emulator is triggered successfully, and the payment flow completes as expected.

  1. Payment links performance issue:

We have addressed reports of slow response times from the Payment Links endpoint, where some requests were taking over 10 seconds to generate a link_id. This issue particularly affected peak morning hours and impacted user experience. This fix ensures a smoother and faster experience for generating payment links.

  1. Reset Password Issue:

We have fixed an issue where the reset password functionality would fail under specific conditions. Previously, if an invalid value (e.g., "undefined") was entered as the username on the login screen, and the "Forgot" button was clicked followed by entering a valid email and pressing the Enter key, the reset password process would fail.

  1. Reconciliation Discrepancy with Cashflows Fixed:

We have resolved a discrepancy in reconciliation files from Cashflows, where both Sale and Void entries for the same transaction were included in the file. Unlike other banks, which exclude voided transactions entirely, Cashflows lists both entries. Previously, our system processed the Sale entry, leading to a variance between our reported and actual settled amounts for customers.

  1. Apple Pay and Google Pay Recurring messaging:

We have resolved an issue where digital wallet recurring messaging was not implemented correctly for the Rest API. Previously, discrepancies in the messaging for recurring transactions were identified between the Core API and Rest API, particularly for Apple Pay and Google Pay.

  1. Custom Fields for PBB Transactions in Transaction List Export:

We have resolved an issue whereby custom fields (custom1 and custom2) passed through PBB transactions were not populated correctly in the transaction list export.