เริ่มต้นใช้งาน
สภาพแวดล้อม โฮสต์ที่ต้องเรียก และหลักการพื้นฐานเรื่องจำนวนเงิน เวลา และสกุลเงิน
สร้างจาก public-api.md โดยอัตโนมัติเวอร์ชัน 1.3.0ปรับปรุงล่าสุด 2026-10-14
#Environment
ชื่อแบรนด์และโดเมนกำหนดผ่านตัวแปรสภาพแวดล้อม (BRAND_DOMAIN ดู docs/rebranding.md)
เอกสารนี้จึงเขียนโฮสต์เป็นตัวแทน <domain> ไว้ สำหรับแบรนด์ที่ให้บริการอยู่ตอนนี้
<domain> คือ godpay.cash
| Environment | Base URL | ค่าที่ใช้จริง |
|---|---|---|
| ทั้งหมด | https://api.<domain>/v1 | https://api.godpay.cash |
production และ sandbox ใช้ base URL เดียวกัน คำขอจะทำงานฝั่งไหนขึ้นกับ
ประเภทร้านค้า (merchant type) ของ API key ที่ใช้ลงลายเซ็น คีย์ของร้านค้า sandbox
(pk_demo_…) จะได้รายการจำลองที่เก็บในตาราง sandbox ส่วนคีย์ของร้านค้า production
(pk_prod_…) จะได้รายการจริง ไม่มีโฮสต์ path หรือ header แยกสำหรับ sandbox
ใช้ URL เดิมแล้วเปลี่ยนแค่ข้อมูลยืนยันตัวตน
#ภาพรวม (Overview)
Public API ให้ร้านค้าเชื่อมต่อความสามารถด้านการรับ-จ่ายเงินเข้ากับระบบของตัวเองได้ ทุกคำขอต้องยืนยันตัวตนด้วย HMAC-SHA256
#Production กับ Sandbox
ประเภทของร้านค้า (ตั้งไว้ที่บัญชีร้านค้าของคุณ) เป็นตัวกำหนดเส้นทางของรายการ:
- ร้านค้าแบบ Production: เป็นรายการเงินจริง ประมวลผลผ่านผู้ให้บริการชำระเงิน และข้อมูลถูกบันทึกในตารางรายการของ production
- ร้านค้าแบบ Sandbox: เป็นรายการจำลอง ระบบสร้าง response ขึ้นเองโดยไม่เรียกผู้ให้บริการใด และข้อมูลถูกบันทึกในตาราง sandbox แยกต่างหาก ส่วน QR ที่ได้กลับมาเป็นของจำลอง ไม่ใช่ PromptPay ที่สแกนได้จริง
ทุก response จะมี header X-Environment (sandbox หรือ production) กำกับ
คุณจึงตรวจสอบได้ว่ากำลังคุยกับฝั่งไหน และ response ของ sandbox จะมี
X-Sandbox-Mode: true เพิ่มมาด้วย
#จำนวนเงิน เวลา และสกุลเงิน
- จำนวนเงินทั้งหมดเป็น THB ฟิลด์
currencyถูกตรวจแค่ความยาวและเก็บตามที่ส่งมา ระบบไม่มีการแปลงสกุลเงินและไม่ประมวลผลสกุลเงินอื่น - จำนวนเงินเป็นตัวเลขใน JSON ทศนิยม 2 ตำแหน่ง ส่วนค่าธรรมเนียมใช้การตัดทศนิยมทิ้ง (ไม่ใช่ปัดเศษ) ที่ 2 ตำแหน่ง
- timestamp ใน response เป็น RFC 3339 ตามเวลา Asia/Bangkok (
+07:00) เช่น2026-09-20T17:32:05+07:00ค่านี้เป็นเวลาแบบ ISO-8601 ตามมาตรฐาน ตัวแปลงวันที่ทั่วไปอ่านได้เหมือนเดิม ต่างจากรูปแบบZที่ใช้ก่อนวันที่ 20 ก.ย. 2026 เฉพาะส่วน offset เท่านั้น วันทำการยึดตามเวลา Asia/Bangkok ดังนั้นส่วนวันที่ของ timestamp คือวันทำการไทยแล้ว
หน้านี้แปลจากเอกสารต้นฉบับภาษาอังกฤษ ส่วนที่เป็นค่าทางเทคนิค — path, ชื่อฟิลด์, header, รหัสข้อผิดพลาด และชื่อคอลัมน์ในไฟล์ส่งออก — คงไว้เป็นภาษาอังกฤษตามที่ระบบใช้จริง

