Pāriet uz galveno saturu

One-click Open Banking Payments (CIT)

How to integrate One-click Open Banking payments (CIT)

Atjaunināts šonedēļ

One-click Open Banking payments allow customers to save their bank account details during a purchase for faster future checkouts.

  • The customer must be present during the initial payment

  • The merchant must obtain customer consent to store payment details

  • Stored details are tokenized and can be used for future Customer-Initiated Transactions (CIT)

  • Tokenization is only possible if the customer is authenticated (logged in)


Storing Bank Account Details

  • A token is returned only after a successful payment with amount > 0

  • Tokenization depends on whether the selected payment method supports it

  • Customer consent is required before storing account details


1. Check Tokenization Support

Before requesting a token, verify if tokenization is supported:

  • GET /processing_accounts/{account_name}

Check the parameter:

  • payment_methods.tokenization_supported (true / false)


2. Initiate Payment with Token Request

Create a payment:

  • POST /payments/oneoff

Include the following parameters:

  • request_token=true
    Indicates that a token should be generated

  • token_agreement=unscheduled
    Required when requesting a token

Optional parameters:

  • disable_tokenization_filter=true/false
    Controls which payment methods are shown:

    • false (default): only methods supporting tokenization are available

    • true: all methods are shown; if unsupported, payment proceeds without token

  • token_consent_agreed=true/false
    Indicates whether customer consent has already been obtained by the merchant


3. Consent Handling

Hosted Payment Page

  • false or not provided:

    • A “Save my information for faster checkouts” checkbox is displayed

    • Token is returned only if the customer selects it

  • true:

    • Consent is handled on the merchant side

    • Checkbox is not displayed

    • Token is returned after a successful payment

    • Only tokenization-supported methods are shown
      (unless disable_tokenization_filter=true)

Custom Integration

  • false or not provided:

    • Consent is not given

    • All payment method links are returned

    • No token is generated

  • true:

    • Consent is given

    • Only tokenization-supported payment methods are returned
      (unless disable_tokenization_filter=true)

    • Token is generated after successful payment


4. Payment Flow

  • Customer is redirected to:

    • General payment_link (hosted page), or

    • Method-specific payment_link?method_source= (custom integration)

  • Customer completes the payment on the bank side

  • Payment Gateway sends a callback to the merchant’s Callback URL with:

    • payment_reference

  • Check payment status:

    • GET /payments/{payment_reference}

If successful, the response includes:

ob_details: {
token,
debtor_iban
}

Result

  • Bank account details are stored

  • Token can be used for future CIT payments

  • Tokens cannot be used for MIT (Merchant-Initiated Transactions)


1. Initiating a CIT Payment

Create CIT Payment:

  • POST /payments/cit

Complete the Payment:

  • POST /payments/charge

Include:

  • payment_reference (from CIT creation)

  • token (from initial tokenized payment)

Response includes a payment_link for redirection


2. Payment Completion Flow

  • Redirect customer to payment_link

  • Customer confirms payment on the bank side

  • Callback is sent with updated payment_reference

  • Check status:

    • GET /payments/{payment_reference}

  • Customer is redirected back to the merchant with the result


Final Note

Stored bank account tokens:

  • ✅ Can be used for CIT payments

  • ❌ Cannot be used for MIT payments

Vai saņēmāt atbildi uz savu jautājumu?