GBP Bank Account Integration Process
Currently on Leatherback Platform, This payment method is only supported by GBP. 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 Bearer SECRET_KEY
string
First, you need to gather and Pass 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 NGN Currency { “Cards” , “Transfer”)
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 Bearer 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": "NGN", "amount": 5000, "channel": "Card", "currency": "NGN", "linkAlias": "6njkpsu", "userInformation": { "firstName": "ogr", "lastName": "et", "phone": "08100969815", "emailAddress": "etog@gmail.com" }, "metaData":{"redirect-url":"https://ayobami.azurewebsites.net"}, "paymentRequestProps": { "card": { "cvv": "100", "expMonth": 1, "expYear": 2039, "number": "4508750015741019" } } }
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", "PayByTransfer", "paywithAccount" ]. In this case, you will Card as Channel Valueamount
: The amount to charge the customer for the card 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)metadata
: An object containing any extra information you'd like to store alongside the transaction: Pass The url we redirect to after the customer completes payment. For 3DSecure payments, we'll append thetx_ref
to the URL as query parameters (Required)
Sample Response Body Response code : 200
{ "value": { "paymentStatus": "INITIATED", "message": "Payment Initiated Successfully", "bankAuthURL": null, "paymentItem": { "channel": "Card", "message": "Payment Initiated Successfully", "amount": 5000, "fees": 0, "reference": "TUBJRGMSDFT9DPG", "metaData": {} } }, "isSuccess": true, "error": "", "message": "", "type": null, "title": null, "status": null, "detail": null, "instance": null }
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 Bearer SECRET_KEY
string
Pass the Reference ID : “TUBJRGMSDFT9DPG“ from the response gotten from the Initiate Payment End point above
Sample Response Body Response code : 200
{ "value": { "paymentReference": "TUBJRGMSDFT9DPG", "amount": { "currencyCode": "GBP", "amount": 5000 }, "paymentStatus": 6 }, "isSuccess": true, "error": "", "message": "", "type": null, "title": null, "status": null, "detail": null, "instance": null }