ย้อนกลับ Charge
ย้อนกลับ charge ที่ได้รับอนุมัติล่วงหน้าเพื่อปล่อยการระงับเงินของลูกค้าโดยไม่จับยอดการชำระเงิน ใช้ได้เฉพาะกับ charges ที่สร้างด้วย capture=false
พารามิเตอร์คำขอ
จำเป็น - 1 ฟิลด์พารามิเตอร์ที่จำเป็น
`id`STRING(required)
Charge ID ที่ต้องการย้อนกลับ ต้องเป็น charge ที่ได้รับอนุมัติล่วงหน้าแต่ยังไม่ได้จับยอด (status: successful, capture: false, reversible: true)
การตอบกลับ
200
ย้อนกลับสำเร็จยกเลิกการอนุมัติล่วงหน้า เงินถูกปล่อยกลับไปยังลูกค้า
การเปลี่ยนแปลงฟิลด์หลักหลังย้อนกลับ:
status- เปลี่ยนจาก successful เป็น reversedreversed- เปลี่ยนจาก false เ ป็น truereversed_at- ตั้งค่าเป็น timestamp ปัจจุบันreversible- เปลี่ยนจาก true เป็น falsecapturable- เปลี่ยนจาก true เป็น false
400
คำขอไม่ถูกต้องพารามิเตอร์ไม่ถูกต้องหรือไม่สามารถย้อนกลับ charge ได้
สาเหตุทั่วไป:
- Charge ถูกจับยอดแล้ว (ใช้การคืนเงินแทน)
- รูปแบบ charge ID ไม่ถูกต้อง
- Charge ไม่ใช่การอนุมัติล่วงหน้า
401
ไม่ได้รับอนุญาตการยืนยันตัวตนล้มเหลว API key ไม่ถูกต้องหรือขาดหายไป
สาเหตุทั่วไป:
- ขาด Authorization header
- Secret key ไม่ถูกต้อง
- ใช้ public key แทน secret key
404
ไม่พบCharge ID ไม่มีอยู่
สาเหตุทั่วไป:
- Charge ID ไม่ถูกต้อง
- Charge จากบัญชีอื่น
- ใช้ test key สำหรับ live charge (หรือในทางกลับกัน)
422
ไม่สามารถประมวลผลได้ไม่สามารถย้อนกลับ charge ได้
สาเหตุทั่วไป:
- Charge ถูกย้อนกลับแล้ว
- Charge ถูกจับยอดแล้ว (ไม่สามารถย้อนกลับ charges ที่จับยอดแล้ว)
- Charge ไม่สามารถย้อนกลับได้ (หมดอายุหรือสถานะไม่ถูกต้อง)
- การอนุมัติหมดอายุ (เกินกรอบเวลา 7 วัน)
5xx
ข้อผิดพลาดเซิร์ฟเวอร์เกิดข้อผิดพลาดฝั่งเซิร์ฟเวอร์ เกิดขึ้นไม่บ่อยแต่ควรจัดการอย่างเหมาะสม
วิธีจัดการ:
- ลองส่งคำขอใหม่ด้วย exponential backoff
- ตรวจสอบ status.omise.co สำหรับเหตุการณ์บริการ
- ดู การจัดการข้อผิดพลาด สำหรับคำแนะนำโดยละเอียด