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 by in GBP Currency. The process below can be followed to integrate the GBP Bank Account ;

Step 1: Call Validate Payment Endpoint

Panel
bgColor#79E2F2

Title: Validate Payment

Panel
bgColor#79E2F2#F4F5F7

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

Panel
bgColor#79E2F2#F4F5F7

URL: api /payment/pay/Validate

Panel
bgColor#79E2F2#F4F5F7

HTTP Method: POST

Panel
bgColor#79E2F2#F4F5F7

Headers: authorization Set value to Bearer SECRET_KEY

string

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#79E2F2

Title: Initiate Payment

Panel
bgColor#79E2F2#F4F5F7

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

Panel
bgColor#79E2F2#F4F5F7

URL: api /payment/pay/Initiate

Panel
bgColor#79E2F2#F4F5F7

HTTP Method: POST

Panel
bgColor#79E2F2#F4F5F7

Headers: authorization Set value to Bearer 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"
    }
}

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

  • amount: 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 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://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

Panel
bgColor#79E2F2

Title: Get Transaction Status Endpoint

Panel
bgColor#79E2F2#F4F5F7

Description: This endpoint is used to get transaction status.

Panel
bgColor#79E2F2#F4F5F7

URL: api /payment/transactions/{Reference}

Panel
bgColor#79E2F2#F4F5F7

HTTP Method: GET

Panel
bgColor#79E2F2#F4F5F7

Headers: authorization Set value to Bearer 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": "TVI1HLDDNATWSPG",
        "amount": {
            "currencyCode": "NGN",
            "amount": 100.00
        },
        "paymentStatus": 0
    },
    "isSuccess": true,
    "error": "",
    "message": "",
    "type": null,
    "title": null,
    "status": null,
    "detail": null,
    "instance": null
}

...