Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 15

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 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"
    }
   “metaData”: {
         “return-url”: “https://access.leatherback.co”
       },
}

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

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

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

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

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://pay.leatherback.co/open-banking?link_token=link-sandbox-d0f8470d-adfc-4015-922e-5a2fc1e671f8&client_url=https://access.leatherback.co&lb_reference=LZRD9QKSQ3MTIXCSPG&redirect=true
"
            }
        }
    },
    "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": "TUBJRGMSDFT9DPG",
    "amount": {
      "currencyCode": "GBP",
      "amount": 5000
    },
"paymentStatus": “SUCCESSFUL” | “FAILED” | “PENDING”
  },
  "isSuccess": true,
  "error": "",
  "message": "",
  "type": null,
  "title": null,
  "status": null,
  "detail": null,
  "instance": null
}

  • No labels