ยอดเงินและธนาคาร
รายชื่อธนาคาร
ดึง bank master แบบ public ที่ key ด้วย bank_code สำหรับใช้กับ receiver_bank_provider ตอนถอน
GET /v1/banks
คืนรายชื่อ master ของธนาคารไทย แต่ละ entry มี bank_code ที่ใช้ส่งเข้า receiver_bank_provider ตอนสร้างรายการถอน
เป็น endpoint เดียว ภายใต้
/v1 ที่ ไม่ต้องยืนยันตัวตน (ไม่ต้องใช้ API key / HMAC) เพราะเป็นข้อมูลอ้างอิงคงที่ (master ของธนาคารไทย) ที่ไม่ขึ้นกับร้านค้าEndpoint
- Method / Path:
GET /v1/banks - Auth: ไม่ต้อง (public)
- Cache: response ส่ง header
Cache-Control: public, max-age=3600มาด้วย — ข้อมูลนิ่งคงที่ แนะนำให้ฝั่งร้านค้า cache ไว้ (อย่างน้อย 1 ชั่วโมงตามmax-age) ไม่ต้องเรียกซ้ำทุกครั้ง
Response shape
Response เป็น JSON object (map) โดย key ของแต่ละ entry คือ bank_code (เช่น "SCB", "KBANK") ไม่ใช่ array แต่ละ entry มี field ดังนี้
| Field | ชนิด | คำอธิบาย |
|---|---|---|
bank_code | string | รหัส alias ของธนาคาร (canonical enum) เช่น "SCB" — ใช้ค่านี้ในการระบุธนาคารตอนถอน (ส่งเข้า receiver_bank_provider) |
bank_number | string | เลขรหัสธนาคาร 3 หลักตามมาตรฐาน BOT เช่น "014" — ใช้แสดงผล/อ้างอิงเท่านั้น (display only) ห้ามนำไประบุธนาคารตอนถอน |
name_th | string | ชื่อย่อภาษาไทย เช่น "ไทยพาณิชย์" |
fullname_th | string | ชื่อเต็มภาษาไทย เช่น "ธนาคารไทยพาณิชย์" |
name_en | string | ชื่อภาษาอังกฤษ เช่น "The Siam Commercial Bank" |
bank_code vs bank_number
bank_codeคือค่าที่ใช้ "ระบุธนาคาร" จริง ๆ ในระบบ ตอนสร้างรายการถอน (POST /v1/withdrawalsฟิลด์receiver_bank_provider) ต้องส่งเป็นbank_codeเท่านั้น ระบบจะ validate ค่านี้กับ master — ถ้าส่งค่าที่ไม่รู้จักจะได้ errorINVALID_BANK(HTTP 422) การเทียบเป็นแบบ case-insensitive (ส่ง"scb"หรือ"SCB"ก็ได้ ระบบ normalize เป็นตัวพิมพ์ใหญ่)bank_number(เลข 3 หลัก BOT) มีไว้ แสดงผล/อ้างอิง เท่านั้น ระบบ ไม่ใช้ ในการจับคู่หรือระบุธนาคาร อย่าส่งbank_numberไปที่receiver_bank_provider
ช่องทางอย่าง PromptPay / TrueMoney เป็น "payment rails" ไม่ถือเป็นธนาคารใน list นี้ จึงไม่ปรากฏใน
/v1/banks และใช้เป็น bank_code ไม่ได้Example request
cURL
curl -X GET 'https://api.unkpay.co/v1/banks'
Example response (200 OK)
{
"SCB": {
"name_th": "ไทยพาณิชย์",
"fullname_th": "ธนาคารไทยพาณิชย์",
"name_en": "The Siam Commercial Bank",
"bank_code": "SCB",
"bank_number": "014"
},
"KBANK": {
"name_th": "กสิกรไทย",
"fullname_th": "ธนาคารกสิกรไทย",
"name_en": "Kasikorn Bank",
"bank_code": "KBANK",
"bank_number": "004"
},
"BBL": {
"name_th": "กรุงเทพ",
"fullname_th": "ธนาคารกรุงเทพ",
"name_en": "Bangkok Bank",
"bank_code": "BBL",
"bank_number": "002"
}
}
ตัวอย่างข้างบนตัดมาบางส่วน ของจริง master ปัจจุบันมีหลายธนาคาร (เช่น BBL, KBANK, KTB, TTB, SCB, BAY, GSB, KKP ฯลฯ) ให้ฝั่งร้านค้าดึงจาก endpoint นี้แล้ว cache ไว้ใช้ ไม่ควร hardcode รายชื่อในฝั่งร้านค้าเอง
ภาพประกอบกำลังจัดทำ — ตัวอย่างหน้าจอ dropdown เลือกธนาคารฝั่งร้านค้า ที่ดึงข้อมูลจาก GET /v1/banks (แสดง name_th + bank_number, ส่งค่า bank_code ไปหลังบ้าน)
