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 6 Next »

GBP Bank Account Integration Process

Currently on Leatherback Platform, This payment method is only supported by 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 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 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 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": "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 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)

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 Bearer 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
}

  • No labels