To provide a quick and convenient buying process for the customer, one-click Open Banking payments can be used. The customer is present and is offered to store bank account details for future payments improving the checkout experience. Merchants must obtain customer consent for initial storage of the payment credentials and establish an agreement with the customer for ongoing/future payments.

Tokenization is possible only when a customer can log in to the merchant’s system/e-shop using authentication.

How to store bank account details

The token will be returned only with the actual purchase (amount’ is > 0)

  1. before requesting a “token”, ensure that a particular payment method supports tokenization by making GET /processing_accounts/{account_name} request and checking “payment_methods.tokenization_supported” parameter (possible values “true/false”)
  2. to initiate payment, make POST /payments/oneoff request (amount is > 0) with additional parameters:
    • “request_token=true” – to indicate that this payment should generate a token
    • “token_agreement=unscheduled” – a type of token agreement. It must be sent when “request_token=true” is set
    • “disable_tokenization_filter=true/false” (optional) – option to filter the payment methods that will be available for the customer:
      • “false” or parameter is not used at all – default option, payment methods will be filtered (grayed out/unavailable) based on the “tokenization_supported” value when the consent is given
      • “true” – payment methods will not be filtered (all payment methods are available) based on the consent, if consent is given to tokenize but the payment method doesn’t support tokenization, regular payment can be made, and no token returned
    • “token_consent_agreed=true/false” (optional) – to indicate that the merchant has consent from the customer to store account details:
      • Hosted payment page integration:
        • “false” or parameter not used at all – “Save my information for faster checkouts” (consent) checkbox will be shown on the hosted payment page (if the checkbox is selected and payment is successful, the token will be returned, if the checkbox is not selected token will not be returned)
        • “true” – “Save my information for faster checkouts” (consent) checkbox will not be shown on the hosted payment page (consent given on the merchant side, if the payment is successful, the token will be returned) and payment methods that support tokenization will be shown in the payment page (if parameter “disable_tokenization_filter=true” is being used, all payment methods will be displayed, but if a payment method doesn’t support tokenization, regular payment can be made, and no token returned)
      • Custom integration (payment methods displayed and consent asked on merchants’ side):
        • “false” or parameter not used at all – indicating that consent is not given, all payment method payment links are returned “payment_link?method_source=”, if the payment was successful, the token will not be returned
        • “true” – indicating that consent is given, payment methods that support tokenization with payment links are returned “payment_link?method_source=”, if the payment is successful, token is returned (if parameter “disable_tokenization_filter=true” is being used, all payment methods with payment links will be returned, but if a payment method doesn’t support tokenization, regular payment can be made, and no token returned)
  3. depending on the integration type, the customer is redirected to general “payment_link” (hosted page solution) or  payment method specific “payment_link?method_source=” (custom integration displaying payment methods on merchants side)
  4. the customer continues with the preferred payment method on the bank side
  5. when payment is processed, Payment Gateway sends a Callback notification to merchant specified Callback URL containing “payment_reference” (unique payment ID that is generated from Payment Gateway) parameter indicating that the status of the payment has changed
  6. to check the payment status and get the token value, make GET /payments/{payment_reference} request
  7. if the payment was successful, in the response payment data will be returned containing the token and IBAN value:
    ob_details: {
    “token”:
    “debtor_iban”:
    }
  8. bank account details are saved and can be used for future CIT (customer initiated transactions) payments
  9. customer is redirected back to the merchant showing the outcome of the payment

* Please note that stored bank account details token can NOT be used for MIT (merchant initiated transactions) payments

How to initiate CIT payment

  1. to initiate CIT payment, make POST /payments/cit request
  2. to complete the payment, make POST /payments/charge request by adding “payment_reference” (returned in step 1 (POST /payments/cit)) and token (returned in step 7 (GET /payments/{payment_reference})) parameters
  3. in the response, initiated payment data will be returned containing the “payment_link” to which the customer should be redirected
  4. customer confirms the payment on the bank side
  5. when payment is processed, Payment Gateway sends a Callback notification to merchant specified Callback URL containing “payment_reference” parameter indicating that the status of the payment has changed
  6. to check the payment status, make GET /payments/{payment_reference} request
  7. customer is redirected back to the merchant showing the outcome of the payment

* Please note that stored bank account details token can NOT be used for MIT (merchant initiated transactions) payments

in Integration
Did this article answer your question?