Skip to content

รหัส Error

รายการรหัส Error ทั้งหมดใน Thunder Solution API

รูปแบบ Error Response

json
{
  "status": 400,
  "message": "error_code",
  "data": {
    // ข้อมูลเพิ่มเติม (ถ้ามี)
  }
}

รหัส HTTP Status

Statusความหมาย
200สำเร็จ
400Request ไม่ถูกต้อง
401ไม่ได้รับอนุญาต
403ไม่มีสิทธิ์เข้าถึง
404ไม่พบข้อมูล
429เรียกใช้ API มากเกินไป
500Server Error

Error สำหรับ Authentication

รหัสคำอธิบายวิธีแก้ไข
unauthorizedAPI Key ไม่ถูกต้องหรือหมดอายุตรวจสอบ API Key
forbiddenไม่มีสิทธิ์เข้าถึง Endpoint นี้ติดต่อฝ่ายสนับสนุน

Error สำหรับการตรวจสอบสลิป

รหัสคำอธิบายวิธีแก้ไข
invalid_payloadPayload ไม่ถูกต้องตรวจสอบรูปแบบ Payload
invalid_imageรูปภาพไม่ถูกต้องใช้รูปภาพที่รองรับ (JPEG, PNG, GIF, WebP)
invalid_urlURL ไม่ถูกต้องตรวจสอบรูปแบบ 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_requestRequest ไม่ถูกต้องตรวจสอบพารามิเตอร์ที่ส่ง
invalid_typeประเภท QR ไม่ถูกต้องใช้ PROMPTPAY, KSHOP, MAE_MANEE หรือ TUNGNGERN
invalid_msisdnเบอร์โทรศัพท์ไม่ถูกต้องใช้รูปแบบ 0xxxxxxxxx
invalid_natIdเลขบัตรประชาชนไม่ถูกต้องใช้เลข 13 หลัก
invalid_ref1Reference 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}')

ที่เกี่ยวข้อง

Bank Slip Verification API for Thai Banking