Skip to content

    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

    sofort customer experience

    Customer Flow

    Follow the below instructions to use SOFORT instant bank transfer as a direct transfer method:

    1. Select your country and determine the bank that will complete the transfer.
    2. Fill in the BIC, BLZ or the name of your bank.
    3. Log in and confirm your purchase.
    4. From the login area of the secure payment page, log in with your online banking data.
    5. The information is encrypted and sent to your bank.
    6. Enter your TAN for confirmation.
    7. 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.
    8. 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.
    sofort widget 1
    • Redirect to Sofort.
    sofort widget 2
    • Enter bank details.
    sofort widget 3
    • Enter Account Number and PIN.
    sofort widget 4
    • Select Account and enter TAN.
    sofort widget 5
    • The confirmation page is displayed.
    sofort widget 6

    Payengine Details - SOFORT


    CurrenciesEUR, CHF, DKK, GBP, PLN, NOK, SEK
    CountriesDE, AT, IT, CH, NL, NO, FI, DK, ES, PL, FR, SE, UK, BE
    Technical Flow Asynchronous
    RecurringYes (only via SEPA direct debit payments)
    Resuable Payment InstrumentsYes (only via SEPA direct debit payments)

    Supported Features and Services

    RefundsYes (full and partial)
    Note: for more information, contact PayEngine support team.
    NotificationsYes (webhook and email)
    PayLink IntegrationNo
    Settlement ReportingNo

    Integration Types

    Shop PluginYes

    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:

    The following events are sent when the status of charge is updated:

    ´debit.success´The charge succeeded and the payment is complete.

    Specifications - SOFORT

    SOFORT Payment specific request parameters

    ParameterMandatory/Optional (M/O)DescriptionExample
    async.successUrlMRedirect URL for successful payment
    async.failureUrlMRedirect URL for unsuccessful payment
    async.cancelUrlMRedirect URL when payment is canceled
    basketOObject with basket details "basket": [ { "name": "USB-Stick", "articleNumber": "SW10029", "totalPrice": 1190, "totalPriceWithTax": 1190, "unitPrice": 1190, "unitPriceWithTax": 1190, "tax": 0, "quantity": 1 } ],
    customerOcustomer IDcustomer_ydh6xnyzon
    personaOpersona IDpersona_16dbwkgcyw
    billingAddressObilling address IDaddress_gqbly4mw9l
    shippingAddressOshipping address IDaddress_gqbly4mw9l
    paymentO Object with payment details
    (account holder, bankname, iban, bic)
    { "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


    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",

    Was this helpful?

    What was your feeling about it?