Process bank payouts in Europe

Learn how to transfer funds efficiently and securely to your customers in Europe.


You can send funds to customers’ bank accounts in Europe through bank payouts using the emerchantpay Payout API.

Supported countries Austria, Belgium, Bulgaria, Croatia, Republic of Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden, and United Kingdom
Currency BGN, CZK, DKK, EUR, GBP, HUF, NOK, PLN, RON, SEK
Upfront payment No initial pay-in is required.
Payment method Your customers receive funds via a straightforward bank transfer to their bank accounts.
Supported business models B2C

Payout flow

  • Customer involvement: Customers provide their bank account details.
  • Process overview: This flow is suitable for transactions involving standard bank account transfers. emerchantpay uses the Trustly platform to process bank payouts in Europe.
  • Result: Funds are transferred to the specified bank account based on the provided details.


Prerequisites


Initiate a bank payout

To initiate a payout, use the parameters outlined in the table below.

Parameter Required Format Description
transaction_type required string(255) The type of transaction, specifying bank_payout.
transaction_id required string(255) A unique identifier for the transaction defined by you.
remote_ip required IPv4 or IPv6 address The IPv4 or IPv6 address of the customer.
amount required integer > 0 The amount (in minor currency units) that transfers to your bank account or debit card. See Currency and Amount Handling for more details.
currency required string(3) The three-letter currency code following ISO 4217 standards associated with the transaction.
notification_url required URL The URL for receiving the transaction outcome from the gateway.
return_failure_url required URL The URL to which the customer is directed after an unsuccessful payment.
return_success_url required URL The URL to which the customer is directed after a successful payment.
bank_name required string(255) The name of the bank where the customer holds their account.
bank_account_number required string(255) The unique numerical code associated with the customer’s bank account.
customer_email required e-mail address A valid email address of the customer.
account_id required string(11) A unique identifier assigned by Trustly, serving to distinguish individual customers within Trustly’s system.
user_id required string(11) A unique identifier assigned by you, utilised to identify customers within your system.
birth_date required string(10) The date of birth of the customer, specified in the format DD-MM-YYYY.
billing_address required object A group of parameters describing the billing address provided by the customer.
first_name required string(255) The first name of the customer.
last_name required string(255) The last name of the customer.
address1 optional string(255) The primary address associated with the transaction. This parameter is part of the billing_address object.
address2 optional string(255) The secondary address associated with the transaction. This parameter is part of the billing_address object.
zip_code optional string The ZIP code associated with the transaction. This parameter is part of the billing_address object.
city required string(255) The name of the city in the address information associated with the transaction.
state optional string(2) The state code following ISO 3166-2 standards. This parameter is part of the billing_address object.
country required string(2) The two-letter country code following ISO 3166 standards associated with the transaction.

See the example API request below:

<payment_transaction>
  <transaction_type>bank_payout</transaction_type>
  <transaction_id>20311362</transaction_id>
  <remote_ip>78.142.46.254</remote_ip>
  <amount>36200</amount>
  <currency>EUR</currency>
  <notification_url>https://example.com/notifications</notification_url>
  <return_success_url>https://example.com/succes</return_success_url>
  <return_failure_url>https://example.com/failure</return_failure_url>
  <bank_name>Metropolitan Commercial Bank</bank_name>
  <bank_account_number/>
  <customer_email>test@example.com</customer_email>
  <account_id>4164479374</account_id>
  <user_id>0000382435</user_id>
  <birth_date>16-01-1972</birth_date>
  <billing_address>
    <first_name>Max</first_name>
    <last_name>Mustermann </last_name>
    <address1>Muster Str. 12</address1>
    <address2/>
    <zip_code>10178</zip_code>
    <city>Berlin</city>
    <country>DE</country>
  </billing_address>
</payment_transaction>

Once you have prepared your request with the necessary parameters, you can proceed with the bank payout call to initiate the fund transfer to your customer’s bank account.

After initiating the bank payout, the process will be completed instantly with either an approved or declined status. Note that while a payout can initially be approved, the final status could change to declined. You will receive notifications promptly for every change in status.

See the example API response below:

<payment_response>
<transaction_type>bank_payout</transaction_type>
<status>approved</status>
<unique_id>a25184b69aea21bf268779cf32852417</unique_id>
<transaction_id>20311362</transaction_id>
<technical_message>TESTMODE: No real money will be transferred!</technical_message>
<message>TESTMODE: No real money will be transferred!</message>
<mode>test</mode>
<timestamp>2024-02-14T14:21:47Z</timestamp>
<descriptor>Shoes_Direct_Test</descriptor>
<amount>36200</amount>
<currency>EUR</currency>
</payment_response>