GBP Bank Account Integration Process
Currently, on the Leatherback Platform, This payment method is only supported in GBP Currency. The process below can be followed to integrate the GBP Bank Account ;
Step 1: Call Validate Payment Endpoint
Title: Validate Payment
Description: This endpoint gives the available payment channel available for a given currency
URL: api /payment/pay/Validate
HTTP Method: POST
Headers: authorization Set value to X-API: SECRET_KEY
string
First, you need to gather and Pass on the details below.
Request Body
{ "amount": { "currencyCode": "GBP", "amount": 5000 }, "channels": [ "string" ] }
amount
: The amount to charge the customer.currency Code
: A three-letter ISO code for the currency in which you want to accept the payment. A unique code that represents a defined business currency. E.g NGN=Nigerian Naira, GBP =Great Britain Pounds
Response Body Response code : 200
{ "value": { "isValid": true, "channels": [ { "id": "2d60ca92-8f2f-486a-aa21-35cc9434898f", "name": "Card", "alias": "Card", "description": null }, { "id": "a470390f-4d10-4a9b-922b-8fd960b4b595", "name": "PayByAccount", "alias": "PayByAccount", "description": null } ] }, "isSuccess": true, "error": "", "message": "Request Successful", "type": null, "title": null, "status": null, "detail": null, "instance": null }
From Response above the available Payment channels for GBP Currency { “Card” , “PayByAccount”)
Step 2: Call Initiate Payment Endpoint
Title: Initiate Payment
Description: This endpoint is used to initiate a payment transaction irrespective of the channel
URL: api /payment/pay/Initiate
HTTP Method: POST
Headers: authorization Set value to X-API: SECRET_KEY
string
First, you need to gather the transaction and Customer details as shown below:
NB: Link Alias is passed when you are processing a Payment link transaction
Request Body
{ "currencyCode": "GBP", "amount": 1, "channel": "PayByAccount", "currency": "GBP", "link": { "alias": "0-k2tmbuy" }, "userInformation": { "firstName": "Dave", "lastName": "MC", "emailAddress": "mcdave@test.com", "phone": "070000000" } }
Channel:
An array of payment channels to control what channels you want to make available to the user to make a payment with. Available channels include: ["Card", "PaybyAccount" ]. In this case, you will pass PaywithAccount as Channel ValueAmount
: The amount to charge the customer for the transaction (Required)Currency Code
: A three-letter ISO code for the currency in which you want to accept the payment. A unique code that represents a defined business currency. E.g NGN=Nigerian Naira, GBP =Great Britain Pounds, etc (Required)narration:
This is usually a description of items being purchased by a customeralias:
An alias allows users to access a page (node) or file at an alternative path. A redirect is moving a user to the correct file or page (node) because it no longer exists at a previous path. Alias lets you choose a nickname for your page, meaning a new URL that points to the content the same way the original URL does (This is only Mandatory when initiating a Payment Link transaction)firstName:
This is the first Name of the Customer (Required)lastName:
This is the Last Name of the Customer (Required)phone:
This is the phone number of the Customer (Required)emailAddress
: This is the email address of the customer (Required)
Sample Response Body Response code : 200
{ "value": { "paymentStatus": "REQUIRE_BANK_AUTH", "message": "Payment initiated successfully. Kindly click on the link to complete your payment", "paymentItem": { "channel": "PayByAccount", "message": "Payment initiated successfully. Kindly click on the link to complete your payment", "amount": 1, "fees": 0, "reference": "TZ2ZFLPMU39GDPG", "paymentReference": "TZ2ZFLPMU39GDPG", "metaData": { "AuthUrl": "https://cdn.plaid.com/link/v2/stable/link.html?isWebview=false&token=link-development-39c7f73c-0b44-43b9-b3e3-d2cae8e1dc45" } } }, "isSuccess": true }
Step 3: Call GET Transaction Status
Title: Get Transaction Status Endpoint
Description: This endpoint is used to get transaction status.
URL: api /payment/transactions/{Reference}
HTTP Method: GET
Headers: authorization Set value to X-API: SECRET_KEY
string
Pass the Payment Reference: "TVI1HLDDNATWSPG"
from the response gotten from the Initiate Payment End point above
Sample Response Body Response code : 200
{ "value": { "paymentReference": "TVI1HLDDNATWSPG", "amount": { "currencyCode": "NGN", "amount": 100.00 }, "paymentStatus": 0 }, "isSuccess": true, "error": "", "message": "", "type": null, "title": null, "status": null, "detail": null, "instance": null }