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 |
---|
panelIconId | atlassian-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 |
---|
|
Title: Create Payment link |
Panel |
---|
|
Description : This endpoint may be consumed to create payment link |
Panel |
---|
|
URL: /api/payment/payment-link |
Panel |
---|
panelIconId | atlassian-info |
---|
panelIcon | :info: |
---|
bgColor | #F4F5F7 |
---|
|
Base URL: https://laas.leatherback.co |
Panel |
---|
|
Headers : authorization Set value to X-API: SECRET_KEY string
|
Here are the details you'll need:
Code Block |
---|
|
{
"name": "Invoice Test 5",
"description": "Test ",
"linkType": 1,
"amountType": 1,
"amountInfo": {
"currencyCode": "GBP",
"amount": 12
}
} |
Code Block |
---|
|
"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 |
---|
|
Response Body Response code : 200 |
Code Block |
---|
|
{
"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 |
---|
|
Title: Validate Payment link |
...
Panel |
---|
|
Headers : authorization Set value to X-API: SECRET_KEY string
|
Here are the details you'll need:
Code Block |
---|
|
{
"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 |
---|
|
Response Body Response code : 200 |
Code Block |
---|
|
{
"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 |
---|
|
Title: Initiate Payment link |
...
Panel |
---|
panelIconId | atlassian-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 |
Code Block |
---|
|
{
"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 |
---|
|
Response Body Response code : 200 |
Code Block |
---|
|
{
"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 |
---|
|
Title: Authenticate Payment link |
...
Panel |
---|
panelIconId | atlassian-info |
---|
panelIcon | :info: |
---|
bgColor | #FFC400 |
---|
|
Pass the Reference value id for channel Pay By transfer from Validate Payment endpoint |
Code Block |
---|
|
{
"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 |
---|
|
Response Body Response code : 200 |
Code Block |
---|
|
{
"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 |
---|
|
Title: Finalize Payment |
...
Panel |
---|
panelIconId | atlassian-info |
---|
panelIcon | :info: |
---|
bgColor | #FFC400 |
---|
|
Pass Payment reference from Validate Payment endpoint |
Code Block |
---|
|
{
"paymentReference": "string"
} |
paymentreference:
This is an Id that uniquely identifies a payment made
Panel |
---|
|
Response Body Response code : 200 |
Code Block |
---|
|
{
"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 |
---|
|
Title: Get Transaction Status |
...
Panel |
---|
panelIconId | atlassian-info |
---|
panelIcon | :info: |
---|
bgColor | #FFC400 |
---|
|
Pass reference Id from Initiate Payment endpoint |
Code Block |
---|
|
{
"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 |
---|
|
Response Body Response code : 200 |
Code Block |
---|
|
{
"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 |
---|
panelIconId | atlassian-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) |
\uD83D\uDCCB Related articles
Filter by label (Content by label) |
---|
showLabels | false |
---|
max | 5 |
---|
spaces | com.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@1256f |
---|
showSpace | false |
---|
sort | modified |
---|
showSpacetype | falsepage |
---|
reverse | true | type | page
---|
labels | kb-how-to-article |
---|
cql | label = "kb-how-to-article" and type = "page" and space = "LAD" | labels | kb-how-to-article |
---|
|