Skip to main content

โมเดลข้อมูล - สถานะ

smilepayz teamsLess 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
  • การกระทบยอดการชำระบัญชี: การประมวลผลการชำระบัญชีตามสถานะ
Last update: