เริ่มต้นด่วน: ทดสอบการเชื่อมต่อการชำระเงินของคุณใน 5 นาที

Team 1 min read 37 views

ทดสอบการเชื่อมต่อของคุณใน 5 นาที

ใช้ Sandbox API Playground สาธารณะของเราพร้อมข้อมูลประจำตัวทดสอบที่ใช้ร่วมกัน ไม่มีการเรียกเก็บเงินจริง — คำสั่งซื้อไม่ถึงผู้ให้บริการชำระเงินจริง

ขั้นตอนที่ 1: รับข้อมูลประจำตัว sandbox

เปิด /sandbox คัดลอก App ID, API Key (สำหรับการลงนาม) และ Query Key (สำหรับการค้นหาคำสั่งซื้อ)

ขั้นตอนที่ 2: สร้างคำสั่งซื้อทดสอบ

ใช้แบบฟอร์ม Playground หรือส่ง POST ที่ลงนามไปที่ /api/createorder:

curl -X POST "https://your-domain.com/api/createorder" \
  -H "Content-Type: application/json" \
  -d '{
    "appid": "YOUR_SANDBOX_APPID",
    "action": "createorder",
    "clientip": "127.0.0.1",
    "amount": "9.99",
    "currency": "USD",
    "paymentMethod": "alipay",
    "description": "Test order",
    "notify_url": "https://your-domain.com/api/sandbox/webhook-receiver",
    "sign_type": "MD5",
    "sign": "CALCULATED_MD5_SIGN"
  }'

Playground คำนวณลายเซ็น MD5 ให้คุณ ดู เอกสาร API — ลายเซ็น สำหรับอัลกอริทึม

ขั้นตอนที่ 3: จำลองการชำระเงิน

เปิด redirectUrl จากการตอบกลับการสร้างคำสั่งซื้อ (หรือใช้ Simulate pay ใน Playground) คลิก Simulate Success เกตเวย์จะจัดคิวเว็บฮุคไปยัง notify_url ของคุณ

ขั้นตอนที่ 4: ตรวจสอบลายเซ็นเว็บฮุค

การเรียกกลับถูกส่งเป็น GET พร้อมพารามิเตอร์คิวรีรวมถึง sign และ sign_type=MD5 ตรวจสอบโดยใช้อัลกอริทึมเดียวกับการสร้างคำสั่งซื้อ โดยใช้ API Key ของคุณ

// ตัวอย่าง Node.js (แนวคิด)
const crypto = require('crypto');
function verifyCallback(params, apiKey) {
  const copy = { ...params };
  delete copy.sign;
  delete copy.sign_type;
  const keys = Object.keys(copy).filter(k => copy[k] != null).sort();
  const str = keys.map(k => k + '=' + copy[k]).join('&') + apiKey;
  const expected = crypto.createHash('md5').update(str).digest('hex');
  return expected === params.sign;
}

เซิร์ฟเวอร์ของคุณต้องตอบกลับด้วยข้อความธรรมดา success (ไม่คำนึงถึงตัวพิมพ์ใหญ่-เล็ก)

ขั้นตอนที่ 5: สอบถามสถานะคำสั่งซื้อ

GET /api/order?action=order&appid=APPID&key=QUERY_KEY&paymentId=ORDER_ID

หรือสอบถามปลายทางสาธารณะ: GET /api/order/status/:orderId

การเปลี่ยนไปใช้ระบบจริง

เอกสารอ้างอิงฉบับเต็ม: เอกสาร API · การทดสอบจริง: Sandbox Playground

แท็ก: api, sandbox, integration, webhook

← โพสต์ทั้งหมด