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 generatedtoken_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 availabletrue: 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
falseor 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
(unlessdisable_tokenization_filter=true)
Custom Integration
falseor 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
(unlessdisable_tokenization_filter=true)Token is generated after successful payment
4. Payment Flow
Customer is redirected to:
General
payment_link(hosted page), orMethod-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_linkCustomer confirms payment on the bank side
Callback is sent with updated
payment_referenceCheck 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