Luồng người dùng liên kết

Tổng quan

Mục đích của quy trình liên kết là thiết lập một mã thông báo tồn tại lâu dài (còn gọi là giá trị nhận dạng không rõ ràng) mà cả Bên tích hợp thanh toán (công ty thiết lập phương thức thanh toán trong hệ thống của chúng tôi) và Google đều đồng ý là mối liên kết giữa tài khoản người dùng của Google và tài khoản người dùng của bên tích hợp. Mã thông báo tồn tại trong thời gian dài này được gọi là Google Payment Token (GPT). Công cụ là một phương thức để thanh toán cho các dịch vụ và hàng hóa trong các hệ sinh thái và trang web thương mại khác nhau của Google. Một khách hàng của Google có thể sử dụng nhiều công cụ.

Cách quy trình này hoạt động

  1. Google thương lượng một mã thông báo để thể hiện mối liên kết giữa khách hàng của Google và tài khoản người dùng của nhà tích hợp.
  2. Google thu thập thông tin thiết lập cần thiết trong lần đầu tiên để tạo và thiết lập GPT.

Trước tiên, bạn phải thiết lập bằng chứng về danh tính và thông tin xác thực thông qua quy trình xác thực. Kết quả của quy trình xác thực được chuyển đến phương thức associateAccount. Sau đó, quy trình liên kết sẽ liên kết Tài khoản người dùng Google với công cụ của Google. Việc này sẽ thiết lập công cụ để có thể được sử dụng để thanh toán.

Dưới đây là sơ đồ mô tả chi tiết quy trình Liên kết:

Sơ đồ trình tự luồng liên kết

Sơ đồ quy trình liên kết

Dưới đây là danh sách các đối tượng và nội dung mà chúng đại diện:

  • Người dùng: Đây là người muốn thêm một phương thức thanh toán vào Tài khoản Google của họ.
  • Giao diện người dùng của Google: Giao diện tại Google, nơi khách hàng bắt đầu thiết lập phương thức thanh toán.
  • Giao diện người dùng của đơn vị tích hợp thanh toán: Giao diện của đơn vị tích hợp (web hoặc Android) mà khách hàng có quyền truy cập vào tài khoản đó.
  • Máy chủ Google: Các máy chủ phụ trợ tại Google thực hiện việc kiểm tra xác thực và liên kết tài khoản nhà tích hợp của người dùng với GPT (Mã thông báo thanh toán của Google).
  • Máy chủ tích hợp thanh toán: Máy chủ phụ trợ của đơn vị tích hợp thanh toán nơi người dùng có tài khoản.

Đây là quy trình liên kết, trong đó Tài khoản Google của người dùng được một mã thông báo của Google liên kết với tài khoản tích hợp của họ. Sau đây là cách quy trình này hoạt động.

  1. Người dùng bắt đầu luồng trong giao diện người dùng Google (chẳng hạn như giao diện web hoặc ứng dụng).
  2. Giao diện người dùng của Google gửi thông báo cho Máy chủ của Google để cung cấp cho máy chủ đó yêu cầu xác thực (Yêu cầu dữ liệu xác thực).
  3. Máy chủ Google gửi yêu cầu xác thực (authenticationRequest) trở lại giao diện người dùng Google.
  4. Giao diện người dùng của Google kết nối người dùng với giao diện người dùng của Công cụ tích hợp thanh toán (authenticationRequest).
  5. Người dùng sẽ được nhắc cung cấp danh tính và thông tin xác thực.
  6. Giao diện người dùng tích hợp thanh toán sẽ gửi phản hồi đến Máy chủ tích hợp thanh toán.
  7. Máy chủ tích hợp thanh toán sẽ xác thực phản hồi và gửi phản hồi xác thực (authenticationResponse) đến giao diện người dùng của Nhà tích hợp thanh toán.
  8. Phản hồi xác thực này được chuyển tiếp đến giao diện người dùng của Google.
  9. Giao diện người dùng của Google gửi thông báo đến Máy chủ Google để xác minh phản hồi từ Trình tích hợp (thiết lập Công cụ cho người dùng).
  10. Máy chủ Google xác thực phản hồi bằng cách xác minh chữ ký, sau đó liên kết Tài khoản của người dùng với Bên tích hợp thanh toán với GPT và mã liên kết (authenticationRequestID, associationID) tại Google.
  11. Một thông báo thành công được gửi đến Máy chủ của Google.
  12. Thông báo thành công sẽ được gửi đến giao diện người dùng Google.
  13. Một thông báo thành công sẽ được gửi cho người dùng cho biết phương thức thanh toán của họ đã sẵn sàng để sử dụng.

