Open banking payments

Accept open banking payments in your online store.

Open Banking allows customers to share financial data securely with authorised third-party providers through APIs. This lets customers access additional services and make payments directly through these providers. With the emerchantpay API, you can easily integrate Open Banking payments into your online store.

Payment Method Countries/Regions Supported Currencies Supported
Open Banking United Kingdom, Ireland, Germany, France, Belgium, Finland, Italy, Spain, Sweden (beta) GBP, EUR


Prerequisites

Before you begin, ensure the following:

  • You have an emerchantpay merchant account. If not, apply for one here.
  • An emerchantpay Account Manager has provided your API credentials and support.
  • Your development team is familiar with:
    • Web programming languages.
    • HTTP methods in XML and JSON formats.
    • UTF8 encoding.
  • For simpler integration, you can use the emerchantpay Web Payment Form (WPF). Contact your Account Manager to set up Open Banking payments via WPF and refer to the WPF API.


Create a payment request

To initiate an Open Banking payment, submit a payment request to the emerchantpay Genesis payment gateway with the following parameters:

  • transaction_type = online_banking
  • bank_code = TRL

Here’s an example of an XML request for an Open Banking transaction:

<payment_transaction>
   <transaction_type>online_banking</transaction_type>
   <bank_code>TRL</bank_code>
   <transaction_id>53b68204ec3817629bd1ab56ac4ed378</transaction_id>
   <usage>Online purchase</usage>
   <remote_ip>245.253.2.12</remote_ip>
   <amount>100</amount>
   <currency>GBP</currency>
   <notification_url>https://webhook.site/41269956-1754-4c55-ada2-0c2d9f75e830</notification_url>
   <return_success_url>http://example.com/success</return_success_url>
   <return_failure_url>http://example.com/failure</return_failure_url>
   <return_pending_url>https://example.com</return_pending_url>
   <billing_address>
      <first_name>John</first_name>
      <last_name>Doe</last_name>
      <address1>15 Main Str</address1>
      <zip_code>EC2A 3JL</zip_code>
      <city>London</city>
      <country>GB</country>
   </billing_address>
   <customer_email>john.doe@example.com</customer_email>
</payment_transaction>

Use your staging environment credentials to test your integration before moving to production.


Receive a payment response

After submitting the request, you will receive a Success or Error response.

Example of a Success response:


<payment_response>
   <transaction_type>online_banking</transaction_type>
   <status>pending_async</status>
   <unique_id>44177a21403427eb96664a6d7e5d5d48</unique_id>
   <transaction_id>53b68204ec3817629bd1ab56ac4ed378</transaction_id>
   <technical_message>TESTMODE: No real money will be transferred!</technical_message>
   <message>TESTMODE: No real money will be transferred!</message>
   <redirect_url>https://staging.gate.emerchantpay.net/redirect/to_acquirer/44177a21403427eb96664a6d7e5d5d48</redirect_url>
   <mode>test</mode>
   <timestamp>2025-01-08T15:01:04Z</timestamp>
   <descriptor>Descriptor1</descriptor>
   <amount>100</amount>
   <currency>GBP</currency>
   <sent_to_acquirer>true</sent_to_acquirer>
   <bank_code>TRL</bank_code>
   <payment_type>online_banking</payment_type>
</payment_response>

Use the returned redirect_url to redirect your customer to their bank for authorisation.


Handle asynchronous notification

Open Banking payments are processed asynchronously. After the payment is authorised, the gateway sends the transaction result via HTTP POST to the notification_url you provided.

Example of a notification for Open Banking:

{
  “transaction_id”: “53b68204ec3817629bd1ab56ac4ed378”,
  “terminal_token”: “a5cb8b6a6da3ecbea4dac21670e7bc3ae0ae2815”,
  “unique_id”: “44177a21403427eb96664a6d7e5d5d48”,
  “transaction_type”: “online_banking”,
  “status”: “approved”,
  “signature”: “3bbdb69c48739a41eabf7acb6d95d23a1135d558”,
  “amount”: “100”,
  }

To verify the authenticity of the notification, validate the signature field using the Genesis gateway’s signature verification process.


Test your integration

Before going live, test your integration in the staging environment:

  1. Add an item to your cart on your online store.
  2. Proceed to the checkout page and select Open Banking as the payment method.
  3. Follow the redirect link in the response to simulate a transaction.
  4. Complete the transaction and verify that you are redirected to the order confirmation page.
  5. Log in to Genesis.
  6. In the navigation menu, go to Payment transactions and confirm that the transaction status is successful.


Accept live payments

After testing your Open Banking integration, you’re ready to move to the production environment. To start accepting live payments:

  1. Contact your emerchantpay Account Manager for your production login credentials.
  2. Use your production API credentials and URLs to create payment requests in your live environment.
  3. Now, you’re ready to accept live payments using Open Banking.


Troubleshooting and FAQs

The customer’s payment will not be authorised. Ensure your integration correctly handles redirect failures by notifying the customer and offering alternative payment methods.

Use the signature field in the notification to validate the authenticity of the message.

Any business that wants to offer a simple payment experience can benefit from bank transfer payments and account top-ups. This includes industries such as eCommerce, travel, financial services, gaming, gambling, and more.

  • Increased checkout conversions – Customers don’t need to enter card details or bank account details which improves their checkout experience.
  • Higher acceptance rates – Payments via Open Banking succeed 95% of the time. Payment information is auto-populated within the banking environment, mitigating errors caused by manual entry.
  • Minimised fraud – Customers verify transactions right in their online banking apps. This means that strong customer authentication is built into the transaction process. Similarly to card payments, it also utilises APIs as an additional defence against fraudsters, which encrypts and securely submits payment data. The combination of both these measures means Open Banking provides a highly secure way for customers to pay for goods and services.
  • No chargebacks – As Open Banking facilitates real-time bank transfers, it essentially mitigates any risk of a chargeback and prevents any additional chargeback-related fees occurring.
  • Allowing instant bank transfers – Where available, Open Banking uses real-time payment rails to support instant bank transfers.
  • Faster refunds and payouts – The real-time nature of Open Banking means that your customers can benefit from instant refunds and payouts. This not only improves their payment experience but also simplifies the process for reversal transactions for you.

  • Manual bank transfer involves a customer logging in to their bank account and manually transferring funds to a business or individual by manually entering in the payee and their payment details.
  • Real-time bank transfers remove the need to enter in any payment details manually. Customers must select ‘Bank transfer’ on your payment page, click their bank and then they’ll be redirected to their banking platform to authorise the payment.