# Payouts to bank accounts in SEPA {#pm_bankpayout_sepa} **Parent topic:**[Bank payments](en_pm_bankpayments.md) ## Overview {#en_pm_bankpayout_sepa_overview} An article about the payment method which allows you to process payments in euros by using bank accounts in SEPA countries and supports payouts. ### Introduction {#section_t5z_rlg_ytb .section} Payouts to bank accounts in SEPA is a payment method which allows you to process payments in euros by using bank accounts in SEPA countries.This method supports payouts. You can also perform purchases by using the Open Banking complementary payment methods. This article provides information about working with the Payouts to bank accounts in SEPA 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. ### General information {#section_tbf_2zk_ggb .section} |Payment method type|bank payments| |Payment instruments|bank accounts| |Countries and regions|[AD](references/en/countries/AD.md), [AT](references/en/countries/AT.md), [BE](references/en/countries/BE.md), [BG](references/en/countries/BG.md), [HR](references/en/countries/HR.md), [CY](references/en/countries/CY.md), [CZ](references/en/countries/CZ.md), [DK](references/en/countries/DK.md), [EE](references/en/countries/EE.md), [FI](references/en/countries/FI.md), [FR](references/en/countries/FR.md), [DE](references/en/countries/DE.md), [GR](references/en/countries/GR.md), [HU](references/en/countries/HU.md), [IS](references/en/countries/IS.md), [IE](references/en/countries/IE.md), [IT](references/en/countries/IT.md), [LV](references/en/countries/LV.md), [LI](references/en/countries/LI.md), [LT](references/en/countries/LT.md), [LU](references/en/countries/LU.md), [MT](references/en/countries/MT.md), [MC](references/en/countries/MC.md), [NL](references/en/countries/NL.md), [NO](references/en/countries/NO.md), [PL](references/en/countries/PL.md), [PT](references/en/countries/PT.md), [RO](references/en/countries/RO.md), [SM](references/en/countries/SM.md), [SK](references/en/countries/SK.md), [SI](references/en/countries/SI.md), [ES](references/en/countries/ES.md), [SE](references/en/countries/SE.md), [CH](references/en/countries/CH.md), [GB](references/en/countries/GB.md), [VA](references/en/countries/VA.md)| |Payment currencies|[EUR](references/en/currencies/EUR.md)| |Currency conversion|–| |One-time purchases|–| |Credential-on-file purchases|–| |Full refunds|–| |Partial refunds|–| |Payouts|+| |Chargebacks|–| |Special considerations|- this method can be used in all SEPA countries as well as in individual ones, refer to your Ecommpay key account manager for more information - using this method requires applying the [Verification of Payee](en_verification_of_payee.md#) procedure - performing purchases is possible with the use of the complementary [Open Banking](pm_openbanking.md#) payment methods | |Obtaining access to the payment method and access fee|refer to your Ecommpay key account manager| ### Interaction diagram {#section_tsp_gzk_ggb .section} Payment processing by using the Payouts to bank accounts in SEPA method involves the merchant's web service, one of Ecommpay interfaces, the Ecommpay payment platform, and technical facilities of the provider service. ![](images/pm/eng_bankpayout_sepa_functional.svg) ### Operations support {#section_rnx_4cl_ggb .section} Various platform interfaces can be used to process payments and perform operations using the Payouts to bank accounts in SEPA method. Payouts can be processed by using Gate and Dashboard. At the same time, regardless of the interfaces used, the following properties and limitations are applicable. | |Amounts, [EUR](references/en/currencies/EUR.md)¹|Times²| |minimum|maximum|basic|threshold| |--|------------------------------------------------|------| |-------|-------|-----|---------| |Payouts|\*|\*|\*|\*| **Note:** 1. Amount limits and processing times depend on banks. 2. The base and threshold times are defined as follows: - *The base time* is the average estimated time between the moment a payment is initiated in the payment platform to the moment the payment result is sent to the web service. The base time evaluation is made on the assumption of normal operation of all technical facilities and communication channels and typical customer behaviour. Use the base time to estimate when to react to the absence of payment result callbacks or when to check payment status \([details](en_Gate_payment_status_request.md#)\). - *The threshold time* is the maximum possible time between the moment a payment is initiated in the payment platform to the moment the web service receives the callback with the payment result. A payment is automatically assigned the `decline` status if it wasn't processed within the threshold time. For individual customisation of the threshold time limit, contact Ecommpay technical support. ### Processing scenarios {#section_fgt_sdl_ggb .section} To process a payout by using the Payouts to bank accounts in SEPA method, you need to notify the customer via the web service. ![](images/pm/eng_bankpayout_sepa_interfaces_gate_payout.svg "Payout by using Gate") ## Payouts by using Gate {#en_pm_bankpayout_sepa_gate_payout} ### General information {#section_lsx_3jl_ggb .section} To process a payout through Gateby using the Payouts to bank accounts in SEPA method, send a request with all required parameters and signature to the Ecommpay URL and receive a callback with the result.The full sequence and special aspects of payout processing are provided below. ![](images/pm/eng_bankpayout_sepa_uml_gate_payout.svg) 1. A customer initiates a payout by using the Payouts to bank accounts in SEPA method in the web service. 2. The web service sends the request for processing the payout by using Gate to the specified Ecommpay URL. 3. The payment platform receives the request. 4. The payment platform validates the required parameters and signature in the request. 5. The payment platform sends the response to the web service with information about the receipt of the request and its validity \([details](en_gate_interaction_organisation.md#)\). 6. The payment platform performs further processing of the request \(with parameter consistency check\) and sends it to the provider service. 7. The payout is processed on the side of the provider service. 8. The provider service sends the result notification to the payment platform. 9. The payment platform sends the result callback to the web service. 10. The customer receives the payout result information from the web service. Information about the formats of requests and callbacks used for processing payouts by using the Payouts to bank accounts in SEPA method via Gate is presented further in this section. General information about working with the Gate API is presented in [Interaction concepts](en_gate_interaction_organisation.md#). ### Request format {#section_osx_3jl_ggb .section} There are several things you need to consider when sending payout requests by using the Payouts to bank accounts in SEPA method: 1. To initiate each payout send a separate POST request to the `/v2/payment/bank-transfer/world/payout` endpoint. This endpoint belongs to the group [/v2/payment/bank-transfer/\{payment\_method\}/payout](https://api-developers.ecommpay.com/api-specification/bank-transfer/post-v2-payment-bank-transfer-payment-method-payout). 2. Each request must include the following objects and parameters: - Object `general`—general payout information: - `project_id`—project identifierobtained from Ecommpay during integration - `payment_id`—payment identifierunique within the project - `signature`—request signaturegenerated after all required parameters are specified \(details—in the [Signature generation and verification](en_platform_signature.md#)\) - Object `payment`—payment information: - `amount`—payout amount in the smallest currency unit - `currency`—payout currency codein the ISO-4217 alpha-3 format - `description`—payout description - Object `customer`—recipient information: - `id`—recipient identifierunique within the project - `ip_address`—recipient IP addressrelevant for the initiated payout - `first_name`—full name of the recipient or name of the company - Object `account`—recipient account information: - `number`—recipient bank account number \(IBAN\) 3. When processing the Verification of Payee results on the web service side\([details](en_verification_of_payee.md#)\) it is required to specify the identifier of the applicable verification in the `id` parameter of the `vop` object. 4. Additionally, any other parameters included in the specification can be used. Thus, a correct payout request by using the Payouts to bank accounts in SEPA method must contain the project identifier, basic payment information \(identifier, amount, and currency code\), payment description, recipient identifier, IP address and name, Verification of Payee identifier \(if required\), as well as account number and signature. ``` {#codeblock_l32_psg_w3c .language-json} { "general": { "project_id": 3027, "payment_id": "payout1", "signature": "M1vT4q9XAaq7/Jkn+aJmGA4jH6bgBOp8DTf8d/XdoV+vd7Q==" }, "customer": { "id": "customer1", "ip_address": "192.0.2.0", "first_name": "John Doe" }, "account": { "number": "FI1410093000123458" }, "payment": { "amount": 10000, "currency": "EUR", "description": "test payout" }, "vop": { "id": 12345 } ``` ``` {#codeblock_opg_psg_w3c .language-json} { "general": { "project_id": 3027, "payment_id": "payout1", "signature": "M1vT4q9XAaq7/Jkn+aJmGA4jH6bgBOp8DTf8d/XdoV+vd7Q==" }, "customer": { "id": "customer1", "ip_address": "192.0.2.0", "first_name": "John Doe" }, "account": { "number": "FI1410093000123458" }, "payment": { "amount": 10000, "currency": "EUR", "description": "test payout" }, "vop": { "id": 12345 } ``` ### Callback format {#section_wsx_3jl_ggb .section} The Payouts to bank accounts in SEPA method uses the standard format for callbacks to deliver payout results. For more information, see [Handling callbacks](en_platform_callbacks.md#). The following is the example of a callback with information about a `211.00 EUR` payout made in the `4990` project. ```language-json { "project_id": 4990, "payment": { "id": "53923_33600681", "type": "payout", "status": "success", "date": "2021-02-22T13:39:45+0000", "method": "world", "sum": { "amount": 21100, "currency": "EUR" }, "description": "test description" }, "account": { "number": "123456" }, "customer": { "id": "customer1" }, "operation": { "id": 6325000000075, "type": "payout", "status": "success", "date": "2021-02-22T13:39:45+0000", "created_date": "2021-02-22T13:39:23+0000", "request_id": "9a9c4985044f5927dae77daac4b8e488b2-00006326", "sum_initial": { "amount": 21100, "currency": "EUR" }, "sum_converted": { "amount": 21100, "currency": "EUR" }, "code": "0", "message": "Success", "provider": { "id": 2945, "payment_id": "j29vEXRSAd", "auth_code": "" } }, "signature": "7bxR3Ssoemv3o5mpabmg529+/NkpdYPLMN1sBw==" } ``` The following is the example of a callback with information about a declined payout. ```language-json { "project_id": 4990, "payment": { "id": "21571027", "type": "payout", "status": "decline", "date": "2021-02-22T13:30:44+0000", "method": "world", "sum": { "amount": 30400, "currency": "EUR" }, "description": "test description" }, "account": { "number": "1234567" }, "customer": { "id": "customer2" }, "operation": { "id": 9698000000069, "type": "payout", "status": "decline", "date": "2021-02-22T13:30:44+0000", "created_date": "2021-02-22T13:30:23+0000", "request_id": "3c6027f04491e63df2d67f755e3b45f64-00009699", "sum_initial": { "amount": 30400, "currency": "EUR" }, "sum_converted": { "amount": 30400, "currency": "EUR" }, "code": "20000", "message": "General decline", "provider": { "id": 2945, "payment_id": "j29KmZH29J", "auth_code": "" } }, "signature": "KTCGrXiG/cQzANBw2s730kE6toB+EDa619tqB9qQeg==" } ``` ### Useful links {#section_xsx_3jl_ggb .section} The following articles can be useful when implementing payouts via Gate: - [Interaction concepts](en_gate_interaction_organisation.md#)—about the interaction with the payment platform by using Gate. - [Signature generation and verification](en_platform_signature.md#)—about the procedure of generating and verifying signatures in requests and callbacks. - [Payment processing](en_platform_payment_model.md)—about the types, processing models, and possible statuses of supported payments and operations. - [Payouts](en_Gate_payout.md)—about processing of payouts by using Gate. - [Handling operation processing information](en_platform_payment_info_codes.md)—about error and response codes that are used in the payment platform to record information about performing of operations. ## Payouts by using Dashboard {#en_pm_dash_payout} When working with Dashboard, you can process *single* and *mass* payoutsby using the Payouts to bank accounts in SEPA method. - To process a single payout, open the payout form, specify all required parameters \(including the payment method\), send a request and verify that the payout has been processed. - To process a mass payout, prepare and upload a file with information about all target payouts, send a batch request, and verify that the payouts have been processed. Use a CSV file structured according to the requirements presented in the [Mass payments data](en_dbl_payments.md#) section.The payout parameters must comply with the [requirements](pm_bankpayout_sepa.md#) \(you do not have to generate a signature because it is specified by Dashboard\). More information about processing payouts by using Dashboard is presented in a [separate section](en_dbl_payments.md#). ## Analysis of payments results {#en_pm_bankpayout_sepa_dash_analysis} To analyse information about payments made with the Payouts to bank accounts in SEPA method and other methods, you can use: - Dashboardinterface toolkitwith 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 by using the Data API interface. If you have any questions, refer to the documentation \([Dashboard](en_dbl_about.md) and [Using Data API](en_dbl_api_protocol.md)\) and Ecommpay technical support.