Payment Link
1. ຂັ້ນຕອນການເຊື່ອມຕໍ່ Payment Link – ແພລດຟອມຂອງລູກຄ້າ
ຂັ້ນຕອນນີ້ອະທິບາຍວ່າແພລດຟອມທີ່ໃຫ້ບໍລິການແກ່ລູກຄ້າ (ເຊັ່ນ: ເວັບໄຊອີຄອມເມີສ, ແອັບມືຖື ຫຼື ຜະລິດຕະພັນ SaaS) ສາມາດເຊື່ອມຕໍ່ກັບບໍລິການ Payment Link ເພື່ອຮອງຮັບການຊຳລະເງິນອອນລາຍຢ່າງລຽບງ່າຍຜ່ານທະນາຄານໃນທ້ອງຖິ່ນ ຫຼື ຊ່ອງທາງການຊຳລະເງິນອື່ນໆທີ່ຮອງຮັບໄດ້ແນວໃດ. (ສຳລັບຜູ້ທີ່ເຊື່ອມຕໍ່ກັບ Payment Link)

2. ຕັ້ງຄ່າ Redirect URL ແລະ Webhook
ກ່ອນອື່ນ, ຕ້ອງຕັ້ງຄ່າ Success URL, Cancel URL ແລະ Webhook ໃນ PhaJay Portal
ຕັ້ງຄ່າ Redirect URL
ເຂົ້າສູ່ລະບົບ Portal (portal.phajay.co)
ໄປທີ່ ການຕັ້ງຄ່າ (Settings) > ການຕັ້ງຄ່າ Callback URL

ຕື່ມຂໍ້ມູນໃນຊ່ອງຕໍ່ໄປນີ້:
| ປະເພດ | ຄຳອະທິບາຍ |
|---|---|
| Success URL | URL ທີ່ຜູ້ໃຊ້ຈະຖືກສົ່ງໄປຫຼັງຈາກຊຳລະເງິນສຳເລັດ (ເຊັ່ນ: ໜ້າຂອບໃຈຂອງແພລດຟອມຂອງທ່ານ). |
| Cancel URL | URL ທີ່ຜູ້ໃຊ້ຈະຖືກສົ່ງໄປຖ້າຍົກເລີກການຊຳລະເງິນ. |

