Bank Transfer Processing

Overview

The Payment API integrates bank transfer processing between the customer-facing webstore and the order management system. A bank transfer request is a transaction in which the funds immediately begin the process of transferring as soon as the request is approved. After the BankTransferCheckoutRequest is approved the order management system can make an asynchronous BankTransferStatusCheckoutRequest to check on the status of the processing transaction.

Refunds can be issued for bank transfer transactions through the normal credit settlement process. See Payment Settlement.

Some examples of these systems:

  • Sofort (Germany and Austria)
  • iDEAL (The Netherlands)

Bank Transfer: Normal Flow

This flow covers the system interactions that occur for the standard, happy-path bank transfer use case:

  1. Webstore submits a BankTransferCheckoutRequest to Radial.
  2. Radial processes the BankTransferCheckoutRequest through a payment gateway.
  3. A successful BankTransferCheckoutReply is sent along with a redirect URL for the webstore.
  4. Webstore finishes the transaction with the customer and does a BankTransferStatusCheckoutRequest, and on success or pending sends the order to the order management system.
  5. A BankTransferStatusCheckoutRequest request is made by the order management system.
  6. A successful BankTransferStatusCheckoutReply is created by Radial and sent to the order management system
  7. The order management system will act appropriately on the finalized, and approved, status.

Happy path Bank Transfer

Bank Transfer: Fail/Timeout Flow

This flow covers the system interactions that occur for the bank transfer use case where the request either fails, or times out:

  1. Webstore submits a BankTransferCheckoutRequest to Radial.
  2. Radial processes the BankTransferCheckoutRequest through a payment gateway.
  3. A failure BankTransferCheckoutReply is sent from Radial along with a redirect URL for the webstore.
  4. In the case of a fail : The customer should be presented with the option to try another tender.
  5. In the case of a time out : The webstore can decide on whether to retry the transaction or present the customer with an option to use another tender. If a retry is done Radial recommends having a retry that makes an attempt once every configurable number of numbers up to a configurable amount of attempts.

Bank Transfer Request Failure

Bank Transfer Request Timeout

Synchronous Bank Transfer Status: Rejected/Error Flow

This flow covers the system interactions that occur for the bank transfer use case where the status request returns as either rejected or an error:

  1. Webstore submits a BankTransferCheckoutRequest to Radial.
  2. Radial processes the BankTransferCheckoutRequest through a payment gateway.
  3. A successful BankTransferCheckoutReply is sent along with a redirect URL for the webstore.
  4. Webstore finishes the transaction with the customer and does a BankTransferStatusCheckoutRequest, and on success sends the order to the order management system.
  5. A synchronous BankTransferStatusCheckoutRequest request is made by the order management system.
  6. BankTransferStatusCheckoutReply of REJECTED: The webstore will need to reject the order at this point, and if desired, request a new tender for payment.
  7. BankTransferStatusCheckoutReply of TIMEOUT: The order management system can decide on whether to retry the transaction or present the customer with an option to use another tender. If a retry is done Radial recommends having a retry that makes an attempt once every configurable unit of time up to a configurable amount of attempts.

Bank Transfer Status Failure

Asynchronous Bank Transfer Status: Rejected/Error Flow

This flow covers the system interactions that occur for the bank transfer use case where the status request returns as either rejected or an error:

  1. Webstore submits a BankTransferCheckoutRequest to Radial.
  2. Radial processes the BankTransferCheckoutRequest through a payment gateway.
  3. A successful BankTransferCheckoutReply is sent along with a redirect URL for the webstore.
  4. Webstore finishes the transaction with the customer and does a BankTransferStatusCheckoutRequest, and on success sends the order to the order management system.
  5. An asynchronous BankTransferStatusCheckoutRequest request is made by the order management system.
  6. BankTransferStatusCheckoutReply of REJECTED: The webstore will need to reject the order at this point, and if desired, request a new tender for payment.
  7. BankTransferStatusCheckoutReply of TIMEOUT: Radial will attempt a retry of the status every 6 hours, for up to 25 attempts. If no status is obtained after the maximum number of tries the order will be rejected. Note: This interval is subject to change.

Bank Transfer Asynchronous Request Timeout

Bank Transfer Synchronous Request Timeout