Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Below shows how the Payment link flow Integration works:

  • From your server, call our Validate Payment link, Initiate the payment link endpoint with the payment details.

  • We'll return a link alias to a payment page. Redirect your customer to this link to make the payment.

  • When the transaction is completed, we'll redirect the customer back to you.

Panel
panelIconIdatlassian-info
panelIcon:info:
bgColor#FFC400

Base URL: https://laas.leatherback.co

...

Below shows how the Payment link flow Integration works:

  • From your server, call our Create Payment link, Validate Payment link, Initiate the payment link endpoint with the payment details.

  • We'll return a link alias to a payment page. Redirect your customer to this link to make the payment.

  • When the transaction is completed, we'll redirect the customer back to you.

Step 1: Call Create Payment Link Endpoint

Panel
bgColor#79E2F2

Title: Create Payment link

Panel
bgColor#F4F5F7

Description : This endpoint may be consumed to create payment link

Panel
bgColor#F4F5F7

URL: /api/payment/payment-link

Panel
panelIconIdatlassian-info
panelIcon:info:
bgColor#F4F5F7

Base URL: https://laas.leatherback.co

Panel
bgColor#F4F5F7

HTTP Method : POST

Panel
bgColor#F4F5F7

Headers : authorization Set value to X-API: SECRET_KEY

string

Panel
bgColor#FFC400

Request Body

Here are the details you'll need:

Code Block
languagejs
{
  "name": "Invoice Test 5",
  "description": "Test ",
  "linkType": 1,
  "amountType": 1,
  "amountInfo": {
    "currencyCode": "GBP",
    "amount": 12
  }
}

Code Block
languagejs
"linkType": 0 - oneTime, 1 - reusable
"amountType": 0 - Static, 1 - Dynamic

  • Name: This is a unique name for the payment link.

  • description: This describes the payment link in details

  • linkType: This indicates the payment link type. 0 signifies oneTime, 1 - reusable.

  • amountType: This indicate the amount type for the payment link. 0 signifies- Static, 1 - Dynamic

  • 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, USD =United State Dollars, etc. (Required) If you don't specify a value, we'll assume "NGN"

  • amount : This is the amount for the payment link transaction

Panel
bgColor#FFC400

Response Body Response code : 200

Code Block
languagejs
{
  "value": {
    "isValid": true,
    "channels": [
      {
        "id": "4f737265-27cb-40fd-84a6-f41d999a39d1",
        "name": "PayByTransfer",
        "alias": "PayByTransfer",
        "description": null
      },
      {
        "id": "2d60ca92-8f2f-486a-aa21-35cc9434898f",
        "name": "Card",
        "alias": "Card",
        "description": null
      }
    ]
  },
  "isSuccess": true,
  "error": "",
  "message": "Request Successful",
  "type": null,
  "title": null,
  "status": null,
  "detail": null,
  "instance": null
}

Step 2: Call Validate Payment Endpoint

Panel
bgColor#79E2F2

Title: Validate Payment link

...

Panel
bgColor#F4F5F7

Headers : authorization Set value to X-API: SECRET_KEY

string

Panel
bgColor#FFC400

Request Body

Here are the details you'll need:

Code Block
languagejs
{
  "amount": {
    "currencyCode": "NGNGBP",
    "amount": 02
  },
  "channels": [
    ]"Card",
    "PayByTransfer",
    "PayByAccount"
  ]
} 
  • amount: The transaction amount of the goods purchased by 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, USD =United State Dollars, etc. (Required) If you don't specify a value, we'll assume"NGN"

Panel
bgColor#FFC400

Response Body Response code : 200

Code Block
languagejs
{
  "value": {
    "isValid": true,
    "channels": [
      {
        "id": "4f737265-27cb-40fd-84a6-f41d999a39d1",
        "name": "PayByTransfer",
        "alias": "PayByTransfer",
        "description": null
      },
      {
        "id": "2d60ca92-8f2f-486a-aa21-35cc9434898f",
        "name": "Card",
        "alias": "Card",
        "description": null
      }
    ]
  },
  "isSuccess": true,
  "error": "",
  "message": "Request Successful",
  "type": null,
  "title": null,
  "status": null,
  "detail": null,
  "instance": null
}

Step

...

3: Call Initiate Payment Endpoint

Panel
bgColor#79E2F2

Title: Initiate Payment link

...

Panel
panelIconIdatlassian-info
panelIcon:info:
bgColor#FFC400

Pass Reference value id generated from Validate Payment endpoint in the Reference field depending on the selected Channel (“Pay By transfer”, “Pay By Cards”) and Currency

Panel
bgColor#FFC400

Request Body

