Payment Link Sandbox
1. ແນະນຳ
Payment Link Sandbox ແມ່ນສະພາບແວດລ້ອມສຳລັບທົດສອບ ທີ່ອອກແບບມາເພື່ອໃຫ້ນັກພັດທະນາສາມາດຈຳລອງທຸລະກຳ payment link ໄດ້ໂດຍບໍ່ຕ້ອງໃຊ້ເງິນຈິງ. ລະບົບນີ້ຊ່ວຍໃຫ້ທົດສອບການສ້າງ payment link, ຂັ້ນຕອນການຊຳລະແບບຈຳລອງ, ແລະ ການຕິດຕາມສະຖານະທຸລະກຳແບບ real-time ເພື່ອໃຫ້ແນ່ໃຈວ່າການເຊື່ອມຕໍ່ເຮັດວຽກຖືກຕ້ອງກ່ອນນຳໃຊ້ຈິງ.
1.1 Payment Link Sandbox ແມ່ນຫຍັງ?
Payment Link Sandbox ແມ່ນການຊຳລະເງິນຜ່ານ Payment Link Sandbox ຂອງ Bank Platform, ຈຳເປັນຕ້ອງສ້າງລິ້ງທີ່ປ່ຽນເສັ້ນທາງຜູ້ໃຊ້ໄປຍັງ Mobile Banking App ຂອງທະນາຄານຂອງຕົນເພື່ອຊຳລະເງິນໃຫ້ສຳເລັດ. ປັດຈຸບັນ, ລະບົບຮອງຮັບການເຊື່ອມຕໍ່ກັບທະນາຄານຫຼັກໃນລາວ, ປະກອບດ້ວຍ:
| ຊື່ຫຍໍ້ | ຊື່ທະນາຄານ |
|---|---|
| JDB | Joint Development Bank |
| LDB | Lao Development Bank |
| IB | Indochina Bank |
| BCEL | Banque pour le Commerce Extérieur Lao |
| STB | ST Bank Laos |
ຂັ້ນຕອນການເຊື່ອມຕໍ່ ແລະ ຮັບ Payment Link sandbox ມີດັ່ງນີ້ :
| Parameter | ຄ່າ |
|---|---|
| URL | https://payment-gateway.phajay.co/v1/api/test/payment/get-payment-link (opens in a new tab) |
| Method | POST |
| Authentication | Basic Auth |
ຕົວຢ່າງ:
{
"Content-Type": "application/json",
Authorization:`Basic ${Buffer.from(`${KEY}`).toString("base64")}`
}1.2 Request Body
ເມື່ອສ້າງ Payment Link Sandbox, ໃຫ້ສົ່ງ request ແບບ POST ພ້ອມ JSON payload ດັ່ງນີ້:
| Field | ປະເພດ | ຄຳອະທິບາຍ |
|---|---|---|
| orderNo | String | ລະຫັດທີ່ບໍ່ຊ້ຳກັນຂອງທຸລະກຳ |
| amount | Number | ຈຳນວນເງິນຂອງທຸລະກຳ |
| description | String | ຄຳອະທິບາຍ ຫຼື ຈຸດປະສົງຂອງທຸລະກຳ |
| tag1 | string | ຟີລດ໌ກຳນົດເອງອັນທີ 1 ຂອງແພລດຟອມ (ທາງເລືອກ) |
| tag2 | string | ຟີລດ໌ກຳນົດເອງອັນທີ 2 ຂອງແພລດຟອມ (ທາງເລືອກ) |
tag1, tag2 ສາມາດໃຊ້ສົ່ງ metadata ແບບກຳນົດເອງ ເຊັ່ນ order ID, user ID ຫຼື ຂໍ້ມູນອ້າງອີງສຳລັບຕິດຕາມ. ຄ່າເຫຼົ່ານີ້ຈະຖືກສົ່ງກັບມາໃນ webhook callback, ເຮັດໃຫ້ຈັບຄູ່ທຸລະກຳກັບລະບົບພາຍໃນຂອງທ່ານໄດ້ງ່າຍຂຶ້ນ.
{ "orderNo": "ORDER175766559645",
"amount": 50000,
"description":"Sandbox test",
"tag1": "AppZap Shop",
"tag2": "666bbb461732a2e46233fdf9",
}1.3 Response Data
| Field | ປະເພດ | ຄຳອະທິບາຍ |
|---|---|---|
| message | String | ຂໍ້ຄວາມບອກຜົນລັບຂອງການເອີ້ນ API |
| redirectURL | String | URL ຂອງໜ້າ payment link ທີ່ໃຊ້ໃນຂັ້ນຕອນການຊຳລະ |
{
"message": "SUCCESS",
"redirectURL" :"https://payment-link-sandbox.netlify.app?amount=5000&linkCode=4MNBOBGS2MZB"
}1.4 ປ່ຽນເສັ້ນທາງໄປ Payment Link SandBox
ໃນຂັ້ນຕອນນີ້, ຜູ້ໃຊ້ຈະຖືກປ່ຽນເສັ້ນທາງໄປຍັງໜ້າ payment link sandbox ທີ່ປອດໄພ ເພື່ອເລືອກທະນາຄານ ແລະ ຊຳລະເງິນໃຫ້ສຳເລັດ
ຂັ້ນຕອນທີ 1 : ລະບົບຈະປ່ຽນເສັ້ນທາງໄປຍັງ payment link sandbox ເພື່ອເລືອກທະນາຄານ

