โมเดลข้อมูล - สถานะ
Less than 1 minute
ภาพรวมสถานะธุรกรรม
โมเดลข้อมูลสถานะธุรกรรมจะกำหนดโครงสร้างสำหรับข้อมูลสถานะวงจรชีวิตธุรกรรม โมเดลนี้จะรวมการติดตามสถานะ การตรวจสอบ และการจัดการสถานะสำหรับธุรกรรมการชำระเงิน
คำจำกัดความรหัสสถานะ
รหัสสถานะ | คำอธิบาย |
---|---|
INIT | คำขอธุรกรรมได้รับการลงทะเบียนแล้วแต่ยังไม่ได้ระบุวิธีการชำระเงิน การใช้งาน: สถานะเริ่มต้นเมื่อสร้างคำสั่งซื้อแล้วแต่ลูกค้ายังไม่ได้เลือกวิธีการชำระเงิน สถานะถัดไป: PROCESSING (หลังจากเลือกวิธีการชำระเงิน) |
PROCESSING | ธุรกรรมกำลังถูกประมวลผลอย่างต่อเนื่อง การใช้งาน: การชำระเงินของลูกค้ากำลังรอดำเนินการหรือคำสั่งซื้อกำลังถูกประมวลผลโดยผู้ให้บริการการชำระเงิน สถานะถัดไป: SUCCESS, FAILED, EXPIRED |
SUCCESS | ธุรกรรมเสร็จสิ้นสำเร็จแล้ว การใช้งาน: ได้รับการชำระเงินหรือการจ่ายเงินเสร็จสิ้นสำเร็จ สถานะถัดไป: สถานะสุดท้าย - ไม่มีการเปลี่ยนแปลงเพิ่มเติม |
FAILED | ธุรกรรมล้มเหลวและถึงสถานะสุดท้าย การใช้งาน: การประมวลผลการชำระเงินล้มเหลวเนื่องจากหลายสาเหตุ (เงินไม่เพียงพอ ปัญหาทางเทคนิค ฯลฯ) สถานะถัดไป: สถานะสุดท้าย - ไม่มีการเปลี่ยนแปลงเพิ่มเติม |
EXPIRED | ธุรกรรมหมดอายุเนื่องจากหมดเวลาหรือไม่มีการใช้งาน การใช้งาน: การชำระเงินไม่เสร็จสิ้นภายในขีดจำกัดเวลาที่ระบุหรือการเชื่อมต่ออินเทอร์เน็ตหมดเวลา สถานะถัดไป: สถานะสุดท้าย - ไม่มีการเปลี่ยนแปลงเพิ่มเติม |
การไหลของวงจรชีวิตธุรกรรม
ระยะการเริ่มต้น
INIT → PROCESSING
- ตัวกระตุ้น: ลูกค้าเลือกวิธีการชำระเงิน
- ระยะเวลา: การเปลี่ยนแปลงทันที
- การดำเนินการ: การตรวจสอบวิธีการชำระเงินและการเริ่มการประมวลผล
ระยะการประมวลผล
PROCESSING → SUCCESS/FAILED/EXPIRED
- ระยะเวลา: แตกต่างกันตามวิธีการชำระเงินและเวลาการประมวลผล
- การดำเนินการ: การประมวลผลการชำระเงิน การโต้ตอบกับลูกค้า การสื่อสารกับผู้ให้บริการ
สถานะสุดท้าย
- SUCCESS: ธุรกรรมเสร็จสิ้น เงินถูกโอน
- FAILED: ธุรกรรมสิ้นสุดเนื่องจากความล้มเหลว
- EXPIRED: ธุรกรรมสิ้นสุดเนื่องจากหมดเวลา
ตัวอย่างการใช้งาน
{
"tradeNo": "122200312406111311517153",
"orderNo": "200110edbb466abb04682968b40",
"status": "SUCCESS",
"transactionTime": "2020-12-17T10:55:00-05:00"
}
การตรวจสอบและจัดการสถานะ
การอัปเดตสถานะแบบเรียลไทม์
- การแจ้งเตือน Webhook: การอัปเดตสถานะอัตโนมัติผ่าน URL callback
- การตรวจสอบ API: การตรวจสอบสถานะปกติโดยใช้ API การสอบถาม
- การซิงค์สถานะ: สถานะที่สอดคล้องกันในทุกส่วนประกอบของระบบ
การจัดการข้อผิดพลาด
- สถานะ FAILED: ใช้กลไกการลองใหม่และการบันทึกข้อผิดพลาด
- สถานะ EXPIRED: จัดการสถานการณ์หมดเวลาและการแจ้งเตือนผู้ใช้
- สถานะ PROCESSING: ตรวจสอบธุรกรรมที่ติดค้างและใช้การหมดเวลา
ตรรกะทางธุรกิจ
- การจัดการคำสั่งซื้อ: อัปเดตสถานะคำสั่งซื้อตามสถานะธุรกรรม
- การจัดการสินค้าคงคลัง: ปล่อยสินค้าคงคลังที่สำรองไว้เมื่อ FAILED/EXPIRED
- การสื่อสารกับลูกค้า: ส่งการแจ้งเตือนที่เหมาะสมสำหรับแต่ละสถานะ
การพิจารณาตามภูมิภาค
เวลาการประมวลผล
- กระเป๋าเงินดิจิทัล: โดยทั่วไป 1-5 นาทีสำหรับ SUCCESS
- การโอนเงินธนาคาร: 1-3 วันทำการสำหรับการเสร็จสิ้น
- การชำระเงินสด: ทันทีเมื่อยืนยันการชำระเงิน
- คริปโตเคอเรนซี: 10-60 นาทีขึ้นอยู่กับเครือข่าย
ความน่าเชื่อถือของสถานะ
- ความน่าเชื่อถือสูง: สถานะ SUCCESS และ FAILED เป็นที่แน่นอน
- สถานะกลาง: PROCESSING อาจต้องการการตรวจสอบเพิ่มเติม
- การจัดการหมดเวลา: สถานะ EXPIRED สำหรับธุรกรรมที่ถูกทิ้ง
ความปลอดภัยและการปฏิบัติตาม
การตรวจสอบสถานะ
- การป้องกันการแก้ไข: การเปลี่ยนแปลงสถานะต้องมีการลงนามด้วยการเข้ารหัส
- ร่องรอยการตรวจสอบ: บันทึกที่สมบูรณ์ของการเปลี่ยนแปลงสถานะทั้งหมด
- การตรวจสอบ: ตรวจสอบสถานะกับยืนยันจากผู้ให้บริการการชำระเงิน
ข้อกำหนดกฎระเบียบ
- การรายงานธุรกรรม: การรายงานสถานะที่แม่นยำสำหรับการปฏิบัติตามกฎระเบียบ
- การแก้ไขข้อพิพาท: เอกสารสถานะที่ชัดเจนสำหรับการจัดการ chargeback
- การกระทบยอดการชำระบัญชี: การประมวลผลการชำระบัญชีตามสถานะ