Payment Link
1. Payment Link Integration Flow – Customer Platform
This flow describes how a customer-facing platform (e.g., e-commerce site, mobile app, or SaaS product) can integrate with the Payment Link service to facilitate seamless online payments via local banks or other supported payment channels. (who connect with Payment Link)

2. Configure Redirect URLs and Webhook
Before initiating payment transactions, you must configure the Success URL, Cancel URL, and Webhook (Callback URL) in the PhaPay Portal. This ensures users are redirected correctly and your system receives payment notifications.
Configure Redirect URLs
Login to the portal system (portal.lailaolab.la)
Navigate to Setings > Callback URL Setting
Fill in the following fields:
Success URL: The URL where users are redirected after a successful payment (e.g., your platform’s thank-you page).
Cancel URL: The URL where users are redirected if they cancel the payment.
config Webhook API
Go to Settings > Webhook Setting
In the form, fill in the following:
Endpoint URL: The publicly accessible URL on your server where you want to receive payment notifications (e.g., https://yourdomain.com/api/payment/webhook (opens in a new tab)).
Description (optional): Add a short description to identify the purpose of this Webhook, such as Production Order Payment Webhook.

3. Get Payment Link
To make a payment with Payment Link through the Bank Platform, it is necessary to create a Link for connecting the bank to use the Mobile Banking App to make the connection. Currently, we can connected to 4 banks in laos such as :
- Banque pour le Commerce Extérieur Lao (BCEL)
- Joint Development Bank (JDB)
- Lao Development Bank (LDB)
- Indochina Bank (IB)
The process to connect and retrieve a Payment Link is as follows:
POST
Basic Auth
Example:
{
"Content-Type": "application/json",
Authorization:`Basic ${Buffer.from(`${KEY}`).toString("base64")}`
}
3.1 Request Body
Field | Type | Description |
---|---|---|
amount | Number | The amount to be paid for the transaction. |
description | String | A short description of the payment.⚠️ Note: Avoid using spaces (" "). |
tag1 | String | (option)(Optional) Custom field #1 for your internal reference. |
tag2 | String | (option)(Optional) Custom field #2 for your internal reference. |
tag3 | String | (option)(Optional) Custom field #3 for your internal reference. |
{
"amount": 10000,
"description": "buy products",
"tag1": "shopName",
"tag2": "0133045350345435",
"tag3": "myKey",
}
3.2 Response Data
Field | Type | Description |
---|---|---|
message | String | A message indicating the result of the API call (e.g., "SUCCESSFULLY" or error info). |
redirectURL | String | The generated Payment Link URL. Redirect the customer to this URL to complete the payment process. |
{
"message": "SUCCESSFULLY",
"redirectURL":
"https://payment-link.lailaolab.com?amount=1&linkCode=551f8eb7-1976-4
d1c-b7a9-e0438d752e63"
}
3.3 Redirect to payment link
Once the Payment Link is successfully generated, your application should redirect the user to the provided secure payment page.
Step 1 : Once you receive the redirect link
open it to navigate to the payment page.

Step 2 : When the user selects their bank, they will be automatically redirected to the QR code page for payment in this page user can open Bank app with App Link or Scan QR for payment

Step 3 : After scanning and completing the payment, the system will display a message for (5) seconds. Then, it will automatically redirect the user to their success callback URL

3.4 Webhook Callback Data
When the transaction is complete it will return callback data to the user's webhook This data is sent as part of the HTTPS request (usually a POST) from the service to your designated webhook URL
Response Data
Field | Type | Description |
---|---|---|
message | String | Status message of the transaction response. |
refNo | Number | Reference number for the transaction. |
billNumber | String | Unique identifier for the bill. |
txnDateTime | String (Date) | Datetime of the payment. |
txnAmount | Number | Transaction amount. |
sourceCurrency | String | Currency of the transaction source. |
sourceAccount | String | Account number of the source. |
merchantName | String | Name of the merchant involved in the transaction. |
sourceName | String | Name of the person or entity initiating the transaction. |
description | String | Description or purpose of the transaction. |
exReferenceNo | String | External reference number for the transaction. |
userId | String | Id of user in PhaPay system |
transactionId | String | Unique identifier for the transaction. |
status | String | Status of the transaction. |
tag1 | String | Additional tag or note related to the transaction. |
paymentMethod | String | Payment method used (BCEL,JDB,...) |
successURL | String (URL) | Success Callback URL. |
Explore the full Payment Link documentation for detailed integration guidelines .
Click here to access:
Payment Link Documentation (PDF)