SEPA

Overview

SEPA is a payment method that allows you to perform payouts to customers by bank transferring. Payouts through this method are available by using Gate.

General information

Payment method type Bank transferring
Countries and regions Single Euro Payments Area (SEPA)
Payment currencies EUR
Currency conversion
Purchases
Payouts +
Stored credentials payments
Full refunds
Partial refunds
Chargebacks
Notes
Onboarding and access fee Refer to your key account manager ECommPay

Interaction diagram

Payment processing by using the SEPA payment method requires merchant's web service, Gate and the ECommPay payment platform, as well as SEPA technical facilities that provides interaction with banking services.



Operations support

  Interfaces Amounts
Payment Page CMS Plug-ins Gate Dashboard minimum maximum
Payouts +

Processing scenarios

In the SEPA method, to perform a payout, you need to notify customer via merchant's web service.

Figure: Payout by using Gate procedure



The sections that follow provide detailed information about what you need to perform payments and how you can analyse the information on payments and operations.

Payouts by using Gate

General information

To perform a payout through the SEPA method, merchant's web service sends a request with all the required parameters and signature to ECommPay URL, and receives a callback with the payment result. The full sequence of the payout process is provided below.



Figure: Payout by using Gate

  1. The customer requests a payout.
  2. Merchant's web service sends the request for the payout processing by using Gate to the appropriate ECommPay URL.
  3. Gate redirects the request to the ECommPay payment platform.
  4. The payment platform performs all the necessary checks and processes the request.
  5. The reply with the request processing results is sent to the merchant's web service. For more information, see Response format.
  6. The payment platform redirects the payout request to the SEPA service.
  7. The payout is processed on the SEPA side.
  8. SEPA sends the result notification to the payment platform.
  9. The payment platform sends a callback with the payment result to the web service.
  10. The customer receives the notification about the payout result from the web service.

The sections that follow discuss in more details the request format and the Gate parameters to use in the SEPA payment method and provide the information on the format of callbacks with payout results.

Request format

There are several things you must consider when using payout requests in the SEPA method:
  1. You send payout requests by sending the /v2/payment/bank-transfer/sepa/payout request by using HTTP method POST. This request refers to the bank transferring requests group: /v2/payment/bank-transfer/{payment_method}/payout.
  2. The following objects and parameters must be specified in any request:
    • Object general—general payout information:
      • project_id—project identifier
      • payment_id—unique payout identifier
      • signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification
    • Object customer—customer information:
      • id—identifier
      • ip_address—customer IP address
    • Object account—customer account information:
      • customer_name—company name or first and last name of the customer. To avoid errors during payment processing it is recommended to specify no less than 2 words (separated by a space), one of which must contain at least 3 characters. Recommended value length—from 4 to 99 characters (excluding the space)
      • number—customer bank account number (IBAN)
      • bank_code—bank identifier (BIC)
    • Object payment—payout information:
      • amount—payout amount
      • currency—payout currency in the ISO-4217 alpha-3 format.
  3. The currency of payout can only be EUR.
  4. If required, you can also add any other additional parameters Gate supports.

Thus, a correct payment request in the SEPA method must include project and payment IDs, account number (for crediting), customer IP address, currency and amount of the payout, as shown in the following example:

Figure: Example of a payout request

 {
  "general": {
    "project_id": 3027,
    "payment_id": "payout1",
    "signature": "M1vT4q9c8hA8xCjEwGFSANI+9XAaq7/Jkn+aJmGA4jH6bgBOp8DTf8d/XdoV+vd7Q=="
  },
   "customer": {
     "id": "customer1",
     "first_name": "John",
     "last_name": "Johnson",
     "ip": 1.2.3.4
  },
   "account": {
     "number": "1020304010",
     "bank_code": 123456789
  },
   "payment": {
     "amount": 10000,
     "currency": "EUR"
  }

Callback format

The SEPA method uses the standard format for callbacks to deliver payout results. For more information, see Callbacks.

The following is the example of a callback with an information about successful 100,00 EUR payout made to the customer1 customer account in the 198 project.

Figure: Example of a successful payout callback

 {
        "project_id": 198,
        "payment": {
            "id": "TEST_Bank_Transfer_payout_22",
            "type": "payout",
            "status": "success",
            "date": "2018-12-17T12:20:28+0000",
            "method": "sepa",
            "sum": {
                "amount": 10000,
                "currency": "EUR"
            },
            "description": ""
        },
        "customer": {
            "id": "customer1"
        },
        "operation": {
            "id": 43330002327,
            "type": "payout",
            "status": "success",
            "date": "2018-12-17T12:20:28+0000",
            "created_date": "2018-12-17T09:20:21+0000",
            "request_id": "1c0245047e320b5b620968b30438",
            "sum_initial": {
                "amount": 10000,
                "currency": "EUR"
            },
            "sum_converted": {
                "amount": 10000,
                "currency": "EUR"
            },
            "provider": {
                "id": 1209,
                "payment_id": "15",
                "date": "2018-12-17T12:00:07+0000",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "IAdrkvKevFqnjTH50B7bZP8ZPOdPrchCRlnyGEy8OqjwNnmbcWeTtQ9jO74/bvz2g=="
    }

The following is the example of a callback for a payout declined due to insufficient funds on merchant balance.

Figure: Example of a declined payout callback

 {
        "project_id": 198,
        "payment": {
            "id": "TEST_Bank_Transfer_payout_22",
            "type": "payout",
            "status": "decline",
            "date": "2018-12-17T12:20:28+0000",
            "method": "sepa",
            "sum": {
                "amount": 100000,
                "currency": "EUR"
            },
            "description": ""
        },
        "customer": {
            "id": "customer1"
        },
        "operation": {
            "id": 43330002327,
            "type": "payout",
            "status": "decline",
            "date": "2018-12-17T12:20:28+0000",
            "created_date": "2018-12-17T09:20:21+0000",
            "request_id": "1c0245047e320b5b620968b30438",
            "sum_initial": {
                "amount": 100000,
                "currency": "EUR"
            },
            "sum_converted": {
                "amount": 100000,
                "currency": "EUR"
            },
            "provider": {
                "id": 1209,
                "payment_id": "15",
                "date": "2018-12-17T12:00:07+0000",
                "auth_code": ""
            },
             "code": "3028",
            "message": "Insufficient funds on merchant balance"
        },
        "signature": "IAdrkvKevFqnjTH50B7bZP8ZPOdPrchCRlnyGEy8OqjwNnmbcWeTtQ9jO74/bvz2g=="
    }

Related topics

The following topics might be useful when implementing payments through Gate:

Analysis of payments results

As with other payment methods ECommPay offers, when using the SEPA method, you have several options to analyse the information about payments and operations performed by using the method—alone or in conjunction with other methods.

You can load and analyse all the necessary information in Dashboard, for instance you can use the analytic panels on the Analytics tab to this end.

Also, you can export the information for further analysis by using third party analytical tools. The following options are available:

  • Dashboard allows you to download reports in CSV and XLS formats—by using the tools on the Payments tab. You can perform export as a one-time download to your local computer or have payment data regularly exported and delivered to email addresses you specify.
  • Data API allows you to have payment information exported in JSON format and delivered to a URL you specify. The payment information is exported by using the /operations/get queries.

If you have any further questions regarding payment data analysis, contact ECommPay technical support.