ໝາຍເຫດ : ໂລໂກ້ທະນາຄານທີ່ສະແດງຢູ່ນີ້ເປັນພຽງຕົວຢ່າງເພື່ອຈຳລອງຂັ້ນຕອນການຊຳລະຈິງ — Sandbox ບໍ່ໄດ້ເຊື່ອມຕໍ່ກັບທະນາຄານໃດໆຈິງ.
ຂັ້ນຕອນທີ 2 : ເມື່ອຜູ້ໃຊ້ເລືອກທະນາຄານຂອງຕົນ, ລະບົບຈະປ່ຽນເສັ້ນທາງໄປຍັງໜ້າ QR code ເພື່ອຊຳລະເງິນອັດຕະໂນມັດ, ໃນໜ້ານີ້ຜູ້ໃຊ້ສາມາດເປີດແອັບ PhayJay ເພື່ອສະແກນ QR ຊຳລະເງິນ
ໝາຍເຫດ : ໃຫ້ສະແກນ QR code ດ້ວຍ ແອັບ PhaJay, ບໍ່ແມ່ນແອັບທະນາຄານຈິງຂອງທ່ານ. ເບິ່ງລາຍລະອຽດ ແລະ ລິ້ງດາວໂຫລດໄດ້ທີ່ ແອັບ PhaJay.
ຂັ້ນຕອນທີ 3 : ຫຼັງຈາກສະແກນ ແລະ ຊຳລະເງິນສຳເລັດ, ລະບົບຈະສະແດງຂໍ້ຄວາມເປັນເວລາ 5 ວິນາທີ ຈາກນັ້ນຈະປ່ຽນເສັ້ນທາງຜູ້ໃຊ້ໄປຍັງ success callback URL ຂອງຜູ້ໃຊ້ອັດຕະໂນມັດ

2. ຂໍ້ມູນ Webhook Callback
ເມື່ອທຸລະກຳສຳເລັດ, ລະບົບຈະສົ່ງຂໍ້ມູນ callback ໄປຍັງ webhook ຂອງຜູ້ໃຊ້. ຂໍ້ມູນນີ້ຖືກສົ່ງ ເປັນສ່ວນໜຶ່ງຂອງ HTTPS request (ໂດຍປົກກະຕິແມ່ນ POST) ຈາກ ບໍລິການໄປຍັງ webhook URL ທີ່ທ່ານກຳນົດ.
| Field | ປະເພດ | ຄຳອະທິບາຍ |
|---|---|---|
| message | String | ຂໍ້ຄວາມສະຖານະຂອງ response |
| _id | String | ສະຕຣິງທີ່ບັນຈຸຂໍ້ມູນ QR code |
| orderNo | String | ເລກ order ຂອງແພລດຟອມ. |
| linkCode | String | ລະຫັດທີ່ບໍ່ຊ້ຳກັນຂອງເອກະສານການຊຳລະ. |
| amount | number | ເລກບັນຊີທີ່ເລີ່ມທຸລະກຳ |
| currency | String | ລະຫັດສະກຸນເງິນ (ເຊັ່ນ: LAK) |
| descriptione | String | ຄຳອະທິບາຍ ຫຼື ຈຸດປະສົງຂອງທຸລະກຳ |
| status | String | ສະຖານະການຊຳລະ (ເຊັ່ນ: PAYMENT_COMPLETED) |
| user | String | ID ຂອງຜູ້ໃຊ້ໃນລະບົບ PhaJay |
| tag1 to tag6 | String | ຟີລດ໌ tag ແບບກຳນົດເອງ (ທາງເລືອກ) ສຳລັບໃຊ້ພາຍໃນ |
| isMerchantIdPayment | Boolean | ບອກວ່າການຊຳລະເຮັດຜ່ານ merchant ID ຫຼື ບໍ່ |
| isAffiliatePayment | Boolean | ບອກວ່າການຊຳລະເຮັດຜ່ານ affiliate ຫຼື ບໍ່ |
| createdAt | String (ISO Date) | ວັນທີ ແລະ ເວລາທີ່ສ້າງການຊຳລະ |
| updateAt | String (ISO Date) | ວັນທີ ແລະ ເວລາທີ່ອັບເດດການຊຳລະ |
| origin | String | ຊ່ອງທາງການຊຳລະ (ເຊັ່ນ: BCEL, JDB, LDB, IB) |
| transactionId | String | ລະຫັດທຸລະກຳທີ່ບໍ່ຊ້ຳກັນ |
| qrCode | String | ສະຕຣິງຂໍ້ມູນ QR code ສຳລັບສະແກນເພື່ອຊຳລະ |
| closedBy | String | ບອກວ່າໃຜເປັນຜູ້ປິດທຸລະກຳ (ເຊັ່ນ: CUSTOMER) |
| paymentData | String | metadata ລາຍລະອຽດຂອງການຊຳລະ ໃນຮູບແບບ JSON ທີ່ເປັນສະຕຣິງ |
| paymentTime | String (ISO Date) | ເວລາຈິງຂອງທຸລະກຳການຊຳລະ |
⚠️ ໝາຍເຫດ:
ຂໍ້ມູນ callback ຂອງການຊຳລະໃນ Sandbox ແລະ ໃນ production ອາດຈະແຕກຕ່າງກັນ. ດັ່ງນັ້ນ ກະລຸນາກວດສອບຂໍ້ມູນ callback ຂອງທ່ານຢ່າງລະອຽດ ເມື່ອປ່ຽນໄປໃຊ້ production.
ອັບເດດຫຼ້າສຸດ: 1 ເດືອນກ່ອນ