Sofort
Overview
Introduction
Sofort is a payment method which allows you to process payments in euros using bank accounts and payment cards in several European countries. This method supports purchases. You can also perform refunds via payouts by using Payouts to bank accounts in SEPA as a complementary payment method.
This article provides information about working with the Sofort method: general insights are presented in the Overview section, while information about the actions required to process payments and perform other actions is presented in the sections that follow.
Two technical implementations are currently supported for working with the Sofort method: the new one described in this section and the old one described in the section Sofort (legacy).
Details about the difference between these implementations and how to switch from the old implementation to the new one should be clarified with the ecommpay key account manager.
General information
Payment method type | bank payments |
---|---|
Payment instruments |
|
Countries and regions | AT, BE, DE, CH, ES, NL |
Payment currencies | EUR |
Currency conversion | on ecommpay side |
One-time purchases | + |
Credential-on-file purchases | – |
Full refunds | – |
Partial refunds | – |
Payouts | – |
Chargebacks | – |
Notes |
|
Onboarding and access fee | contact your ecommpay account manager; additional information is available in ecommshop |
Interaction diagram
Payment processing by using the Sofort method involves the merchant's web service, one of ecommpay interfaces, the ecommpay payment platform, and technical facilities of the Sofort service.
Operations support
To perform puchases by using the Sofort payment method you can use Gate and Payment Page interfaces. Keep in mind that amount limits and payment processing times depend on banks, that support purchases by using this payment method.
Processing scenarios
To perform a purchase operation, you need to redirect a customer to the Sofort service. Purchases can be processed in two ways: with payment confirmation procedure and without. This procedure may be useful when processing involves interaction with certain banks because payment processing on the side of the Sofort service and the banks can take up extended time (up to seven days or more) and initial confirmations of payments may subsequently be refuted.
Scenarios for performing operations via the main interfaces of the payment platform correspond to those presented in the diagrams. Similarly, when additional features (such as payment links) are used, scenarios for performing operations also correspond to the specifics of those features.
Payment confirmation procedure
The workflow of processing purchases made with Sofort implies participation of banks, and in certain cases, processing payments on the side of these banks and the Sofort service may take up considerable time (up to seven or more days). As a result, there can be situations when the earlier information about the payment's completion or decline contradicts the final result (for example, following a notification about a declined payment, the funds are credited to the recipient's account, or vice versa).
To ensure timely and correct notification of merchants regarding the status of payments in these cases, the ecommpay payment platform uses a payment confirmation procedure. When you integrate the Sofort payment method, discuss with your account manager the use of this procedure as well as switching of statuses of the payments with the confirmed declines to the reversed
or decline
status (to make monitoring and analysing payments more convenient).
The payment confirmation procedure is performed as follows: after the customer completes all required steps, the payment is processed on the Sofort service side while the customer is redirected to the payment interface where they receive the information about payment processing. The payment confirmation
operation is created on the payment platform side while the payment status is set to awaiting confirmation
until the information about payment confirmation is received from a service provider side and the corresponding payment status callback is sent to the web service.
The payment confirmation
operation can have one of the following final statuses:
success
—when the information about the crediting of funds to the recipient is received from a service provider side. In this case the payment status is set tosuccess
and the final callback containing the payment information is sent to the web service.decline
—when the information regarding the funds not being credited to the recipient is received from a service provider. In this case depending on the project settings, that were configured during integration, the following scenarios are available:- The
reversal
operation is initiated automatically and the payment platform sends the following callbacks successively: an intermediate callback, containing information about the funds not being credited and the final callback, containing the information about the purchase refund and thereversed
payment status. - The payment status is set to
decline
and the final callback with information that purchase was declined is sent from the payment platform to the web service.
- The
When using this procedure, you can also monitor payment statuses in the Dashboard interface.
Using payment confirmation via Payment Page and Gate is described in the corresponding sections of this article. If you have any additional questions regarding this procedure, contact the ecommpay specialists.
Purchases by using Payment Page
General information
To process a purchase through Payment Page by using the Sofort method, the merchant's web service is required to send a request with all required parameters and signature to the ecommpay URL and receive one or more callbacks from the payment platform. The full sequence and special aspects of purchase processing are provided below.
Information about the formats of requests and callbacks used for processing payments by using the Sofort method via Payment Page is presented further in this section; general information about working with the Payment Page API is presented in Interaction concepts.
Request format
There are several things you need to consider when sending purchase requests by using the Sofort method:
- The following parameters required for any payment must be specified:
project_id
—project identifier obtained from ecommpay during integrationpayment_id
—payment identifier unique within the projectpayment_currency
—payment currency code in the ISO-4217 alpha-3 formatpayment_amount
—payment amount in the smallest currency unitcustomer_id
—customer identifier unique within the project
- The following parameters required for any payment must be specified:
project_id
,payment_id
,payment_currency
,payment_amount
,customer_id
. - To open Payment Page, pass the language code in the language_code parameter in the request for opening. For more information, see Interface language support.
- If you need to have the payment form displayed with the Sofort method selected, set the
force_payment_method
parameter tosofort
. - Additionally, any other parameters available for working with Payment Page can be used (details).
- After all target parameters are specified, generate a signature (details).
Thus, a correct request for opening the payment form using the Sofort method must contain the project identifier, basic payment information (identifier, amount, and currency code), customer identifier and signature.
Callback format
The Sofort method uses the standard format for callbacks to deliver purchase results. For more information, see Callbacks.
Useful links
The following articles can be useful when implementing purchases via Payment Page:
- Interaction concepts—about the interaction with the payment platform by using Payment Page.
- Signature generation and verification—about the procedure of generating and verifying signatures in requests and callbacks.
- Payment models and statuses—about the types, processing models, and possible statuses of supported payments and operations.
- One-time one-step purchase—about processing of one-time one-step purchases by using Payment Page.
- Information of operations performing—about error and response codes that are used in the payment platform to record information about performing of operations.
Purchases by using Gate
General information
Depending on processing the payment confirmation procedure, purchase processing by using Gate can involve additional actions. Generally, to perform a purchase by using Gate the merchant web service is required to do the following:
- Send a request with all the required parameters and signature to the ecommpay URL.
- Perform the redirection of a customer to the Sofort service.
- Receive one or more callbacks from the payment platform.
The full sequence and special aspects of purchase processing are provided below.
Information about the formats of requests and callbacks used for processing payments by using the Sofort method via Gate is presented further in this section. General information about working with the Gate API is presented in Interaction concepts.
Request format
There are several things you need to consider when sending purchase requests by using the Sofort method:
- To initiate each purchase, send a separate POST request to the
/v2/payment/online-banking/sofort/sale
endpoint. This endpoint belongs to the group /v2/payment/online-banking/{payment_method}/sale. - Each request must include the following objects and parameters:
- Object
general
—general purchase information:project_id
—project identifier obtained from ecommpay during integrationpayment_id
—payment identifier unique within the projectsignature
—request signature generated after all required parameters are specified (details—in the Signature generation and verification) (details)
- Object
payment
—payment information:amount
—payment amount in the smallest currency unitcurrency
—payment currency code in the ISO-4217 alpha-3 format
- Object
customer
—customer information:id
—customer identifier unique within the projectip_address
—customer IP address relevant for the initiated payment
- Object
- Additionally, any other parameters included in the specification can be used.
Thus, a correct purchase request by using the Sofort method must contain the project identifier, basic payment information (identifier, amount, and currency code), customer identifier and IP address, as well as signature.
Formats of intermediate callbacks for customer redirection
Each payment made with the Sofort method requires redirection of customers from the merchant's web service to the Sofort service. To redirect a customer it is necessary to receive an intermediate callback from the payment platform and use the information included in the redirect_data
object. The format of such callbacks is standard (details), and the following objects and parameters are included in the redirect_data
object:
body
—object with data to be sent in the request bodymethod
—parameter specifying the HTTP method for sending the request (GET
orPOST
)url
—parameter containing a link for redirection
Callback format
The Sofort method uses the standard format for callbacks to deliver purchase results. For more information, see Callbacks.
Useful links
The following articles can be useful when implementing purchases via Gate:
- Interaction concepts—about the interaction with the payment platform by using Gate.
- Signature generation and verification—about the procedure of generating and verifying signatures in requests and callbacks.
- Payment models and statuses—about the types, processing models, and possible statuses of supported payments and operations.
- One-time one-step purchase—about processing of one-time one-step purchases by using Payment Page.
- Information of operations performing—about error and response codes that are used in the payment platform to record information about performing of operations.
Analysis of payments results
To analyse information about payments made with the Sofort method and other methods, you can use:
- Dashboard interface toolkit with various lists and analytic panels.
- Reports in CSV file format, available via the Reports section (one-time and periodically).
- Data in JSON format, sent by program requests to a specified URL available by using the Data API interface.
If you have any questions, refer to the documentation (Dashboard and Using Data API) and ecommpay technical support.