กระบวนการบูรณาการ
ภาพรวม
คู่มือนี้จะพาคุณผ่านการบูรณาการ Smilepayz แบบครบวงจร—ตั้งแต่รับบัญชีจนถึง go-live ขั้นตอนเหมือนกันทุกภูมิภาค ต่างกันเฉพาะข้อมูลประจำตัวและ endpoint บางส่วน
ก่อนเริ่มต้น
รับบัญชี
- ติดต่อการพัฒนาธุรกิจ: ติดต่อทีมของเราเพื่อรับบัญชีบูรณาการ ไม่รองรับการลงทะเบียนด้วยตนเอง
- ยืนยันตัวตนให้เสร็จ: ทำการยืนยันตัวตน merchant ให้เสร็จเพื่อรับข้อมูลประจำตัวและการเข้าถึงเอกสาร API ตามภูมิภาค
ค้นหาเอกสาร API ตามภูมิภาค
แต่ละภูมิภาคมีสกุลเงินและวิธีการชำระเงินที่รองรับต่างกัน เลือกภูมิภาคของคุณ:
| ภูมิภาค | เอกสาร | สกุลเงิน | วิธีการชำระเงิน |
|---|---|---|---|
| บราซิล | เอกสาร API บราซิล | BRL | PIX, โอนเงินผ่านธนาคาร |
| ชิลี | เอกสาร API ชิลี | CLP | CASHIER_CL, โอนเงินผ่านธนาคาร |
| โคลอมเบีย | เอกสาร API โคลอมเบีย | COP | CASHIER_CO, โอนเงินผ่านธนาคาร |
| อินเดีย | เอกสาร API อินเดีย | INR | UPI, โอนเงินผ่านธนาคาร |
| อินโดนีเซีย | เอกสาร API อินโดนีเซีย | IDR | QRIS, บัญชีเสมือน |
| เม็กซิโก | เอกสาร API เม็กซิโก | MXN | SPEI, โอนเงินผ่านธนาคาร |
| เปรู | เอกสาร API เปรู | PEN | CASHIER_PE, โอนเงินผ่านธนาคาร |
| ฟิลิปปินส์ | เอกสาร API ฟิลิปปินส์ | PHP | GCASH, โอนเงินผ่านธนาคาร |
| ไทย | เอกสาร API ไทย | THB | QRPAY, โอนเงินผ่านธนาคาร |
| เวียดนาม | เอกสาร API เวียดนาม | VND | E-wallet, VietQR, โอนเงินผ่านธนาคาร |
| อียิปต์ | เอกสาร API อียิปต์ | EGP | FAWRY, รหัสธนาคาร |
| USDT | เอกสาร API USDT | USDT | USDT_TRC20, |
ขั้นตอนการบูรณาการ
พัฒนาและทดสอบใน sandbox ก่อน—ใช้ข้อมูลจำลอง ไม่มีเงินจริง หกขั้นตอนเดียวกันใช้กับ production ดู Go Live (Production) สำหรับสิ่งที่เปลี่ยนแปลง
ขั้นตอนที่ 1: รับข้อมูลประจำตัว
- เข้าสู่ระบบ พอร์ทัล Backend Merchant
- สลับไปแท็บ Sandbox
- คัดลอกข้อมูลประจำตัว:
- Merchant ID — ID sandbox ขึ้นต้นด้วย prefix
sandbox - Merchant Secret — ใช้สำหรับลงนามคำขอ ห้ามแก้ไขหรือแชร์
- Platform Public Key — ใช้ตรวจสอบ callback จาก Smilepayz
- Merchant ID — ID sandbox ขึ้นต้นด้วย prefix
ข้อมูล
ข้อมูลประจำตัว sandbox ใช้สำหรับทดสอบเท่านั้น และใช้ใน production ไม่ได้
ขั้นตอนที่ 2: กำหนดค่า IP Whitelist และ Callback URL
- IP Whitelist: ตั้งค่าเองใน sandbox เพิ่ม IP เซิร์ฟเวอร์พัฒนา—ดู การกำหนดค่า IP Sandbox
- Callback URL: กำหนดใน Backend Merchant หรือส่ง
callbackUrlต่อคำขอ ต้องใช้ HTTPS
ขั้นตอนที่ 3: สร้างคู่คีย์ RSA
- คลิก Generate RSA Keys ใน backend
- บันทึก public key แล้วรีเฟรชหน้าเพื่อยืนยันว่าบันทึกแล้ว
- เก็บ private key อย่างปลอดภัยและห้ามแชร์
คำเตือน
Public key ที่บันทึกต้องตรงกับ private key ที่ใช้ลงนาม คีย์ไม่ตรงกันจะทำให้ลายเซ็นผิดพลาด
ขั้นตอนที่ 4: บูรณาการ API
Base URL (sandbox): https://sandbox-gateway.smilepayz.com · เวอร์ชัน API: v2.0 · HTTPS เท่านั้น
เริ่มจาก demo SDK ของเรา:
| ภาษา | Repository |
|---|---|
| Java | Java Demo |
| C# | C# Demo |
| PHP | PHP SDK |
| Python | Python Demo |
| Node.js | Node.js Demo |
| Golang | Golang Demo |
แทนที่ merchantId, merchantSecret, และ privateKey ใน demo ด้วยของคุณ เก็บความลับใน environment variable ไม่ใช่ใน source code
ขั้นตอนที่ 5: สร้างคำสั่งซื้อ
code ใน response เป็น 00 หมายถึงสร้างคำสั่งซื้อสำเร็จ ใช้ orderNo ที่ได้รับเพื่อติดตาม ใน sandbox paymentUrl เป็นข้อมูล mock และรับการชำระเงินจริงไม่ได้
{
"code": "00",
"channel": {
"paymentUrl": "https://sandbox-gateway.smilepayz.com/cashier/#/loading?tradeNo=T1112001925061115234920979"
},
"orderNo": "S200192eeacf6ed4f74406900c8f1039",
"responseCode": "2009000",
"message": "Success"
}
เพื่อทดสอบการอัปเดตสถานะและการจัดการข้อผิดพลาด เรียก callback ด้วยตนเอง ใน sandbox
ขั้นตอนที่ 6: จัดการ Callback
- ดึง platform public key
- ตรวจสอบลายเซ็น callback—ทุกครั้ง ก่อนดำเนินการกับข้อมูล
- ส่งคืน
SUCCESSเพื่อยืนยันการรับ
Go Live (Production) {#going-live-production}
เมื่อทดสอบ end-to-end ใน sandbox เสร็จแล้ว ให้สลับไป production ขั้นตอนเหมือนกัน—มีเพียงสิ่งต่อไปนี้ที่ต่างกัน:
| Sandbox | Production | |
|---|---|---|
| ข้อมูลประจำตัว | จากแท็บ Sandbox | ชุดแยกจากแท็บ Production |
| Base URL | https://sandbox-gateway.smilepayz.com | https://gateway.smilepayz.com |
| IP Whitelist | ตั้งค่าเอง | ส่งให้ Customer Service |
| Payment URL | ข้อมูล mock | checkout จริง แตกต่างตามภูมิภาค |
| เงินทุน | จำลอง | เงินจริง |
ขั้นตอน go live:
- รับข้อมูลประจำตัว production จากแท็บ Production ใน Backend Merchant แยกจาก sandbox โดยสิ้นเชิง—ห้ามใช้ปนกัน
- ส่ง IP whitelist ให้ Customer Service ใน production ตั้งค่าเองไม่ได้ กำหนด callback URL production เหมือน sandbox
- สร้างคู่คีย์ RSA production และรีเฟรชเพื่อยืนยันว่า public key บันทึกแล้ว
- ชี้การบูรณาการ ไปที่
https://gateway.smilepayz.comด้วยข้อมูลประจำตัว production - จัดการ response:
channelที่ส่งกลับแตกต่างตามภูมิภาค—ดู Payment Channel Model ดึง production public key เพื่อตรวจสอบ callback live
คำเตือน
Production จัดการเงินจริง ห้ามใช้ข้อมูลประจำตัว sandbox ใน production
แนวทางปฏิบัติที่ดี
- ปกป้องความลับ: อย่าเก็บข้อมูลประจำตัวใน source code ใช้ environment variable หรือ secrets manager
- ตรวจสอบทุก callback: ตรวจสอบลายเซ็นก่อนดำเนินการกับข้อมูล callback เสมอ
- ใช้ HTTPS และ IP whitelisting: เข้ารหัส traffic ทั้งหมดและจำกัดเฉพาะ IP ที่ได้รับอนุญาต
- บันทึกและติดตาม: บันทึก request, response และ callback สำหรับการแก้ไขปัญหาและ audit
- ทดสอบก่อนเปิดใช้งาน: รันขั้นตอนครบใน sandbox ก่อน go-live
การสนับสนุน
- เอกสาร: อ้างอิง API และคู่มือการบูรณาการในเว็บไซต์นี้
- การสนับสนุนทางเทคนิค: ติดต่อทีมของเราสำหรับความช่วยเหลือการบูรณาการและการแก้ไขปัญหา
- การพัฒนาธุรกิจ: การเปิดบัญชี onboarding ตามภูมิภาค และเงื่อนไขเชิงพาณิชย์
