ข้ามไปยังเนื้อหาหลัก
เวอร์ชัน: ล่าสุด

สร้าง Charge

สร้าง charge ใหม่เพื่อประมวลผลการชำระเงิน สามารถสร้าง charges ได้โดยใช้ token (สำหรับบัตรเครดิต) source (สำหรับวิธีการชำระเงินทางเลือก) หรือ customer ID (สำหรับบัตรที่บันทึกไว้)


พารามิเตอร์คำขอ

จำเป็น - 2 ฟิลด์พารามิเตอร์ที่จำเป็น
`amount`INTEGER(required)
จำนวนเงินในหน่วยสกุลเงินที่เล็กที่สุด (สตางค์สำหรับ THB, เซนต์สำหรับ USD, เยนสำหรับ JPY) ตัวอย่าง: 100000 สตางค์ = 1,000 THB
Example:100000
Constraints:ต่ำสุด: 1 (หน่วยเล็กที่สุด), สูงสุด: แตกต่างตามวิธีการชำระเงินและสกุลเงิน
`currency`STRING(required)
รหัสสกุลเงินสามตัวอักษร ISO 4217 ตัวพิมพ์เล็ก
Example:"thb"
Values:thb, jpy, sgd, myr, usd, eur, gbp
จำเป็น - 1 จาก 3 ฟิลด์วิธีการชำระเงิน (ต้องระบุ 1 อย่าง)
`card`STRING(optional)
Token ID จาก Omise.js (เช่น tokn_test_...) หรือ card ID จากลูกค้า (เช่น card_test_...) จำเป็นถ้าไม่ได้ระบุ customer และ source
Example:"tokn_test_5xuy4w91xqz7d1w9u0t"
`source`STRING(optional)
Source ID สำหรับวิธีการชำระเงินทางเลือกเช่น PromptPay, mobile banking หรือ QR codes จำเป็นถ้าไม่ได้ระบุ card และ customer
Example:"src_test_5xuy4w91xqz7d1w9u0t"
`customer`STRING(optional)
Customer ID จะเรียกเก็บเงินจากบัตรเริ่มต้นของลูกค้า สามารถใช้ร่วมกับ card เพื่อระบุบัตรเฉพาะ จำเป็นถ้าไม่ได้ระบุ card และ source
Example:"cust_test_5xuy4w91xqz7d1w9u0t"
แนะนำ - 5 ฟิลด์พารามิเตอร์ที่แนะนำ
เพิ่มเติม - 7 ฟิลด์พารามิเตอร์เพิ่มเติม
การชำระเงินแบบประจำ - 3 ฟิลด์พารามิเตอร์การชำระเงินแบบประจำ

การตอบกลับ

200

ธุรกรรมสำเร็จ

สร้าง charge สำเร็จ ตรวจสอบฟิลด์ status เพื่อกำหนดขั้นตอนถัดไป

สถานะ charge ที่เป็นไปได้:
  • successful - การชำระเงินเสร็จสมบูรณ์ คุณได้รับเงินแล้ว
  • pending - Charge ยังไม่ได้รับการอนุมัติหรือจับยอด รอการดำเนินการของลูกค้า
  • failed - การชำระเงินล้มเหลว ตรวจสอบ failure_code และ failure_message สำหรับรายละเอียด
  • reversed - Charge ถูกย้อนกลับ (charges ที่ยังไม่ได้จับยอดสามารถย้อนกลับได้)
  • expired - Charge ที่รอดำเนินการหมดอายุก่อนการอนุมัติ

400

คำขอไม่ถูกต้อง

การตรวจสอบคำขอล้มเหลว ตรวจสอบข้อความข้อผิดพลาดสำหรับรายละเอียด

สาเหตุทั่วไป:
  • ขาดฟิลด์ที่จำเป็น (amount, currency)
  • รหัสสกุลเงินไม่ถูกต้อง
  • ไม่ได้ระบุวิธีการชำระเงิน (card, source หรือ customer)
  • จำนวนเงินไม่ถูกต้อง (ต่ำกว่าขั้นต่ำ)

401

ไม่ได้รับอนุญาต

การยืนยันตัวตนล้มเหลว API key ไม่ถูกต้องหรือขาดหายไป

สาเหตุทั่วไป:
  • ขาด Authorization header
  • Secret key ไม่ถูกต้อง
  • ใช้ public key แทน secret key
  • รูปแบบ HTTP Basic Auth ไม่ถูกต้อง

402

ต้องการการชำระเงิน

การประมวลผลการชำระเงินล้มเหลว

สาเหตุทั่วไป:
  • ยอดเงินไม่เพียงพอ
  • บัตรถูกปฏิเสธโดยผู้ออกบัตร
  • บัตรหมดอายุ
  • การยืนยัน 3D Secure ล้มเหลว
  • หมายเลขบัตรหรือ CVV ไม่ถูกต้อง

5xx

ข้อผิดพลาดเซิร์ฟเวอร์

เกิดข้อผิดพลาดฝั่งเซิร์ฟเวอร์ เกิดขึ้นไม่บ่อยแต่ควรจัดการอย่างเหมาะสม

วิธีจัดการ:

ตัวอย่างโค้ด

curl https://api.omise.co/charges \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "amount=100000" \
-d "currency=thb" \
-d "card=tokn_test_5xuy4w91xqz7d1w9u0t"

รหัสข้อผิดพลาดและผลลัพธ์

รหัสข้อผิดพลาดทั่วไป

รหัสคำอธิบายการแก้ไข
bad_requestพารามิเตอร์ขาดหายหรือไม่ถูกต้องตรวจสอบว่าระบุฟิลด์ที่จำเป็นทั้งหมดแล้ว
authentication_failureAPI key ไม่ถูกต้องตรวจสอบว่า secret key ถูกต้อง
invalid_cardการตรวจสอบบัตรล้มเหลวตรวจสอบหมายเลขบัตร วันหมดอายุ CVV
insufficient_fundsบัตรมียอดเงินไม่เพียงพอขอวิธีการชำระเงินอื่น
stolen_or_lost_cardบัตรถูกรายงานว่าถูกขโมย/สูญหายการชำระเงินถูกบล็อกเพื่อความปลอดภัย
failed_fraud_checkล้มเหลวในการตรวจจับการฉ้อโกงติดต่อฝ่ายสนับสนุน Omise

รหัสสถานะ Charge

สถานะคำอธิบาย
successfulการชำระเงินเสร็จสมบูรณ์
pendingรอการดำเนินการของลูกค้า (เช่น สแกน QR code)
failedการชำระเงินล้มเหลว (ดู failure_code)
reversedCharge ถูกยกเลิก/ย้อนกลับ
expiredCharge หมดอายุก่อนการชำระเงิน

🔑ข้อมูลยืนยันตัวตน API

ลองใช้งาน

จำเป็น - 2 ฟิลด์
จำเป็น - 1 จาก 3วิธีการชำระเงิน (ต้องเลือก 1 วิธี)
แนะนำ - 5 ฟิลด์
เพิ่มเติม - 7 ฟิลด์
IP ของคุณ: ...กำลังโหลด...