ภาพรวม
วัตถุประสงค์ของขั้นตอนการเริ่มเปลี่ยนเส้นทางคือการเปลี่ยนเส้นทางผู้ใช้ไปยังผู้รวมการชำระเงินที่มีข้อมูลเพียงพอที่จะชำระเงินให้เสร็จสมบูรณ์ ในทางกลับกัน ผู้ผสานการทำงานจะเปลี่ยนเส้นทางผู้ใช้ไปยังเว็บอินเทอร์เฟซของผู้ออกบัตร ซึ่งจะส่งต่อข้อมูลที่ Google ให้ไว้ จากนั้นผู้ใช้สามารถทำตามวิธีการที่ผู้ออกบัตรเพื่อชำระเงินให้เสร็จสมบูรณ์ ซึ่งจะทริกเกอร์ขั้นตอนการเปลี่ยนเส้นทางที่สมบูรณ์
วิธีการทำงานของโฟลว์
ผู้ใช้สามารถเลือกผู้ออกบัตรที่จะใช้เป็นรูปแบบการชำระเงิน (FOP) ได้ 2 วิธี
- ผู้ใช้เลือกผู้ให้บริการในอินเทอร์เฟซผู้ใช้ (UI) ของ Google
- ผู้ใช้เลือกผู้ผสานการทำงานใน UI ของ Google และเลือกผู้ให้บริการใน UI ของผู้ผสานการทำงาน
ผู้ใช้เลือกผู้ออกบัตรใน UI ของ Google
ในกรณีนี้ ผู้ใช้จะเลือกผู้ออกบัตรระหว่างการเลือก FOP ใน UI ของ Google ดังนั้นช่อง issuerId
ของออบเจ็กต์ formOfPayment
ใน RedirectRequest จะมีตัวระบุที่ไม่ซ้ำกันที่ Google สร้างขึ้นซึ่งเป็นตัวแทนของผู้ออกบัตร โปรดทราบว่าหากผู้รวมการชำระเงินและผู้ออกบัตรเป็นบุคคลเดียวกัน Google จะสร้าง issuerId
สำหรับผู้รวมการชำระเงิน คำขอเปลี่ยนเส้นทางใช้เมธอด HTTPS GET ที่มีพารามิเตอร์ที่เข้ารหัสใน URL
เริ่มขั้นตอนการเปลี่ยนเส้นทาง (เลือกผู้ออกใบรับรอง)
แผนภาพลำดับต่อไปนี้แสดงการโต้ตอบระหว่างเบราว์เซอร์ของผู้ใช้, Google, ผู้ผสานการทำงาน และผู้ออกใบรับรอง เมื่อผู้ใช้เลือกผู้ออกใบรับรองใน UI ของ Google
รายการออบเจ็กต์ในแผนภาพด้านบนมีดังนี้
- ผู้ใช้: คือผู้ที่ต้องการชำระเงิน
- UI ของ Google: อินเทอร์เฟซเว็บหรือแอปของ Google ที่ลูกค้าเป็นผู้ชำระเงิน
- เซิร์ฟเวอร์ของ Google: เซิร์ฟเวอร์แบ็กเอนด์ของ Google ที่สร้างคำขอเปลี่ยนเส้นทาง
- ผู้รวมการชำระเงิน: ผู้รวมบริการซึ่งส่งต่อผู้ใช้และคำขอเปลี่ยนเส้นทางไปยังผู้ออกบัตร
- ผู้ออก: ผู้ออกบัตรที่ผู้ใช้มีบัญชี
ในขั้นตอน "เริ่มเปลี่ยนเส้นทาง" เราถือว่าผู้ใช้อยู่ในพร็อพเพอร์ตี้ของ Google (UI ของ Google) และกำลังเลือกวิธีการชำระเงิน นี่คือจุดเริ่มต้นของทุกสิ่ง
- ผู้ใช้จะเลือกผู้ให้บริการเฉพาะที่ต้องการใช้ชำระเงิน ซึ่งเป็นสิ่งที่ทำให้เริ่มขั้นตอนการเปลี่ยนเส้นทาง
- UI ของ Google จะเรียกเซิร์ฟเวอร์ของ Google (แบ็กเอนด์) เพื่อสร้างคำขอเปลี่ยนเส้นทางใหม่
- เซิร์ฟเวอร์ของ Google จะสร้างคำขอเปลี่ยนเส้นทาง
- คำขอเปลี่ยนเส้นทางจะส่งไปยัง UI ของ Google
- UI ของ Google เปลี่ยนเส้นทางผู้ใช้ไปยังเซิร์ฟเวอร์ของผู้ผสานการทำงาน
- ผู้ผสานการทำงานจะดำเนินการตามคำขอเปลี่ยนเส้นทางของ Google และสร้างคำขอเปลี่ยนเส้นทางเฉพาะผู้ออกบัตร
- ผู้ผสานการทำงานจะเปลี่ยนเส้นทางผู้ใช้ไปยังเว็บอินเทอร์เฟซของผู้ออก
- ตรวจสอบสิทธิ์ในอินเทอร์เฟซบนเว็บของผู้ออก
- ผู้ใช้ทำตามวิธีการบนหน้าจอเพื่อชำระเงินให้เสร็จเรียบร้อย
ผู้ใช้เลือกผู้ผสานการทำงานใน UI ของ Google
ในกรณีนี้ ผู้ใช้เลือกผู้ผสานการทำงานใน UI ของ Google ดังนั้นช่อง formOfPayment
ของ RedirectRequest จะถูกตั้งค่าเป็น noneChosen
เนื่องจากมีเพียงผู้ออกบัตรเท่านั้นที่จะถือว่าเป็น FOP ที่ถูกต้อง ผู้รวมบริการต้องมี UI ที่อนุญาตให้ผู้ใช้เลือกผู้ออกบัตรที่ได้รับการอนุมัติจาก Google คำขอเปลี่ยนเส้นทางใช้เมธอด HTTPS GET ที่มีพารามิเตอร์ที่เข้ารหัสใน URL
เริ่มขั้นตอนการเปลี่ยนเส้นทาง (เลือกผู้ผสานการทำงาน)
แผนภาพลำดับต่อไปนี้แสดงการโต้ตอบระหว่างเบราว์เซอร์ของผู้ใช้, Google, ผู้ผสานการทำงาน และผู้ออกใบรับรอง เมื่อผู้ใช้เลือกผู้ผสานการทำงานใน UI ของ Google
รายการออบเจ็กต์ในแผนภาพด้านบนมีดังนี้
- ผู้ใช้: คือผู้ที่ต้องการชำระเงิน
- UI ของ Google: อินเทอร์เฟซเว็บหรือแอปของ Google ที่ลูกค้าเป็นผู้ชำระเงิน
- เซิร์ฟเวอร์ของ Google: เซิร์ฟเวอร์แบ็กเอนด์ของ Google ที่สร้างคำขอเปลี่ยนเส้นทาง
- ผู้รวมการชำระเงิน: ผู้รวมบริการที่ผู้ใช้เลือกผู้ออกการชำระเงิน
- ผู้ออก: ผู้ออกบัตรที่ผู้ใช้มีบัญชี
ในขั้นตอน "เริ่มเปลี่ยนเส้นทาง" เราถือว่าผู้ใช้อยู่ในพร็อพเพอร์ตี้ของ Google (UI ของ Google) และกำลังเลือกวิธีการชำระเงิน นี่คือจุดเริ่มต้นของทุกสิ่ง
- ผู้ใช้เลือกผู้รวมบริการ (ไม่ใช่ผู้ออกบัตรรายใด) เพื่อชำระเงิน ซึ่งเป็นสิ่งที่ทำให้เริ่มขั้นตอนการเปลี่ยนเส้นทาง
- UI ของ Google จะเรียกเซิร์ฟเวอร์ของ Google (แบ็กเอนด์) เพื่อสร้างคำขอเปลี่ยนเส้นทางใหม่
- เซิร์ฟเวอร์ของ Google จะสร้างคำขอเปลี่ยนเส้นทาง
- คำขอเปลี่ยนเส้นทางจะส่งไปยัง UI ของ Google
- UI ของ Google จะเปลี่ยนเส้นทางผู้ใช้ไปยังเว็บอินเทอร์เฟซของผู้ผสานการทำงาน
- ผู้รวมบริการจะดำเนินการตามคำขอเปลี่ยนเส้นทางของ Google
- ผู้รวมบริการจะแสดงผู้ออกบัตรที่มีต่อผู้ใช้
- ผู้ใช้จะเลือกผู้ให้บริการเฉพาะที่ต้องการใช้ชำระเงิน
- ผู้ผสานการทำงานจะสร้างคำขอเปลี่ยนเส้นทางเฉพาะผู้ออกบัตร
- ผู้ผสานการทำงานจะเปลี่ยนเส้นทางผู้ใช้ไปยังเว็บอินเทอร์เฟซของผู้ออก
- ตรวจสอบสิทธิ์ในอินเทอร์เฟซบนเว็บของผู้ออก
- ผู้ใช้ทำตามวิธีการบนหน้าจอเพื่อชำระเงินให้เสร็จเรียบร้อย
แนวทางปฏิบัติแนะนำและข้อควรพิจารณาอื่นๆ
มาตรการความปลอดภัย
URL คำขอเปลี่ยนเส้นทางจะมีช่อง callbackUrl
ที่ไม่ได้เข้ารหัสและช่อง redirectRequest
ที่เข้ารหัส ทั้ง 2 ช่องนี้จะมี requestId
สำหรับธุรกรรมปัจจุบัน ผู้ให้บริการควรตรวจสอบว่า requestId
เหมือนกันทั้งใน callbackUrl
และเพย์โหลดที่เข้ารหัสเพื่อยืนยันว่าข้อมูลเหล่านี้เกี่ยวข้องกัน