Bắt đầu quy trình chuyển hướng

Có thể bắt đầu thanh toán chuyển hướng theo hai cách khác nhau:

  1. Khi chọn "Chuyển hướng thanh toán", người dùng sẽ được chuyển hướng đến trang web của nhà tích hợp nhằm chọn Phương thức thanh toán (FOP) muốn sử dụng. Trong trường hợp này, noFopChosen sẽ được điền vào yêu cầu. Khi điều này xảy ra, trình tích hợp sẽ hiển thị cho người dùng danh sách các nhà phát hành hiện có. Sau khi người dùng chọn một trong những giá trị này, người dùng sẽ được chuyển tiếp đến trang web/ứng dụng của nhà phát hành đó để hoàn tất giao dịch mua.

  2. Người dùng sẽ chọn một FOP (đơn vị phát hành) trong quy trình mua. Trong trường hợp này, Google sẽ điền tham số issuerId trong yêu cầu và chuyển hướng người dùng đến trình tích hợp. Khi nhận được thông báo này, nhà tích hợp phải chuyển hướng ngay người dùng đến trang web/ứng dụng của công cụ phát hành để hoàn tất giao dịch mua.

Trong cả hai trường hợp trên, Google sẽ chuyển hướng người dùng trực tiếp đến trang web của nhà tích hợp mà không có bất kỳ lệnh gọi từ máy chủ đến máy chủ nào trước đó từ Google.

Trình tích hợp phải triển khai giao thức HTTPS bằng phương thức GET. Tham số GET, được nêu trong tham số yêu cầu chuyển hướng, sẽ chứa thông tin về khoản thanh toán chuyển hướng được yêu cầu.

Trình tích hợp phải hỗ trợ độ dài URL 2.048 ký tự. Các giao thức này bao gồm giao thức, máy chủ lưu trữ, cổng, đường dẫn và tham số. Tất cả thông số sẽ được mã hoá UTF-8 trước khi được mã hoá URL.

Yêu cầu chuyển hướng

Dưới đây là ví dụ về URL mà người dùng sẽ được chuyển hướng đến trong quy trình Bắt đầu chuyển hướng (còn gọi là yêu cầu chuyển hướng):

https://www.integratordomain.com/example/redirectEndpoint?callbackUrl=https%3A%2F%2Fexample.google.com%2Freturn%2Furl%3FredirectRequestId%3DcmVxdWVzdDE&redirectRequest=VEhJU19JU19BTl9FTkNSWVBURURfUkVESVJFQ1RfUkVRVUVTVF9QQVlMT0FEX0VYQU1QTEVfVEhBVF9JU19FTkNPREVEX1dJVEhfYmFzZTY0X1VSTC1TQUZFX0VOQ09ESU5H

Giá trị được giải mã URL của tham số callbackUrl trong ví dụ này là:

https://example.google.com/return/url?redirectRequestId=cmVxdWVzdDE

Tham số redirectRequest được mã hoá và ký bằng PGP hoặc JWE+JWS trước khi được mã hoá base64url.

Tham số yêu cầu chuyển hướng

Yêu cầu GET HTTPS phải có các tham số truy vấn sau:

Các trường
callbackUrl string

URL để chuyển hướng người dùng đến khi thanh toán hoàn tất. Giá trị này được mã hoá URL và có độ dài tối đa là 512 ký tự.

URL này sẽ bao gồm requestId từ redirectRequest đã mã hoá trong thông số redirectRequestId GET. Nhà cung cấp nên xác thực rằng redirectRequestId trong callbackUrlrequestId trong tải trọng đã mã hoá là giống nhau để xác minh rằng cả hai đều có liên quan với nhau.

redirectRequest RedirectRequest

BẮT BUỘC: RedirectRequest phải được mã hoá và ký bằng PGP hoặc JWE+JWS. Ngoài ra, giá trị này phải được mã hoá base64 an toàn trên web.