สอบถามเกี่ยวกับการ Hook status

ขอสอบถามในกรณีที่จะทำ webhook จาก omise หน่อยครับ

ไปอ่านDocsเจอมา
“ถ้าเราตัดเงินผ่าน Internet Banking สถานะของ charge จะไม่ได้รับการ update แบบ realtime”

เท่าที่ผมทดลองจากเดโม่ก็ได้รับสถานะ charge ทันที ตลอดนะครับ

ขอสอบถามหน่อยครับ

  1. แต่ถ้าสมมุติเหตุการณ์จริงๆถ้าเราไม่ได้ charge ทันที ,status ที่ส่งมา มันจะส่งมาเป็น pending

  2. ในกรณีที่ status เป็น pending เราก็ยังไม่ต้องทำอะไรใช่มั้ยครับ รอจนกว่า omise จะ hook status มา แล้วเราค่อยเปลี่ยนสถานะใน ดาต้าเบสเรา

  3. ถ้าเกิดว่าเกิน 24 ชั่วโมง แล้วสถานะยังไม่สำเร็จ, omise จะ hook มาเป็น failed อัตโนมัติ

ผมเข้าใจถูกมั้ยครับ ขอบคุณมากๆนะครับ อ่านDocsแล้วแอบงงนิดๆ

คุณ mrfirst

ถูกต้องทั้ง 3 ข้อครับ และคุณ mrfirst สามารถ query ดูสถานะ charge ล่าสุดผ่าน Charge API ได้ครับ แต่โดยปกติแล้วทาง Omise จะส่ง webhook ไปทันทีที่ charge เปลี่ยนสถานะเป็น successful ซึ่งน่าจะรวดเร็วกว่าการ query เข้ามาเองครับ

สาเหตุที่ Internet Banking charge ได้รับสถานะ successful ทันทีเวลาเดโม่ เนื่องจาก Omise ไม่ได้เชื่อมต่อกับระบบธนาคารจริงในระบบ Test ครับ ในระบบ Live เมื่อเชื่อมต่อกับธนาคารจริง charge อาจเปลี่ยนสถานะเป็น successful ล่าช้าได้ เนื่องจากบางครั้งระบบธนาคารอาจส่งข้อมูล charge กลับมาล่าช้าครับ

1 Like

ผมถามเพิ่มหน่อยครับ
3. ถ้าเกิดว่าเกิน 24 ชั่วโมง แล้วสถานะยังไม่สำเร็จ, omise จะ hook มาเป็น failed อัตโนมัติ

ข้อนี้ จะส่ง webhook กลับมา Charge Event อะไรหรอครับ

Event charge.complete ครับ

ขอบคุณครับ :handshake:

ยินดีครับ :handshake: :smile: