ทดสอบการเชื่อมต่อของคุณใน 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
การเปลี่ยนไปใช้ระบบจริง
- ลงทะเบียนบัญชีผู้ค้าและใช้
appid,apikeyและkeyสำหรับระบบจริงของคุณ - ตั้งค่า
notify_urlจริงของคุณในการตั้งค่าบัญชีหรือต่อคำสั่งซื้อ - อย่าเปิดเผย API Key ในโค้ดฝั่งไคลเอ็นต์
- ตรวจสอบลายเซ็นเว็บฮุคฝั่งเซิร์ฟเวอร์เสมอ
เอกสารอ้างอิงฉบับเต็ม: เอกสาร API · การทดสอบจริง: Sandbox Playground