សេចក្តីផ្តើម
ស្វាគមន៍មកកាន់ឯកសារណែនាំស្តីពីការប្រើប្រាស់ **Payment Gateway API**។ ប្រព័ន្ធនេះអនុញ្ញាតឱ្យអ្នកបង្កើត KHQR Code សម្រាប់ទទួលការទូទាត់ប្រាក់ពីអតិថិជន និងពិនិត្យមើលស្ថានភាពនៃការបង់ប្រាក់ពីធនាគារបានភ្លាមៗ និងមានសុវត្ថិភាពខ្ពស់។
ការកំណត់បឋម (Configuration)
Payment Base URL
https://www.payment-system.dev/api/v1/
Your API Token
5644795371:V4NSVyqjn9VtAt0GWU7hwQdAN0BCRSU5Kxc
GET
១. បង្កើត QR Code (Generate QR)
ប្រើប្រាស់ Endpoint នេះដើម្បីបង្កើតរូបភាព KHQR សម្រាប់បង្ហាញទៅកាន់អតិថិជនស្កេនបង់ប្រាក់។
ប៉ារ៉ាម៉ែត្រតម្រូវ (URL Parameters)៖
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | ការពិពណ៌នា |
|---|---|---|
| type | string | តម្លៃថេរត្រូវតែដាក់: generate_qr |
| api_token | string | លេខកូដសម្ងាត់ API Token របស់អ្នក |
| amount | float / decimal | ចំនួនទឹកប្រាក់ដែលត្រូវទូទាត់ (ឧទាហរណ៍៖ 0.01) |
លីងឧទាហរណ៍ជាក់ស្តែង (Example URL)៖
https://www.payment-system.dev/api/v1/?type=generate_qr&api_token=5644795371:V4NSVyqjn9VtAt0GWU7hwQdAN0BCRSU5Kxc&amount=0.01
លទ្ធផលទទួលបាន (JSON Response)៖
{
"code": 201,
"status": "success",
"message": "បង្កើតបាន Qr Code ជោគជ័យ。",
"data": [
{
"qr": "00020101021229210017chean_punlok@aclb52045999530384054040.015802KH5913CHEAN PUNLORK6010Phnom Penh62690313CHEAN PUNLORK021008833320150119INV-1782986991000440711Terminal 01993400131782986991825011317830733918256304C192",
"md5": "57414f137d1a137c5b475dcca5b9782c",
"bill_number": "INV-178298699100044",
"merchant_name": "CHEAN PUNLORK",
"status": "pending",
"credit_balance": "150",
"link_qr_code": "https://www.payment-system.dev/api/v1/qr/57414f137d1a137c5b475dcca5b9782c.png",
"expire_date": "2026-07-02 17:14:52"
}
],
"errors": null
}
**ចំណាំ:** អ្នកត្រូវរក្សាទុកតម្លៃ
md5 ទុកក្នុង Database ដើម្បីយកទៅឆែកមើលស្ថានភាពបង់ប្រាក់នៅជំហានបន្ទាប់។
GET
២. ពិនិត្យស្ថានភាពបង់ប្រាក់ (Check MD5)
ប្រើប្រាស់សម្រាប់ហៅទៅឆែកជាបន្តបន្ទាប់ (Polling រៀងរាល់ ៣ ទៅ ៥ វិនាទីម្តង) ដើម្បីដឹងថាអតិថិជនបានបង់ប្រាក់រួចរាល់ហើយឬនៅ។
ប៉ារ៉ាម៉ែត្រតម្រូវ (URL Parameters)៖
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | ការពិពណ៌នា |
|---|---|---|
| type | string | តម្លៃថេរត្រូវតែដាក់: check_md5 |
| api_token | string | លេខកូដសម្ងាត់ API Token របស់អ្នក |
| md5 | string | តម្លៃកូដ md5 ដែលទទួលបានពីការបង្កើត QR កូដកាលពីជំហានទី១ |
លីងឧទាហរណ៍ជាក់ស្តែង (Example URL)៖
https://www.payment-system.dev/api/v1/?type=check_md5&api_token=5644795371:V4NSVyqjn9VtAt0GWU7hwQdAN0BCRSU5Kxc&md5=57414f137d1a137c5b475dcca5b9782c
ស្ថានភាពឆ្លើយតបផ្សេងៗ (Response Scenarios)
Pending
ករណី៖ កំពុងរង់ចាំការស្កេនបង់ប្រាក់ពីអតិថិជន
{
"code": 200,
"status": "pending",
"message": "កំពុងរង់ចាំការបង់ប្រាក់...",
"bakong_response": {
"responseCode": 1,
"responseMessage": "Transaction could not be found. Please check and try again.",
"errorCode": 1,
"data": null
}
}
Expired
ករណី៖ ហួសពេលកំណត់ (លើសពី ៥ នាទី)
{
"code": 400,
"status": "expired",
"message": "QR Code នេះបានផុតកំណត់ ៥ នាទីហើយ",
"credit_balance": "150",
"bakong_response": {
"responseCode": 1,
"responseMessage": "Transaction could not be found. Please check and try again.",
"errorCode": 1,
"data": null
}
}
Failed
ករណី៖ ប្រតិបត្តិការរអាក់រអួល ឬបរាជ័យ
{
"status": "failed",
"credit_balance": "92",
"bakong_response": {
"responseCode": 0,
"responseMessage": "Success",
"data": {
"hash": "6595fe7796f6999c7b063b8cbe08855b0696d9f8b18a4fa81ab18f00f8666cd8",
"currency": "USD",
"amount": 0.01,
"description": "61874098349 | KHQR"
}
}
}
Success
ករណី៖ អតិថិជនបានបង់ប្រាក់ជោគជ័យ 🎉
{
"status": "success",
"credit_balance": "144",
"bakong_response": {
"responseCode": 0,
"responseMessage": "Success",
"errorCode": null,
"data": {
"hash": "6aa5bd7de6214338b72bd512057db9cbdd61837c04698f61301f2fa1a48f4da6",
"fromAccountId": "aclbkhppxxx@aclb",
"toAccountId": "chean_punlok@aclb",
"currency": "USD",
"amount": 0.01,
"description": "test",
"createdDateMs": 1782991482000,
"acknowledgedDateMs": 1782991485000,
"externalRef": "61834949466"
}
}
}