Code Block
languagejs
{
  "channel": "PayByTransfer",
  "amount": 500,
  "currency": "NGN",
  "narration": "SHOE",
  "reference": "4f737265-27cb-40fd-84a6-f41d999a39d1",
  "link": {
    "alias": "0-mjlyfib"
  },
  "userInformation": {
    "firstName": "Ayobami",
    "lastName": "Queen",
    "phone": "08132681675",
    "emailAddress": "ayobamsy@yahoo.com"
  },
  "paymentRequestProps": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "metaData": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  }
}

  • 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: ["pay by card", "PayByTransfer", "pay with account" ]

  • 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, USD =United State Dollars, etc. (Required) If you don't specify a value, we'll assume "NGN"

  • narration: This is usually a description of items being purchased by a customer

  • reference: This is an Id that uniquely identifies a channel type (this is derived from the Validate Payment endpoint response)

  • 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

  • firstName: This is the first Name of the Customer

  • lastName: This is the Last Name of the Customer

  • phone: This is the phone number of the Customer

  • emailAddress: This is the email address of the customer

  • metadata (optional): An object containing any extra information you'd like to store alongside the transaction

Panel
bgColor#FFC400

Response Body Response code : 200

Code Block
languagejs
{
  "value": {
    "paymentStatus": "REQUIRE_USER_OFFLINE_ACTION",
    "message": "Payment Initiated",
    "bankAuthURL": null,
    "paymentItem": {
      "channel": "PayByTransfer",
      "message": "Payment Initiated",
      "amount": 500,
      "fees": 0,
      "reference": "4f737265-27cb-40fd-84a6-f41d999a39d1",
      "metaData": {
        "transfer-info": {
          "note": "NILL",
          "bank": "Providus",
          "account_number": "9979314914",
          "account_name": "MERCHANT(jkkffg)",
          "expiration": "2023-03-04T13:43:11.0447022Z",
          "mode": "banktransfer"
        }
      }
    }
  },
  "isSuccess": true,
  "error": "",
  "message": "",
  "type": null,
  "title": null,
  "status": null,
  "detail": null,
  "instance": null
}

Step

...

4: Call Authenticate Payment Endpoint

Panel
bgColor#79E2F2

Title: Authenticate Payment link

...

Panel
panelIconIdatlassian-info
panelIcon:info:
bgColor#FFC400

Pass the Reference value id for channel Pay By transfer from Validate Payment endpoint

Code Block
languagejs
{
  "referenceId": "4f737265-27cb-40fd-84a6-f41d999a39d1"
}
  • reference:This is an Id that uniquely identifies a channel type (this is derived from the Validate Payment endpoint response)

Panel
bgColor#FFC400

Response Body Response code : 200

Code Block
languagejs
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "isSuccess": true,
  "error": "string",
  "message": "string",
  "responseCode": "string",
  "value": {
    "status": "string",
    "IsAuthenticationEnabled": true,
    "Recommendation": "string",
    "message": "string",
    "authenticationhtml": "string"
  },
  "additionalProp1": "string",
  "additionalProp2": "string",
  "additionalProp3": "string"
}

Step

...

5: Call Finalize Payment Endpoint

Panel
bgColor#79E2F2

Title: Finalize Payment

...

Panel
panelIconIdatlassian-info
panelIcon:info:
bgColor#FFC400

Pass Payment reference from Validate Payment endpoint

Code Block
languagejs
{
  "paymentReference": "string"
}
  • paymentreference:This is an Id that uniquely identifies a payment made

Panel
bgColor#FFC400

Response Body Response code : 200

Code Block
languagejs
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "isSuccess": true,
  "error": "string",
  "message": "string",
  "responseCode": "string",
  "value": {
    "status": "string",
    "message": "string"
  },
  "additionalProp1": "string",
  "additionalProp2": "string",
  "addi
}

Step

...

6: Call Transaction Reference Endpoint

Panel
bgColor#79E2F2

Title: Get Transaction Status

...

Panel
panelIconIdatlassian-info
panelIcon:info:
bgColor#FFC400

Pass reference Id from Initiate Payment endpoint

Code Block
languagejs
{
  "referenceId": "4f737265-27cb-40fd-84a6-f41d999a39d1"
}
  • referenceId:This is an Id that uniquely identifies a channel type (this is derived from the Validate Payment endpoint response)

Panel
bgColor#FFC400

Response Body Response code : 200

Code Block
languagejs
{
  "value": {
    	"paymentReference": "TSIXIKHJYBA3DPG",
    	"amount": {
      	"currencyCode": "NGN",
      	"amount": 500
    	},
    	"paymentStatus": 0“SUCCESSFUL” | “FAILED” | “PENDING”
  },
  "isSuccess": true,
  "error": "",
  "message": "",
  "type": null,
  "title": null,
  "status": null,
  "detail": null,
  "instance": null
}

Panel
panelIconIdatlassian-info
panelIcon:info:
bgColor#FFC400

After the payment is initiated and completed successfully: We'll send you a webhook if you have that configured on the dev portal. We'll send an email receipt to your customer if the payment was successful (Coming soon)

Filter by label (Content by label)
page
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@1256f
showSpacefalse
sortmodified
showSpacetypefalsepage
reversetruetype
labelskb-how-to-article
cqllabel = "kb-how-to-article" and type = "page" and space = "LAD"labelskb-how-to-article