ຕັ້ງຄ່າ Webhook API
-
ໄປທີ່:
Settings > Webhook Setting -
ໃນແບບຟອມ, ຕື່ມຂໍ້ມູນໃນຊ່ອງຕໍ່ໄປນີ້:
ເພື່ອຮັບການອັບເດດສະຖານະການຊຳລະເງິນຈາກ PhaJay, ທ່ານຕ້ອງຕັ້ງຄ່າ Webhook URL.
| ຊ່ອງຂໍ້ມູນ | ຄຳອະທິບາຍ |
|---|---|
| Endpoint | URL ທີ່ເຂົ້າເຖິງໄດ້ຜ່ານອິນເຕີເນັດໃນເຊີບເວີຂອງທ່ານ ທີ່ທ່ານຕ້ອງການຮັບການແຈ້ງເຕືອນການຊຳລະເງິນ (ເຊັ່ນ: https://yourdomain.com/api/payment/webhook (opens in a new tab)). |
| Description (ບໍ່ບັງຄັບ) | ເພີ່ມຄຳອະທິບາຍສັ້ນໆເພື່ອລະບຸຈຸດປະສົງຂອງ Webhook ນີ້, ເຊັ່ນ: Production Order Payment Webhook. |

3. ຮັບ Payment Link
ການຊຳລະເງິນດ້ວຍ Payment Link ຜ່ານແພລດຟອມຂອງທະນາຄານ ຈຳເປັນຕ້ອງສ້າງ Link ເພື່ອເຊື່ອມຕໍ່ທະນາຄານ ເພື່ອໃຫ້ໃຊ້ແອັບ Mobile Banking ໃນການເຊື່ອມຕໍ່. ປັດຈຸບັນ, ພວກເຮົາສາມາດເຊື່ອມຕໍ່ກັບທະນາຄານໃນລາວໄດ້ ເຊັ່ນ :
| ຊື່ຫຍໍ້ | ຊື່ທະນາຄານ |
|---|---|
| JDB | Joint Development Bank |
| LDB | Lao Development Bank |
| IB | Indochina Bank |
| BCEL | Banque pour le Commerce Extérieur Lao |
| STB | ST Bank Laos |
| APB | Agricultural Promotion Bank |
⚠️ ໝາຍເຫດ: QR ທີ່ສ້າງສຳລັບ BCEL ແມ່ນ ບໍ່ແມ່ນ Lao QR, ດັ່ງນັ້ນຈຶ່ງສາມາດສະແກນ ແລະ ຊຳລະເງິນໄດ້ສະເພາະແອັບ BCEL One ເທົ່ານັ້ນ — ແອັບ Mobile Banking ຂອງທະນາຄານອື່ນບໍ່ສາມາດສະແກນໄດ້.
ຂັ້ນຕອນການເຊື່ອມຕໍ່ ແລະ ຮັບ Payment Link ມີດັ່ງນີ້:
| ພາຣາມິເຕີ | ຄ່າ |
|---|---|
| URL | https://payment-gateway.phajay.co/v1/api/link/payment-link |
| Method | POST |
| Authentication | Basic Auth |
ຕົວຢ່າງ:
{
"Content-Type": "application/json",
Authorization:`Basic ${Buffer.from(`${KEY}`).toString("base64")}`
}3.1 Request Body
| ຊ່ອງຂໍ້ມູນ | ປະເພດ | ບັງຄັບ | ຄຳອະທິບາຍ |
|---|---|---|---|
| amount | Number | ແມ່ນ | ຈຳນວນເງິນທີ່ຕ້ອງຊຳລະສຳລັບທຸລະກຳ. |
| description | String | ແມ່ນ | ຈຸດປະສົງຂອງຄຳອະທິບາຍການຊຳລະເງິນ |
| orderNo | String | ບໍ່ | (ອັບເດດໃໝ່)ພວກເຮົາແນະນຳໃຫ້ໃຊ້ຊ່ອງນີ້ ແລະ ຕ້ອງບໍ່ຊ້ຳກັນ |
| tag1 | String | ບໍ່ | ຊ່ອງຂໍ້ມູນກຳນົດເອງທີ 1 ສຳລັບການອ້າງອິງພາຍໃນຂອງທ່ານ. |
| tag2 | String | ບໍ່ | ຊ່ອງຂໍ້ມູນກຳນົດເອງທີ 2 ສຳລັບການອ້າງອິງພາຍໃນຂອງທ່ານ. |
| tag3 | String | ບໍ່ | ຊ່ອງຂໍ້ມູນກຳນົດເອງທີ 3 ສຳລັບການອ້າງອິງພາຍໃນຂອງທ່ານ. |
{
orderNo: "ORDER1757665596722" // orderNo
amount: 1
description: "Buy a product"
tag1: "6868a691f914536d6d731e2b" // shopId
tag2: "BB SHOP" // shopName
}3.2 Response Data
| ຊ່ອງຂໍ້ມູນ | ປະເພດ | ຄຳອະທິບາຍ |
|---|---|---|
| message | String | ຂໍ້ຄວາມທີ່ບອກຜົນຂອງການເອີ້ນໃຊ້ API (ເຊັ່ນ: "SUCCESSFULLY" ຫຼື ຂໍ້ມູນຂໍ້ຜິດພາດ). |
| redirectURL | String | Payment Link URL ທີ່ຖືກສ້າງຂຶ້ນ. ໃຫ້ສົ່ງລູກຄ້າໄປທີ່ URL ນີ້ເພື່ອຊຳລະເງິນໃຫ້ສຳເລັດ. |
{
"message": "SUCCESSFULLY",
"redirectURL": "https://payment-link.phajay.co?amount=1&linkCode=bd631c81-5243-4711-9bf9-8630f2103e77",
"orderNo": "ORDER1757665857427"
}3.3 ສົ່ງໄປຍັງ Payment Link
ເມື່ອ Payment Link ຖືກສ້າງສຳເລັດແລ້ວ, ແອັບພລິເຄຊັນຂອງທ່ານຄວນສົ່ງຜູ້ໃຊ້ໄປຍັງໜ້າຊຳລະເງິນທີ່ປອດໄພທີ່ໄດ້ຮັບ.
ຂັ້ນຕອນທີ 1:
ຫຼັງຈາກໄດ້ຮັບລິ້ງແລ້ວ, ໃຫ້ເປີດລິ້ງເພື່ອໄປຍັງໜ້າຊຳລະເງິນ.

ຂັ້ນຕອນທີ 2:
ເມື່ອຜູ້ໃຊ້ເລືອກທະນາຄານຂອງຕົນ, ລະບົບຈະສົ່ງໄປຍັງ ໜ້າ QR code ໂດຍອັດຕະໂນມັດ.
ໃນໜ້ານີ້, ຜູ້ໃຊ້ສາມາດ:
- ເປີດແອັບທະນາຄານຜ່ານ App Link, ຫຼື
- ສະແກນ QR code ເພື່ອຊຳລະເງິນໃຫ້ສຳເລັດ.

ຂັ້ນຕອນທີ 3:
ຫຼັງຈາກສະແກນ ແລະ ຊຳລະເງິນສຳເລັດ, ລະບົບຈະສະແດງຂໍ້ຄວາມຢືນຢັນເປັນເວລາ 60 ວິນາທີ (ຜູ້ໃຊ້ສາມາດຂ້າມຂັ້ນຕອນນີ້ໄດ້ໂດຍການກົດ).
ຈາກນັ້ນ, ລະບົບຈະສົ່ງຜູ້ໃຊ້ໄປຍັງ success callback URL ຂອງທ່ານໂດຍອັດຕະໂນມັດ.
ຕົວຢ່າງ Redirect URL
{
Your_website_success_URL?linkCode=1d180ad6-efca-49c5-be71-80b2e2095414&amount=1&description=Buy%20a%20product&orderNo=ORDER1757666411760
}ລາຍລະອຽດພາຣາມິເຕີຂອງ URL
| ພາຣາມິເຕີ | ຄ່າຕົວຢ່າງ | ຄຳອະທິບາຍ |
|---|---|---|
| linkCode | 1d180ad6-efca-49c5-be71-80b2e2095414 | ລະຫັດລະບຸ payment link ທີ່ບໍ່ຊ້ຳກັນ |
| amount | 1 | ຈຳນວນເງິນທີ່ຊຳລະ |
| description | Buy a product | ຄຳອະທິບາຍການຊຳລະເງິນ (URL-encoded) |
| orderNo | ORDER1757666411760 | orderNo / ID ທຸລະກຳຂອງແພລດຟອມ |

3.4 ຂໍ້ມູນ Webhook Callback
ເມື່ອທຸລະກຳສຳເລັດ, PhaJay ຈະສົ່ງຂໍ້ມູນ callback ໄປຍັງ webhook URL ທີ່ກຳນົດໄວ້ໃນຂັ້ນຕອນການຕັ້ງຄ່າ. ຂໍ້ມູນນີ້ຖືກສົ່ງເປັນສ່ວນໜຶ່ງຂອງ HTTPS request (ໂດຍທົ່ວໄປແມ່ນ POST) ໄປຍັງ webhook URL ຂອງທ່ານ.
🔐 ກ່ອນເຊື່ອຖືຂໍ້ມູນນີ້, ໃຫ້ກວດສອບວ່າ request ມາຈາກ PhaJay ຈິງ — ເບິ່ງ Verify Webhook Signature.
ຂໍ້ມູນ Webhook Response
| ຊ່ອງຂໍ້ມູນ | ປະເພດ | ຄຳອະທິບາຍ |
|---|---|---|
| message | String | ຂໍ້ຄວາມສະຖານະຂອງ response ທຸລະກຳ. |
| refNo | Number | ເລກອ້າງອິງຂອງທຸລະກຳ. |
| billNumber | String | ລະຫັດລະບຸບິນທີ່ບໍ່ຊ້ຳກັນ. |
| txnDateTime | String (Date) | ວັນທີ ແລະ ເວລາຂອງການຊຳລະເງິນ. |
| txnAmount | Number | ຈຳນວນເງິນທຸລະກຳ. |
| sourceCurrency | String | ສະກຸນເງິນຂອງຕົ້ນທາງທຸລະກຳ. |
| sourceAccount | String | ເລກບັນຊີຕົ້ນທາງ. |
| merchantName | String | ຊື່ຜູ້ຂາຍທີ່ກ່ຽວຂ້ອງກັບທຸລະກຳ. |
| sourceName | String | ຊື່ບຸກຄົນ ຫຼື ໜ່ວຍງານທີ່ເລີ່ມທຸລະກຳ. |
| description | String | ຄຳອະທິບາຍ ຫຼື ຈຸດປະສົງຂອງທຸລະກຳ. |
| exReferenceNo | String | ເລກອ້າງອິງພາຍນອກຂອງທຸລະກຳ. |
| userId | String | ລະຫັດຜູ້ໃຊ້ໃນລະບົບ PhaJay. |
| linkCode | String | ລະຫັດລະບຸ payment link ຂອງຜູ້ໃຊ້ທີ່ບໍ່ຊ້ຳກັນ |
| transactionId | String | ລະຫັດລະບຸທຸລະກຳທີ່ບໍ່ຊ້ຳກັນ. |
| status | String | ສະຖານະປັດຈຸບັນຂອງທຸລະກຳ. |
| paymentMethod | String | ວິທີການຊຳລະເງິນທີ່ໃຊ້ (ເຊັ່ນ: BCEL, JDB, ...). |
| orderNo | String | ເລກອໍເດີຂອງແພລດຟອມ. |
| successURL | String (URL) | Success callback URL. |
| tag1 | String | Tag ຫຼື ໝາຍເຫດເພີ່ມເຕີມກ່ຽວກັບທຸລະກຳ. |
| tag2 | String | Tag ຫຼື ໝາຍເຫດເພີ່ມເຕີມກ່ຽວກັບທຸລະກຳ. |
| tag3 | String | Tag ຫຼື ໝາຍເຫດເພີ່ມເຕີມກ່ຽວກັບທຸລະກຳ. |
| tag4 | String | Tag ຫຼື ໝາຍເຫດເພີ່ມເຕີມກ່ຽວກັບທຸລະກຳ. |
| tag5 | String | Tag ຫຼື ໝາຍເຫດເພີ່ມເຕີມກ່ຽວກັບທຸລະກຳ. |
| tag6 | String | Tag ຫຼື ໝາຍເຫດເພີ່ມເຕີມກ່ຽວກັບທຸລະກຳ. |
ຕົວຢ່າງ Response data
{
"message": "SUCCESS",
"refNo": "001LNMI395488650608",
"exReferenceNo": "BONEPBNOAIWN6AFO",
"merchantName": "PhaJay Payment",
"memo": "LMPS QR PAYMENT|LNMI|BCEL|1600120000000006170001|LAK|PhaJay Payment|ZAzprpRJomfSW0dofOUC0GwcI|PAYMENT|15:59:50",
"txnDateTime": "2025-09-12 15:59:50",
"txnAmount": 1,
"billNumber": "ZAzprpRJomfSW0dofOUC0GwcI",
"sourceAccount": "138880037",
"sourceName": "JDB Yes for Domistrict Bank LAP NET ",
"sourceCurrency": "LAK",
"paymentId": "68c3dc6c464ee95aafeb9319",
"linkCode": "1d180ad6-efca-49c5-be71-80b2e2095414",
"transactionId": "1d180ad6-efca-49c5-be71-80b2e2095414",
"paymentMethod": "JDB",
"status": "PAYMENT_COMPLETED",
"description": "Buy a product",
"remark": "",
"tag1": "6868a691f914536d6d731e63",
"tag2": "BB SHOP",
"tag3": "",
"tag4": "",
"tag5": "",
"tag6": "",
"userId": "66923e41ea9468588820b046",
"orderNo": "ORDER1757666411760",
"successURL": "http://localhost:5174/payment/success?linkCode=1d180ad6-efca-49c5-be71-80b2e2095414&amount=1&description=Buy a product&orderNo=ORDER1757666411760"
}⚠️ ໝາຍເຫດ:
ແຕ່ລະທະນາຄານອາດສົ່ງຄືນຊ່ອງຂໍ້ມູນ response ແຕກຕ່າງກັນ.
ຢ່າງໃດກໍຕາມ, ຊ່ອງຂໍ້ມູນມາດຕະຖານຂອງລະບົບຕໍ່ໄປນີ້ຮັບປະກັນວ່າມີສະເໝີ:
paymentMethod→ ທະນາຄານ/ວິທີການຊຳລະເງິນທີ່ໃຊ້ (ເຊັ່ນ: BCEL, JDB, LDB).linkCode→ ລະຫັດລະບຸ payment link ຂອງຜູ້ໃຊ້ທີ່ບໍ່ຊ້ຳກັນ ເຊິ່ງສ້າງໂດຍລະບົບ.transactionId→ ລະຫັດລະບຸທຸລະກຳທີ່ບໍ່ຊ້ຳກັນ ເຊິ່ງສ້າງໂດຍລະບົບ.orderNo→ ເລກອໍເດີຂອງແພລດຟອມທີ່ກ່ຽວຂ້ອງກັບທຸລະກຳ.txnAmount→ ຈຳນວນເງິນທີ່ຊຳລະ.
ຊ່ອງຂໍ້ມູນອື່ນໆທັງໝົດອາດແຕກຕ່າງກັນຕາມແຕ່ລະທະນາຄານ ແລະ ຄວນຈັດການຕາມຄວາມເໝາະສົມ.
ອັບເດດຫຼ້າສຸດ: 1 ເດືອນກ່ອນ