Banking onramp flow API
Banking onramp flow (SEPA or Faster Payments)
In order to integrate the banking payment flow it is required to enable a customer to do the following:
The customer should be able to pass a KYC for larger transactions or a second usage of the system.
The customer should be able to obtain a virtual IBAN/BIC (EUR) or Account Number/Sort Code (GBP) linked to this customer ID.
The customer should be able to retrieve the bank account data to send funds to.
The customer should be able to create an invoice to lock the exchange prices.
Each of the steps is implemented within a separate API endpoint on the XGateway side.
KYC is required only for larger transactions or a second usage of the system and is done by a third-party vendor. XGateway operates as a relayer, doesn't store user data, and only forwards the user information. The API to use is described below. Note that a successful response to this request doesn't mean the KYC is passed. Usually, KYC takes seconds, but for some users, the manual KYC done by a vendor may take hours
Invoice creation is an optional step, that should be done to ensure the best user experience - deposits with locked exchange rates. An invoice can be created using the API.
Please read this page before working with invoices. The invoice creation API uses several parameters that need explanation.
In case a user does a deposit for an amount that differs from the amount in the invoice - XGateway will still account the funds properly and send the call back to the merchant.
Create a bank account and initiate KYC verification
An account should be created and assigned to a customer to send funds using banking payments. When done, all funds sent to this bank account are considered to be deposits in the XGateway system for the linked customer.
To create a customer bank account, initiate the KYC verification process by collecting necessary customer information and documents through the request body. It supports both one-sided and two-sided KYC documents, such as a passport (one-sided) or a driver's license (two-sided). The method validates the provided information, uploads the necessary documents, and finally initiates the KYC verification process.
First, create a bank account associated with the external customer ID.
This data will be needed at the very end of the flow.
If the status of the bank account in the response is PENDING, you should wait for a special Bank Account callback, which will be sent to your system once the bank account is activated. Please follow this page for more details.
Country parameter must follow the "ISO 3166-1 Alpha-2" code format.
Then upload all the necessary data to pass the KYC process.
This request actually triggers the KYC verification.
Upload content as a JPG or PNG image, converted to a base64 string with no metadata. Ensure the file size is under 500 KB. Contact the team if this limitation is too strict for your application.
When the data is uploaded, initiate the KYC process.
If the uploaded data is not correct, the following two APIs can be used to correct the information - either the text items or the files of the documents.
It is possible to retrieve the data about the bank account using this API.
In order to check the status of the KYC process for a specific account use this API.
Creating invoice and enabling a customer to pay
In order to create a fixed rate invoice use this guide.
When an invoice is created, and the KYC is successfully passed, show the customer the banking information received on the first step of this guide as a result of bank account creation. This bank account should be used by the customer to send money to. Every deposit will be followed by a callback from the XGateway to your system.
Last updated