ภาพรวม
ขั้นตอนการเปลี่ยนเส้นทางให้เสร็จสมบูรณ์จะเริ่มต้นหลังจากที่ขั้นตอนเริ่มเปลี่ยนเส้นทางเสร็จสมบูรณ์ และผู้ใช้ทำการชำระเงินในเว็บอินเทอร์เฟซของผู้ออกบัตร วัตถุประสงค์ของขั้นตอนการเปลี่ยนเส้นทางทั้งหมดคือ
- แจ้งให้ Google และผู้ผสานรวมการชำระเงินทราบว่าการชำระเงินสำเร็จแล้ว
- เปลี่ยนเส้นทางผู้ใช้กลับไปยัง Google ผ่านผู้ผสานการทำงาน
วิธีการทำงานของโฟลว์
ผู้รวมบริการสามารถส่งข้อมูลการชำระเงินที่สมบูรณ์ไปยัง Google ได้ 3 วิธีที่แตกต่างกัน
- ผู้ผสานการทำงานจะเปลี่ยนเส้นทางผู้ใช้ไปยัง Google โดยจะเพิ่มข้อมูลการชำระเงินลงในการตอบกลับการเปลี่ยนเส้นทาง
- ผู้ผสานรวมจะส่งคำขอ HTTPS ไปยังปลายทาง RedirectPaymentCompleteNotification ของ Google เมื่อการชำระเงินเสร็จสมบูรณ์
- Google จะส่งคำขอ HTTPS ไปยังปลายทาง GetRedirectPaymentStatus ของผู้ผสานการทำงาน และผู้ผสานรวมจะตอบกลับด้วยรายละเอียดการชำระเงิน
ดำเนินการเปลี่ยนเส้นทางให้เสร็จสมบูรณ์
แผนภาพลำดับต่อไปนี้แสดงการโต้ตอบระหว่างเบราว์เซอร์ของผู้ใช้, Google, ผู้ผสานการทำงาน และผู้ออกใบรับรอง
รายการออบเจ็กต์ในแผนภาพด้านบนมีดังนี้
- ผู้ใช้: นี่คือผู้ที่ชำระเงินจนเสร็จสมบูรณ์
- UI ของ Google: อินเทอร์เฟซเว็บหรือแอปของ Google ที่ลูกค้าเป็นผู้ทำการชำระเงิน
- เซิร์ฟเวอร์ของ Google: เซิร์ฟเวอร์แบ็กเอนด์ของ Google ซึ่งจะรับรายละเอียดการชำระเงินที่สมบูรณ์ และมอบสินค้าหรือบริการที่ซื้อแก่ผู้ใช้
- ผู้รวมการชำระเงิน: ผู้รวมการชำระเงินที่จะทำหน้าที่เป็นตัวกลางระหว่าง Google และผู้ออกการชำระเงิน
- ผู้ออก: ผู้ออกบัตรที่ผู้ใช้ชำระเงิน
เราสันนิษฐานว่าผู้ใช้เพิ่งชำระเงินในเว็บไซต์ของผู้ออกบัตร ซึ่งทริกเกอร์ขั้นตอนการเปลี่ยนเส้นทางเสร็จสมบูรณ์
- ผู้ใช้ชำระเงินจนเสร็จสมบูรณ์ในพอร์ทัลของผู้ออกบัตร
- ผู้ออกบัตรสร้าง URL เปลี่ยนเส้นทางที่ชี้ไปยังผู้รวมบริการพร้อมด้วยข้อมูลเกี่ยวกับการชำระเงินที่เสร็จสมบูรณ์
- ผู้ออกบัตรเปลี่ยนเส้นทางผู้ใช้ไปยังเซิร์ฟเวอร์แบ็กเอนด์ของผู้รวมการชำระเงิน
- ผู้รวมการชำระเงินจะสร้างการตอบกลับการเปลี่ยนเส้นทางโดยใช้ข้อมูลจากการเปลี่ยนเส้นทางของผู้ออกบัตร
- ผู้รวมการชำระเงินจะเปลี่ยนเส้นทางผู้ใช้ไปยัง Google
- ผู้ผสานการชำระเงินจะส่ง RedirectPaymentCompleteNotification ไปยัง Google ซึ่งจะใช้ในกรณีที่การเปลี่ยนเส้นทางล้มเหลวหลังจากที่ผู้ใช้ชำระเงินเสร็จสิ้น
- หาก Google ไม่ได้รับการตอบกลับการเปลี่ยนเส้นทางหรือ RedirectPaymentCompleteNotification ของ Google จะโทรหา GetRedirectPaymentStatus ไปยังผู้รวมการชําระเงิน ซึ่งควรตอบกลับด้วยข้อมูลสถานะการชําระเงิน
- Google ประมวลผลข้อมูลการชำระเงินมอบสินค้าหรือบริการที่ซื้อแก่ผู้ใช้
การแจ้งเตือนการเปลี่ยนเส้นทางการชำระเงินเสร็จสมบูรณ์
ดังที่แสดงในแผนภาพด้านบน Google กําหนดให้ผู้ผสานการทำงานส่ง RedirectPaymentCompleteNotification
ไปยัง Google เมื่อผู้รวมบริการระบุว่าการชําระเงินการเปลี่ยนเส้นทางได้รับการยอมรับหรือถูกปฏิเสธ โดยสามารถส่งการแจ้งเตือนนี้ไปยัง Google ก่อนหรือหลังจากที่ผู้ใช้ได้รับการเปลี่ยนเส้นทางกลับไปยัง Google แล้ว
หากผู้รวมบริการทราบว่าการชำระเงินแบบเปลี่ยนเส้นทางเสร็จสมบูรณ์ (ยอมรับหรือปฏิเสธ) หลังจากผ่านการเปลี่ยนเส้นทางไปแล้วหลายวัน ผู้ผสานการทำงานระบบควรส่ง RedirectPaymentCompleteNotification
ไปยัง Google การแจ้งเตือนเหล่านี้จะช่วยอัปเดตสถานะสุดท้ายเกี่ยวกับการชำระเงินและเป็นสิ่งจำเป็นในการจัดการการปรับยอดอย่างเหมาะสม
แนวทางปฏิบัติแนะนำและข้อควรพิจารณาอื่นๆ
มาตรการความปลอดภัย
URL การตอบกลับการเปลี่ยนเส้นทางจะมีช่อง redirectRequestId
ที่ไม่ได้เข้ารหัส และออบเจ็กต์ RedirectResponse ที่เข้ารหัสซึ่งมีค่าเดียวกัน Google จะตรวจสอบว่าทั้ง 2 ค่านี้ตรงกับช่อง requestId
ที่ส่งในคำขอเปลี่ยนเส้นทาง