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:
- Add an item to your cart on your online store.
- Proceed to the checkout page and select Open Banking as the payment method.
- Follow the redirect link in the response to simulate a transaction.
- Complete the transaction and verify that you are redirected to the order confirmation page.
- Log in to Genesis.
- 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:
- Contact your emerchantpay Account Manager for your production login credentials.
- Use your production API credentials and URLs to create payment requests in your live environment.
- Now, you’re ready to accept live payments using Open Banking.