Instant Bank Transfer

Learn how to accept open banking payments

Open banking is also known as "open bank data." Open banking is a banking practice that provides third-party financial service providers open access to consumer banking, transaction, and other financial data from banks and non-bank financial institutions through the use of application programming interfaces (APIs).
You can now accept SEPA bank transfers from European banks from your customer using our new OpenBanking PIS API.


  • Lower transaction fees

  • Accessible to customers who do not have a credit card/debit card

  • No Chargebacks as payment is initiated by customer and complies with PSD2 SCA

  • No instant final confirmation of funds, sometimes final confirmation can take 3-4 days

  • Payment guarantee only after final confirmation notification

Payment typeBank transfer
MarketAustria, Belgium, Germany, Estonia, Spain, France, Hungary, Italy, Latvia, Lithuania, Luxembourg, Netherlands, Poland, Portugal
Customer currenciesEUR, GBP
Processing currenciesEUR, GBP
Settlement currenciesEUR, GBP

Your customer based on the country you send in the request is presented with a list of the supported banks. Once the bank is selected, the customer is redirected to log in to their Online Banking system.

The customer then complying with PSD2 SCA authorizes a SEPA bank transfer to our bank account.

Customer flow

The customer needs to select the country and the bank he plans to use.


payabl. open banking widget

After the user will see payment information that he needs to confirm


Transaction details

The widget will display the status of the transaction.


Transaction successful

Step 1. Make a transaction request

From your server, make a POST /payment_preauthorize request.


The process flow of this payment system is the same as the 3DSecure transaction procedure. Please note the following exceptions:

  1. For open banking transactions, we don’t need param_3d parameter.
  2. The redirect URL is provided in redirect_url, instead of url_3ds (used in step 2 and step 3)
  3. Only Pre-Authorization interface should be used for sending transactions.
  4. Merchant would be notified on the notification URL about the accepted, success and the failed transaction, capture may remain in the accepted state until credited or not_credited notification has been received from the
  5. Please pay special attention to the following pre-authorization interface parameters:
  • merchantid: The merchant identification number.
  • orderid: The field orderid is optional and exclusively for the merchant's convenience.
  • amount: The amount field contains the transaction’s total amount. This is the amount that will be transmitted to the authorizing system.
  • currency: The currency field contains the alphanumeric currency code for the transaction, according to ISO 4217, e.g. EUR.
  • payment_method: The payment method id - 123.
  • signature: The signature field contains a 40-figure hexadecimal value. This signature value is a checksum designed to protect the merchant account from unauthorized access.
  • url_success: Success transaction URL
  • url_failed: Failed transaction URL
    You can see a full list of parameters in Pre-Authorization.

Request example


You receive a response from payabl.

Response example


Step 2. Handle the redirect

To complete the payment, you need to redirect the customer to the correct URL in the response.



When the customer finished or canceled the payment, he will be redirected back to url_return, provided by you in the initial request to payment_preauthorize. After that, you will receive a notification, posted to notification_url, with the final transaction status, which you suppose to use to update your system.

Notification URL can be configured by our tech support team in your account on our side,
or you can send it as a parameter notification_url in the initial request to payment_preauthorize.

Notification example

errormessage=&errorcode=0&orderid=743222831" "https://www.notification_url"


url_return and notification_url should be provided by you to payabl. technical team.

payabl. contains an additional notification parameter which is payment_state, which could contain the following values:

  • not_credited_yet: Capture - Accepted.
  • credited: Capture - Successful.
  • not_credited: Capture - Failed.
    Each state change would trigger a notification to the notification URL. The notification URL is the URL that was provided when the merchant account was created.

Final transaction status update

You will receive a notification from payabl. regarding the status update of the transaction. If payabl. received funds from the issuer for the transaction you will get the following notification:

Notification example


In case 10 days pass and payable. didn't receive any funds from an issuer, the transaction will be failed automatically. You will receive a notification update.