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

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 Value

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

  • 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 the tx_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
}

  • No labels