Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Panel
bgColor#79E2F2

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 ;

...

Panel
bgColor#F4F5F7

Description: This endpoint gives the available payment channel available for a given currency

Panel
bgColor#F4F5F7

URL: https://laas.leatherback.co/api /payment/pay/Validatevalidate

Panel
bgColor#F4F5F7

HTTP Method: POST

Panel
bgColor#F4F5F7

Headers: authorization Set value to X-API: SECRET_KEYstring

First, you need to gather and Pass on the details below.

Panel
bgColor#FFC400

Request Body

Code Block
languagejs
{
  "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

Panel
bgColor#FFC400

Response Body Response code: 200

Code Block
languagejs
{
  "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
}

Panel
panelIconIdatlassian-info
panelIcon:info:
bgColor#FFC400

From Response above the available Payment channels for GBP Currency { “Card” , “PayByAccount”)

Step 2: Call Initiate Payment Endpoint

...

Panel
bgColor#F4F5F7

Description: This endpoint is used to initiate a payment transaction irrespective of the channel

Panel
bgColor#F4F5F7

URL: api  https://laas.leatherback.co/api/payment/pay/Initiate

Panel
bgColor#F4F5F7

HTTP Method: POST

Panel
bgColor#F4F5F7

Headers: authorization Set value to X-API: SECRET_KEY

string

First, you need to gather the transaction and Customer details as shown below:

Note

NB: Link Alias is passed when you are processing a Payment link transaction

Panel
bgColor#FFC400

Request Body

Code Block
languagejs
{
    "currencyCode": "GBP",
    "amount": 1,
    "channel": "PayByAccount",
    "currency": "GBP",
    "link": {
        "alias": "0-k2tmbuy"
    },
    "userInformation": {
        "firstName": "Dave",
        "lastName": "MC",
        "emailAddress": "mcdave@test.com",
        "phone": "070000000"
    }
   “metaData”: {
         “return-url”: “https://access.leatherback.co”
       },
}

Info

If you don’t want the redirect, the page will close automatically. To utilize this option, the authURL response from the initiate, Change the redirect params to false before loading the URL.

  • 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 PayByAccount as Channel Value

  • Amount: The amount to charge the customer for the transaction (Required)

  • Currency CodeCurrencyCode: 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 customer

  • alias: 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)

Panel
bgColor#FFC400

Sample Response Body Response code : 200

Code Block
languagejs
  {
    "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://cdnpay.plaidleatherback.comco/link/v2/stable/link.html?isWebview=false&open-banking?link_token=link-developmentsandbox-39c7f73cd0f8470d-0b44adfc-43b94015-b3e3-d2cae8e1dc45922e-5a2fc1e671f8&client_url=https://access.leatherback.co&lb_reference=LZRD9QKSQ3MTIXCSPG&redirect=true
"
            }
        }
    },
    "isSuccess": true
}

...

Panel
bgColor#F4F5F7

Description: This endpoint is used to get transaction status.

Panel
bgColor#F4F5F7

URL: api : https://laas.leatherback.co/api/payment/transactions/{Reference}

Panel
bgColor#F4F5F7

HTTP Method: GET

Panel
bgColor#F4F5F7

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

Panel
bgColor#FFC400

Sample Response Body Response code : 200

Code Block
languagejs
{
    "value": {
        "paymentReference": "TVI1HLDDNATWSPGTUBJRGMSDFT9DPG",
        "amount": {
            "currencyCode": "NGNGBP",
  
         "amount": 100.005000
        },
      
 "paymentStatus": 0“SUCCESSFUL” | “FAILED” | “PENDING”
  },
    "isSuccess": true,
    "error": "",
    "message": "",
 
  "type": null,

   "title": null,
    "status": null,
    "detail": null,
 
  "instance": null
}

...