ยินดีต้อนรับสู่คู่มือนักพัฒนาของ Elixopay! ออกแบบมาเพื่อให้คุณผสานระบบการชำระเงินที่ปลอดภัยและเสถียรเข้ากับแพลตฟอร์มของคุณได้อย่างรวดเร็ว API ของเราใช้สถาปัตยกรรม REST ที่ได้มาตรฐาน ตอบกลับเป็น JSON เสมอ และใช้ HTTP Status Codes อย่างถูกต้อง
Elixopay API ใช้ API Keys ในการยืนยันตัวตน คุณสามารถจัดการและสร้างคีย์ใหม่ได้ที่แดชบอร์ดนักพัฒนา
ห้ามเปิดเผย Secret API Key ของคุณในที่สาธารณะ เช่น ในฝั่ง Client-side (เบราว์เซอร์, แอปมือถือ) หรือใน GitHub repository การประมวลผลการชำระเงินทั้งหมดต้องทำผ่านเซิร์ฟเวอร์ (Backend) เท่านั้น
การร้องขอทั้งหมดต้องส่งคีย์ผ่าน Authorization Header ในรูปแบบ
Bearer token:
สำหรับนักพัฒนาที่ต้องการนำ Elixopay ไปทดสอบเชื่อมต่อกับระบบของตัวเอง สามารถทำตามขั้นตอนทั้ง 5 นี้ได้เลยครับ
สมัครสมาชิกและเข้าสู่
Developer Dashboard ไปที่เมนู API Keys เพื่อคัดลอกคีย์ทดสอบที่ขึ้นต้นด้วย sk_test_...
(การทำรายการด้วยคีย์นี้จะไม่เกิดการตัดเงินจริง)
เมื่อลูกค้ากดจ่ายเงิน
ให้ Backend ของคุณยิง POST /api/v1/payments
มาที่ Elixopay พร้อมแนบคีย์
sk_test_...
(ตามตัวอย่างในหัวข้อก่อนหน้า)
หลังจากยิง API สำเร็จ
Elixopay จะตอบกลับมาเป็น checkout_url
ระบบของคุณแค่ต้อง Redirect ลูกค้าไปที่ลิงก์นั้น
เพื่อให้ลูกค้ากรอกข้อมูลบัตรหรือแสกน QR ทดสอบ
เมื่อรายการทดสอบเสร็จสิ้น
Elixopay จะเด้งลูกค้ากลับไปยัง return_url
ที่คุณตั้งไว้
และจะยิง Webhook แจ้งเตือนสถานะสำเร็จไปยังระบบหลังบ้านของคุณ
เมื่อทดสอบจนมั่นใจแล้ว
ให้เปลี่ยน API Key ในโค้ดจาก sk_test_...
เป็น
sk_live_...
เพื่อพร้อมรับชำระเงินจริงจากลูกค้าได้ทันที!
ใช้เลขบัตรเหล่านี้สำหรับทดสอบในหน้า Checkout:
ใช้ Endpoint นี้เพื่อสร้างเซสชันการชำระเงินใหม่สำหรับลูกค้าของคุณ ระบบจะส่งกลับลิงก์สำหรับชำระเงิน (Checkout URL) ที่คุณสามารถพาลูกค้าไปทำรายการต่อได้
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| amount numberRequired | จำนวนเงินที่ต้องการเรียกเก็บ (เช่น 1000.00 สำหรับหนึ่งพันบาท) |
| currency stringRequired |
สกุลเงินที่ใช้ทำรายการ ปัจจุบันรองรับเฉพาะ THB
|
| description string | รายละเอียดหรือชื่อสินค้าที่จะแสดงในหน้าชำระเงิน |
| reference_id stringRequired | รหัสอ้างอิงรายการจากระบบของคุณ (ต้องไม่ซ้ำกันในแต่ละรายการ) |
| return_url stringRequired | URL ที่คุณต้องการให้ระบบพาลูกค้ากลับไป หลังจากหน้าชำระเงินดำเนินการเสร็จสิ้น |
| metadata object | ข้อมูลเพิ่มเติมแบบ Key-Value (สูงสุด 10 keys) ที่คุณต้องการแนบไว้กับรายการนี้ |
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| id string |
รหัสอ้างอิงรายการของ Elixopay (เริ่มต้นด้วย pay_) นำไปใช้เช็คสถานะต่อไป
|
| checkout_url string | ลิงก์หน้าชำระเงินที่คุณต้องนำไป Redirect ลูกค้าย้ายไปหน้าชำระเงิน |
| status string |
สถานะของการชำระเงิน (เริ่มต้นด้วย pending เสมอสำหรับการสร้างรายการใหม่)
|
ดึงข้อมูลรายละเอียดและสถานะล่าสุดของรายการชำระเงินด้วย Payment ID
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| id stringRequired |
รหัส Payment ID ที่ได้รับตอนสร้างรายการ (pay_xxxxxxxxxxxxxx)
|
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| id string |
รหัส Payment ID ของรายการนี้ (เริ่มด้วย pay_)
|
| object string |
ประเภทของออบเจ็กต์ (จะเป็น payment เสมอ)
|
| amount number | จำนวนเงินของรายการ |
| currency string |
สกุลเงินของรายการ (เช่น THB)
|
| status string |
สถานะปัจจุบันของการชำระเงิน (pending, successful, failed)
|
| paid_at timestamp | เวลาที่รายการชำระเงินสำเร็จ (เป็น Unix Timestamp) จะเป็น null หากยังไม่สำเร็จ |
| payment_method string |
ช่องทางที่ลูกค้าใช้ชำระเงิน (เช่น promptpay, credit_card,
truemoney)
|
| reference_id string | รหัสอ้างอิงรายการจากระบบของคุณ |
ใช้ Endpoint นี้เพื่อทำการคืนเงิน (Refund) ให้กับลูกค้า หลังจากที่ชำระเงินสำเร็จ (Completed) สามารถระบุจำนวนเงินคืนบางส่วน หรือคืนเต็มจำนวนก็ได้ ยอดเงินจะถูกหักจากกระเป๋าเงิน (Wallet) ของคุณ
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| id number (URL)Required | ไอดีของการชำระเงินที่ต้องการคืนเงิน (Transaction ID) ส่งผ่าน URL path |
| amount number | จำนวนเงินที่ต้องการคืน หากไม่ระบุจะเป็นการคืนเต็มจำนวน |
| reason string | เหตุผลในการคืนเงิน (ไม่บังคับ) |
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| success boolean | ระบุว่าการคืนเงินสำเร็จหรือไม่ |
| data.id number | รหัสรายการคืนเงินที่ถูกสร้างขึ้น |
| data.refundedAmount number | จำนวนเงินที่คืนให้ลูกค้า |
| data.originalTransactionId number | รหัสรายการชำระเงินต้นทาง |
API จัดการระบบ Subscription ซึ่งอนุญาตให้คุณสร้างสินค้ารายเดือน (Products), แผนราคา (Prices) และพ่วงผูกลูกค้าเข้ากับแพ็กเกจ เพื่อให้เกิดการเรียกเก็บเงินอัตโนมัติ
สร้างสินค้าเพื่อใช้ในการสมัครสมาชิก (เช่น "Premium Plan")
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| name stringRequired | ชื่อสินค้าหรือแพลน (เช่น "Premium Plan", "Basic Plan") |
สร้างราคาและรอบบิล (เช่น เดือนละ 500 บาท) ผูกกับ Product ID
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| productId stringRequired | รหัส Product ที่ต้องการผูกราคา |
| amount numberRequired | จำนวนเงินต่อรอบบิล (เช่น 500.00 บาท) |
| interval stringRequired |
รอบการเก็บเงิน (month, year)
|
ลงทะเบียนลูกค้าใหม่เข้าสู่ระบบ Billing
สมัครสมาชิกลูกค้า (พ่วง Customer ID กับ Price ID)
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| customerId stringRequired | รหัสลูกค้าที่ต้องการสมัครสมาชิก |
| priceId stringRequired | รหัสราคา (Price ID) ที่ต้องการผูก |
ใช้ Endpoint นี้เพื่อสร้างคำสั่งถอนเงินออกจากกระเป๋าเงิน (Wallet) ยอดเงินจะถูกโอนเข้าบัญชีธนาคารที่คุณผูกไว้ในระบบ
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| amount numberRequired | จำนวนเงินที่ต้องการถอน (ต้องมียอดคงเหลือเพียงพอรวมค่าธรรมเนียม) ตัวอย่างเช่น 500.00 |
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| success boolean | ระบุว่าการส่งคำขอสำเร็จหรือไม่ |
| transaction object | ออบเจ็กต์ข้อมูลรายการถอนเงินที่ถูกสร้างขึ้นในสถานะ 'PENDING' |
Webhooks คือวิธีการที่ Elixopay ส่งการแจ้งเตือนแบบเรียลไทม์ (HTTP POST) ไปยังเซิร์ฟเวอร์ของคุณเมื่อเกิดเหตุการณ์ต่างๆ เช่น ลูกค้าชำระเงินสำเร็จแล้ว
เพื่อความปลอดภัยสูงสุด คุณควรยืนยันความถูกต้องของ Webhook ทุกครั้งโดยตรวจสอบลายเซ็น (Signature)
เข้ารหัสผ่าน HMAC-SHA256 ที่แนบมาใน Header X-Elixopay-Signature
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| event string |
ประเภทของ Event ที่เกิดขึ้น (เช่น payment.successful, payment.failed)
|
| created_at timestamp | เวลาที่เกิด Event แจ้งเตือน (Unix Timestamp) |
| data object | ออบเจ็กต์ข้อมูลที่อัปเดต เช่น ข้อมูลของ Payment ที่สำเร็จ (มีโครงสร้างเดียวกับ Response การเช็คสถานะ) |
ดาวน์โหลดไฟล์และเครื่องมือที่จะช่วยให้การเชื่อมต่อกับ Elixopay ของคุณง่ายและรวดเร็วยิ่งขึ้น
รวบรวม API Endpoints ทั้งหมดไว้ในที่เดียว เพื่อการทดสอบที่รวดเร็วไม่ต้องตั้งค่าเอง
ดาวน์โหลดไฟล์ไฟล์ YAML มาตรฐานสำหรับใช้กับ Swagger หรือเครื่องมือสร้าง Code Generator ต่างๆ
ดาวน์โหลดไฟล์คู่มือฉบับสมบูรณ์ในรูปแบบ PDF สำหรับการอ่านแบบออฟไลน์หรือพิมพ์ออกมาอ้างอิง
Download FileElixopay Developer Tools v1.0