Sofort | Direct Bank Transfer
Learn how to accept direct bank transfer payments
Sofort, also known as Pay now with Klarna, is a popular online banking method in Germany, Austria, and Switzerland, and Belgium.
In order to pay with Sofort, customers are redirected to Sofort’s site where they enter their bank login credentials. Upon authentication, Sofort initiates a bank transfer from their bank account.
Although successful authorization indicates a very high likelihood of payment, funds are not guaranteed to your business until they are actually received, which is typically two business days later (but can be up to 14 days later). Once received, payments cannot be reversed except by business-initiated refunds.
|Payment type||Online banking|
|Market||Austria, Belgium, France, Germany, Italy, Netherlands, Poland, Spain, Sweden, Switzerland|
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:
- For sofortüberweisung transactions, we don’t need
- The redirect URL is provided in redirect_url, instead of
url_3ds(used in step 2 and step 3)
- Only Preauthorize interface should be used for sending transactions.
- Merchant would be notified on the notification URL about the accepted, success and the failed transaction, capture may remain in the accepted state until
not_creditednotification has been received from the
- 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 - 17.
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_return: redirect URL after transaction completion
url_success: Success transaction URL
url_failed: Failed transaction URL
You can see a full list of parameters in Pre-Authorization.
SofortÜberweisung 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, notification URL is the URL that was provided when the merchant account was created.
Sofort does not support iFrame, full page redirect needs to be done.
Step 2. Handle the redirect
To complete the payment, you need to redirect the customer to the correct URL in the response.
Notification example - Accepted Notification
Notification example - Successful Notification
Additional Customer details can be added to both callbacks. Please contact Tech support to enable them:
- bank_country (alpha2 format)
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_urlshould be provided by you to payabl. technical team.
Notification example with additional account parameters.
"bank_number=70440&account_number=LTXXXXXXXXXXXXXX4024&payment_state=credited&bank_name=SEB& errormessage=&type=capture&transactionid=116033311&account_holder=muster+mann& bank_country=LITHUANIA×tamp=1605788760& security=19667fb6d9d2f3c8457e29d949f72319a9986b88b0be47050d9fc49f746d279b&orderid=6eebd443fb407e3f35f0&errorcode=0" "https://www.notification_url"
Updated 4 months ago