PayEngine - SOFORT
Overview - SOFORT
SOFORT instant bank transfer is a payment method based on the principle of a bank transfer. It is highly popular in Germany and also available in Austria (EUR), Denmark (DKK), Finland (EUR), France (EUR), Italy (EUR), Netherlands (EUR), Belgium (EUR), Norway (NOK), Poland (PLN), Spain (EUR), Sweden (SEK), Switzerland (CHF), United Kingdom (GBP).
In the case of SOFORT instant bank transfer, the authentication does not take place directly between the payer and the bank. Sofort Ltd. acts as the payer towards the bank after it has received the authentication data from it. Sofort instant bank transfer is open to customers regardless of which bank they have their current account in because the customers log into their online banking via the Sofort Ltd. system. Therefore there is no need for an agreement between the bank and Sofort Ltd.
Activation - SOFORT
To activate SOFORT as a payment method and to add it to your PayEngine Merchant Center, you need to complete the onboarding journey .
Please provide our support with the following information:
- CustomerID
- apiKey
- projectID
If you do not yet have a SOFORT business account, you can create one here.
Please create an "SOFORT Gateway Project" in the SOFORT merchant portal.
It is only possible to use SOFORT or SOFORT Collecting in the Payengine. It is not possible to activate both payment methods at the same time.
If an additional Paylink and the payment method SOFORT Collecting is active via PPRO, the payment method SOFORT cannot be activated in the Paylink. SOFORT only works in the Paylink, if it is also activated in the Payengine.
Customer Experience - SOFORT
Customer Flow
Follow the below instructions to use SOFORT instant bank transfer as a direct transfer method:
- Select your country and determine the bank that will complete the transfer.
- Fill in the BIC, BLZ or the name of your bank.
- Log in and confirm your purchase.
- From the login area of the secure payment page, log in with your online banking data.
- The information is encrypted and sent to your bank.
- Enter your TAN for confirmation.
- For security reasons, each TAN can only be used once. The retailer receives a real-time transaction confirmation after the transfer is complete. So they can send stock goods and digital goods immediately - you get your purchases faster.
- You will receive a summary of your transfer or an order confirmation from the online shop. So you have all the information about your purchase together.
Customer Flow in the PayEngine Widget
- Select Sofort.
- Redirect to Sofort.
- Enter bank details.
- Enter Account Number and PIN.
- Select Account and enter TAN.
- The confirmation page is displayed.
Payengine Details - SOFORT
General
Name | Details |
---|---|
Product | SOFORT |
Channels | ECOM |
Currencies | EUR, CHF, DKK, GBP, PLN, NOK, SEK |
Countries | DE, AT, IT, CH, NL, NO, FI, DK, ES, PL, FR, SE, UK, BE |
Technical Flow | Asynchronous |
Recurring | Yes (only via SEPA direct debit payments) |
Chargebacks | Yes |
Resuable Payment Instruments | Yes (only via SEPA direct debit payments) |
Supported Features and Services
Name | Details |
---|---|
Debit | Yes |
Preauthorization | No |
Cancelation | No |
Capture | No |
Refunds | Yes (full and partial) Note: for more information, contact PayEngine support team.
|
Notifications | Yes (webhook and email) |
PayLink Integration | No |
Settlement Reporting | No |
Integration Types
Name | Details |
---|---|
API | Yes |
Widget | Yes |
Bridge | No |
Shop Plugin | Yes |
Integration via Widget - SOFORT
Widget integration for SOFORT Payment Methods follows general rules of widget integration for all payment methods.
For more information, see How to integrate the Payment method via widget.
Integration via API - SOFORT
Technical Flow
Please contact the Payengine integration team to create SOFORT payment configuration and then you can create a SOFORT transaction.
Webhook notifications
As it is not ensured at the time of the redirect to the shop that the payment was 100% successful, the Payengine waits for the final asynchronous notification from the bank before a status is moved from PENDING into SUCCESS or FAILURE.
A merchant should register for the Payengine webhook notifications in order to receive this final status update. A GET on the order or DEBIT transaction would also work, but it is not ensured that the final status will be available immediately after the redirect and a merchant might have to query the GET multiple times. Therefore it is strongly recommended that the asynchronous notifications from the Payengine are used insted.
The notifications could be subscribed:
- via the payengine API (link to API documentation)
- via the Payengine Merchant Center (link to Merchant Center notifications documentation)
The following events are sent when the status of charge is updated:
Event | Description |
---|---|
´debit.success´ | The charge succeeded and the payment is complete. |
Specifications - SOFORT
SOFORT Payment specific request parameters
Parameter | Mandatory/Optional (M/O) | Description | Example |
---|---|---|---|
async.successUrl | M | Redirect URL for successful payment | https://my.shop.com/success |
async.failureUrl | M | Redirect URL for unsuccessful payment | https://my.shop.com/search/fail |
async.cancelUrl | M | Redirect URL when payment is canceled | http://my.shop.com/cancel |
basket | O | Object with basket details | "basket": [ { "name": "USB-Stick", "articleNumber": "SW10029", "totalPrice": 1190, "totalPriceWithTax": 1190, "unitPrice": 1190, "unitPriceWithTax": 1190, "tax": 0, "quantity": 1 } ], |
customer | O | customer ID | customer_ydh6xnyzon |
persona | O | persona ID | persona_16dbwkgcyw |
billingAddress | O | billing address ID | address_gqbly4mw9l |
shippingAddress | O | shipping address ID | address_gqbly4mw9l |
payment | O |
Object with payment details (account holder, bankname, iban, bic) |
"payment": { "accountHolder": "max max" }, |
Debit transaction
POST /orders/debit
SOFORT Debit Request
{ "product": "sofort", "terms": 1468590412476, "privacy": 1468590412476,
SOFORT Debit Response
{ "createdAt": 1556087694198, "modifiedAt": 1556087694568, "merchantId": "merchant_bsigefhjze",
SEPA Refund transaction
Note
To refund a Sofort transaction, the SEPA Payment method must be enabled.
POST /orders/{{orderId}}/transactions/{{transactionId}}/refund
SOFORT Refund Request
{ "description": "description for transaction.", "initialAmount": 500, "currency": "EUR",
SOFORT Refund Response
{ "createdAt": 1556089638531, "modifiedAt": 1556089638531, "type": "REFUND",