Các phương pháp hay nhất và những điểm cần cân nhắc khác

Nhiều nhạc cụ

Trình tích hợp phải cho phép nhiều GPT liên kết với một tài khoản tích hợp của một người dùng. Ví dụ: điều này là cần thiết nếu người dùng xoá công cụ của họ và tạo một công cụ mới bằng cùng một tài khoản người dùng dành cho công cụ tích hợp.

Hai khách hàng của Google có thể liên kết với cùng một tài khoản công cụ tích hợp của người dùng. Nếu trường hợp đó xảy ra, mỗi người dùng sẽ được liên kết với một công cụ khác nhau. Đối với mỗi công cụ, có một quy trình liên kết độc lập và một GPT riêng biệt.

Biện pháp an toàn

Nếu nhà tích hợp tin rằng tài khoản của người dùng tích hợp đã tiếp quản tài khoản, thì các mối liên kết mới có thể bị từ chối cho tài khoản đó và các công cụ hiện tại đã được liên kết có thể trả về mã từ chối trong các giao dịch mua sau này.

Thời gian tồn tại của GPT

GPT là để tồn tại lâu dài và theo mặc định không có thời hạn. Bạn nên sử dụng GPT không hết hạn. Điều này giúp người dùng có trải nghiệm mua hàng không gián đoạn.

Đối với các trình tích hợp không thể hỗ trợ mã thông báo không có thời hạn, trình tích hợp có thể cung cấp thời gian hết hạn thông qua trường tokenExpirationTime của phương thức associateAccount. Khi một mã thông báo sắp hết hạn, Google sẽ chuyển người dùng theo quy trình làm mới mã thông báo để kéo dài tuổi thọ của mã đó.

Các giá trị nhận dạng khác

Các giá trị nhận dạng khác ngoài GPT được trao đổi trong quá trình liên kết. Dưới đây là danh sách các địa điểm này kèm theo đường liên kết để bạn tìm hiểu thêm.

  • AssociationId: Một mã thông báo công khai do Google xác định, xác định mối liên kết giữa tài khoản của khách hàng tại Google và phương thức thanh toán. Trong khi GPT chỉ được dùng trong các yêu cầu từ máy chủ đến máy chủ, thì AssociationId tương đương với ứng dụng khách. (Xem mục bảng thuật ngữ để biết thêm thông tin).
  • AccountId: Giá trị nhận dạng do nhà cung cấp xác định (thường là số tài khoản), được dùng để phát hiện hành vi gian lận và tìm hiểu mối quan hệ giữa các tài khoản. Các nhân viên hỗ trợ hoạt động của khách hàng của Google cũng dùng dữ liệu này để xác định và chẩn đoán các vấn đề của khách hàng. (Xem mục bảng thuật ngữ để biết thêm thông tin).
  • AccountNickname (hoặc fullAccountNickname): Một chuỗi mà nhà cung cấp sử dụng để xác định khách hàng của họ. Dữ liệu này cũng được sử dụng cho mục đích hiển thị. AccountNickname được nhà cung cấp che giấu vì SPII, fullAccountNickname không được che giấu.