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
    • “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)
        • 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, all payment method payment links are returned “payment_link?method_source=”, if the payment was successful, token will be 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?