รหัส Error
รายการรหัส Error ทั้งหมดใน Thunder Solution API
รูปแบบ Error Response
json
{
"status": 400,
"message": "error_code",
"data": {
// ข้อมูลเพิ่มเติม (ถ้ามี)
}
}รหัส HTTP Status
| Status | ความหมาย |
|---|---|
| 200 | สำเร็จ |
| 400 | Request ไม่ถูกต้อง |
| 401 | ไม่ได้รับอนุญาต |
| 403 | ไม่มีสิทธิ์เข้าถึง |
| 404 | ไม่พบข้อมูล |
| 429 | เรียกใช้ API มากเกินไป |
| 500 | Server Error |
Error สำหรับ Authentication
| รหัส | คำอธิบาย | วิธีแก้ไข |
|---|---|---|
unauthorized | API Key ไม่ถูกต้องหรือหมดอายุ | ตรวจสอบ API Key |
forbidden | ไม่มีสิทธิ์เข้าถึง Endpoint นี้ | ติดต่อฝ่ายสนับสนุน |
Error สำหรับการตรวจสอบสลิป
| รหัส | คำอธิบาย | วิธีแก้ไข |
|---|---|---|
invalid_payload | Payload ไม่ถูกต้อง | ตรวจสอบรูปแบบ Payload |
invalid_image | รูปภาพไม่ถูกต้อง | ใช้รูปภาพที่รองรับ (JPEG, PNG, GIF, WebP) |
invalid_url | URL ไม่ถูกต้อง | ตรวจสอบรูปแบบ URL |
image_size_too_large | รูปภาพใหญ่เกินไป | ลดขนาดรูปภาพให้ไม่เกิน 4 MB |
qrcode_not_found | ไม่พบ QR Code ในรูป | ใช้รูปที่มี QR Code ชัดเจน |
slip_not_found | ไม่พบข้อมูลสลิป | สลิปอาจหมดอายุหรือถูกลบ |
slip_pending | สลิปธนาคารกรุงเทพรอดำเนินการ | รอสักครู่แล้วลองใหม่ (ภายใน 5 นาที) |
slip_expired | สลิปหมดอายุ | ใช้สลิปที่ยังไม่หมดอายุ |
duplicate_slip | สลิปถูกใช้แล้ว | สลิปนี้เคยตรวจสอบมาก่อน |
Error สำหรับ QR Code
| รหัส | คำอธิบาย | วิธีแก้ไข |
|---|---|---|
invalid_request | Request ไม่ถูกต้อง | ตรวจสอบพารามิเตอร์ที่ส่ง |
invalid_type | ประเภท QR ไม่ถูกต้อง | ใช้ PROMPTPAY, KSHOP, MAE_MANEE หรือ TUNGNGERN |
invalid_msisdn | เบอร์โทรศัพท์ไม่ถูกต้อง | ใช้รูปแบบ 0xxxxxxxxx |
invalid_natId | เลขบัตรประชาชนไม่ถูกต้อง | ใช้เลข 13 หลัก |
invalid_ref1 | Reference 1 ไม่ถูกต้อง | ใช้ตัวอักษรพิมพ์ใหญ่ 1-20 ตัว |
Error สำหรับโควต้า
| รหัส | คำอธิบาย | วิธีแก้ไข |
|---|---|---|
quota_exceeded | โควต้าหมด | เติมโควต้าหรือรอรีเซ็ต |
rate_limited | เรียก API ถี่เกินไป | รอสักครู่แล้วลองใหม่ |
Error สำหรับ Account Matching (v2)
| รหัส | คำอธิบาย | วิธีแก้ไข |
|---|---|---|
account_not_match | บัญชีไม่ตรงกัน | ตรวจสอบหมายเลขบัญชีที่ส่ง |
amount_not_match | จำนวนเงินไม่ตรงกัน | ตรวจสอบจำนวนเงินที่ส่ง |
Error Response พร้อมข้อมูล
สลิปซ้ำ
json
{
"status": 400,
"message": "duplicate_slip",
"data": {
"transRef": "2024011512345678",
"date": "2024-01-15T10:30:00+07:00",
"amount": {
"amount": 1000.00
},
"verifiedAt": "2024-01-15T10:35:00+07:00"
}
}Validation Error
json
{
"status": 400,
"message": "invalid_request",
"data": {
"errors": [
{ "field": "ref1", "message": "Required" },
{ "field": "amount", "message": "Must be positive number" }
]
}
}การจัดการ Error
JavaScript
javascript
try {
const slip = await verifySlip(payload);
// สำเร็จ
} catch (error) {
switch (error.message) {
case 'invalid_payload':
console.error('Payload ไม่ถูกต้อง');
break;
case 'slip_not_found':
console.error('ไม่พบสลิป');
break;
case 'quota_exceeded':
console.error('โควต้าหมด กรุณาเติมเงิน');
break;
case 'duplicate_slip':
console.error('สลิปนี้ถูกใช้แล้ว');
console.log('ข้อมูลเดิม:', error.data);
break;
default:
console.error('เกิดข้อผิดพลาด:', error.message);
}
}PHP
php
try {
$slip = verifySlip($payload);
// สำเร็จ
} catch (ThunderException $e) {
switch ($e->getMessage()) {
case 'invalid_payload':
echo 'Payload ไม่ถูกต้อง';
break;
case 'slip_not_found':
echo 'ไม่พบสลิป';
break;
case 'quota_exceeded':
echo 'โควต้าหมด กรุณาเติมเงิน';
break;
case 'duplicate_slip':
echo 'สลิปนี้ถูกใช้แล้ว';
print_r($e->data);
break;
default:
echo 'เกิดข้อผิดพลาด: ' . $e->getMessage();
}
}Python
python
try:
slip = verify_slip(payload)
# สำเร็จ
except ThunderException as e:
if e.message == 'invalid_payload':
print('Payload ไม่ถูกต้อง')
elif e.message == 'slip_not_found':
print('ไม่พบสลิป')
elif e.message == 'quota_exceeded':
print('โควต้าหมด กรุณาเติมเงิน')
elif e.message == 'duplicate_slip':
print('สลิปนี้ถูกใช้แล้ว')
print('ข้อมูลเดิม:', e.data)
else:
print(f'เกิดข้อผิดพลาด: {e.message}')