Thanh toán chuẩn của Google:

Phương thức FOP được mã hoá

Tổng quan

Phương thức thanh toán (FOP) được mã hoá là một loại phương thức tích hợp thanh toán vào Nền tảng thanh toán. Để người dùng thanh toán bằng phương thức thanh toán này, Google và Đơn vị tích hợp thanh toán phải trao đổi thông tin xác thực danh tính tài khoản một lần. Bước này sẽ trải qua quy trình thiết lập mã thông báo đại diện cho phương thức thanh toán của người dùng cụ thể đó. Sau đó, bạn có thể dùng mã thông báo này để thanh toán nhiều lần. Hiện có 2 phiên bản của các API này. Phiên bản 2 hỗ trợ nhà cung cấp dịch vụ di động và nhà cung cấp số tham chiếu. Tất cả các nhà cung cấp phương thức FOP được mã hoá khác nên triển khai phiên bản 1. Phần còn lại của tài liệu này tập trung vào phiên bản 1.

Google sử dụng hai quy trình để thiết lập danh tính và tạo mã thông báo này:

  1. Luồng xác thực: Xác định và xác minh (xác thực) người dùng.
  2. Quy trình liên kết: Thiết lập mã thông báo cho một người dùng (mới hoặc được xác định và xác thực từ trước). Mã thông báo này đại diện cho một phương thức thanh toán cụ thể của một người dùng cụ thể. Sau đó, mã thông báo này có thể được dùng trong các giao dịch mua sau này.

Sau khi mã thông báo được thiết lập, Google sẽ sử dụng mã đó trong quy trình mua để mang lại trải nghiệm thanh toán nhanh chóng và liền mạch cho người dùng. Google sử dụng mã thông báo này để đại diện cho một phương thức thanh toán của khách hàng. Đây còn được gọi là công cụ. Khách hàng của Google có thể có nhiều công cụ để thanh toán cho hàng hoá và dịch vụ.

Cuối cùng, toàn bộ quá trình chuyển tiền giữa ngân hàng của đối tác tích hợp và ngân hàng của Google đều được thực hiện trong quy trình chuyển tiền.

Chọn sản phẩm
1) Người dùng chọn mua một sản phẩm
Chọn phương thức thanh toán
2) Tiếp theo, người này chọn một phương thức thanh toán
Thêm phương thức thanh toán
3) Giờ đây, họ thêm một phương thức thanh toán mới
Chuyển hướng
4) Họ được chuyển hướng để xác thực
Đã xác thực
5) Cuối cùng, họ được xác thực và có thể mua

Sơ đồ này minh hoạ thông tin tổng quan chung về các luồng:

Tổng quan về phương thức thanh toán được mã hoá

Sơ đồ tổng quan về phương thức thanh toán được mã hoá

Nhìn chung, việc thêm dịch vụ của bạn làm phương thức thanh toán cho các sản phẩm của Google bao gồm những quy trình sau:

  1. Quy trình xác thực
  2. Quy trình liên kết
  3. Quy trình mua
  4. Quy trình hoàn tiền
  5. Quy trình chuyển tiền

Những quy trình này được mô tả chi tiết hơn ở các phần bên dưới và còn chi tiết hơn nữa trong phần hướng dẫn.

Khái niệm và thuật ngữ

Biểu tượng và Hội nghị

Các từ khóa "PHẢI", "KHÔNG ĐƯỢC" "BẮT BUỘC", "SHALL", "KHÔNG PHẢI", "NÊN" "KHÔNG NÊN" "ĐƯỢC ĐỀ XUẤT", "CÓ THỂ" và "OPTIONAL" trong các tài liệu này thì sẽ được diễn giải theo mô tả trong RFC 2119.

Dấu thời gian

Tất cả dấu thời gian được biểu thị dưới dạng mili giây kể từ thời gian bắt đầu của hệ thống Unix (ngày 1 tháng 1 năm 1970) theo giờ UTC.

Ví dụ:

  • Ngày 23 tháng 4 năm 2019 8:23:25 CH GMT = 1556051005000 mili giây
  • Ngày 16 tháng 8 năm 2018 12:28:35 CH GMT = 1534422515000 mili giây

Số Lượng

Giá trị tiền tệ trong API này ở định dạng được gọi là "micrô", một tiêu chuẩn tại Google. Micro là định dạng có độ chính xác cố định dựa trên số nguyên. Để thể hiện một giá trị tiền tệ dưới dạng vi mô, hãy nhân giá trị tiền tệ chuẩn với 1.000.000.

Ví dụ:

  • 1,23 USD = 1230000 micro USD
  • 0,01 USD = 10000 micro USD

Giá trị không thay đổi

Tất cả các lệnh gọi phương thức trong API này phải có hành vi không thay đổi. Google sẽ thỉnh thoảng thử lại các yêu cầu để đảm bảo rằng các giao dịch ở cả hai bên đều ở cùng trạng thái. Trình tích hợp không được tìm cách xử lý lại bất kỳ yêu cầu nào đã được xử lý thành công. Thay vào đó, phản hồi cho quá trình xử lý thành công sẽ được báo cáo. Tất cả các phương thức đều có một RequestHeader chung chứa một requestId. requestId này là khoá idempotency cho tất cả các lệnh gọi.

Mọi phản hồi không phải của thiết bị đầu cuối (không phải HTTP 200 thành công) đều không được xử lý ổn định. Vì vậy, một yêu cầu trước đó đã nhận được 400 (yêu cầu không hợp lệ/điều kiện tiên quyết không thành công), khi được gọi lần thứ hai, không được trả về 400 đúng cách, nó phải được đánh giá lại. Khi đánh giá lại, thông báo này có thể trả về lỗi 400 hoặc được xử lý thành công.

Để biết thêm thông tin về trạng thái bình thường, hãy xem hướng dẫn chi tiết này.

Nhà tích hợp

Một công ty sử dụng Nền tảng thanh toán của Google cho doanh nghiệp của mình. Đó có thể là nội bộ (bên thứ nhất), chẳng hạn như YouTube hoặc AdWords, Đó cũng có thể là một doanh nghiệp bên ngoài (3P) muốn tích hợp dịch vụ của họ để hoạt động với hệ sinh thái của Google.

Phương thức thanh toán

Phương thức thanh toán. Đây là công cụ tổng quát hơn. Visa, MasterCard và PayPal đều là phương thức thanh toán.

Công cụ

Một trường hợp cụ thể của hình thức thanh toán của một khách hàng cụ thể. Ví dụ: thẻ tín dụng hoặc tài khoản PayPal của người dùng. Phương thức FOP được mã hoá cho một khách hàng cụ thể cũng là một công cụ, vì đó là một phương thức thanh toán của khách hàng đó, được lưu trữ an toàn trên hệ thống của chúng tôi.

Mã thông báo

Nội dung thể hiện phương thức thanh toán của một người dùng cụ thể trên hệ thống của Google. Vì mã này chứa tất cả thông tin cần thiết để thực hiện giao dịch mua, nên mã thông báo cũng là một phương thức. Thông tin này có thể bao gồm thông tin như số tài khoản người dùng có với đơn vị tích hợp.

Luồng chính

Quy trình xác thực

Xác thực là quy trình đầu tiên phải diễn ra. Mục đích của quy trình xác thực là xác định và xác thực người dùng với đơn vị tích hợp. Xác thực có thể diễn ra theo một số cách. Các phương thức thanh toán được mã hoá hỗ trợ hai cách để nhận dạng và xác thực người dùng:

  1. Xác thực OTP qua SMS-MT (SMS di động bị chấm dứt, mật khẩu một lần)
  2. Xác thực chuyển hướng

Trong quy trình tham gia, các đối tác tích hợp sẽ làm việc với Google để chọn cơ chế xác thực phù hợp nhất với sản phẩm của họ.

Quy trình xác thực có thể được sử dụng trong hai ngữ cảnh: thứ nhất, để xác định khách hàng mới để liên kết và thứ hai, yêu cầu người dùng cung cấp thông tin xác thực của một công cụ hiện có. Kết quả của quy trình xác thực có thể được dùng làm dữ liệu đầu vào cho nhiều quy trình, chẳng hạn như quy trình liên kết, quy trình làm mới mã thông báo, quy trình mua bị kiểm tra, v.v. Ngoài ra, quy trình xác thực có thể được sử dụng ở chế độ độc lập, không liên kết với bất kỳ quy trình tiếp theo nào.

Xác thực OTP qua SMS-MT

Trong cơ chế xác thực này, người dùng nhập số điện thoại vào giao diện người dùng của Google. Google gửi số điện thoại này cho đơn vị tích hợp (thông qua phương thức sendOtp). Nhà tích hợp gửi mật khẩu một lần cho người dùng. Người dùng nhập mật khẩu vào giao diện người dùng của Google, mật khẩu này sẽ được gửi đến đơn vị tích hợp. Thao tác này sẽ kích hoạt phản hồi thành công của Công cụ tích hợp thanh toán.

Khi sử dụng phương thức xác thực OTP qua SMS-MT ở chế độ độc lập, giá trị của OTP sẽ được gửi đến đơn vị tích hợp bằng phương thức verifyOtp. Phương thức này xác minh OTP được cung cấp là OTP được gửi.

Xác thực chuyển hướng

Xác thực chuyển hướng xảy ra bằng cách Google chuyển hướng người dùng đến một ứng dụng do nhà tích hợp sở hữu. Ứng dụng đó có thể là web hoặc ứng dụng Android.

Các lệnh chuyển hướng trên Android và Web hoạt động tương tự nhau. Google chuyển hướng người dùng đến ứng dụng của đơn vị tích hợp. Đối tác tích hợp xác định và xác thực người dùng theo bất kỳ hình thức nào tự nhiên nhất đối với đối tác tích hợp đó. Sau khi được xác thực, đối tác tích hợp sẽ chuyển hướng người dùng quay lại giao diện người dùng của Google để hoàn tất việc liên kết. Khi chuyển hướng, Google sẽ cung cấp một requestId để xác định phiên xác thực này. Sau đó, giá trị nhận dạng đó sẽ được dùng làm bằng chứng xác thực danh tính trong quá trình Liên kết.

Các đối tác tích hợp chọn quy trình này phải cung cấp một URL xác thực web vì đây là mẫu số phổ biến nhất trên tất cả nền tảng (máy tính hoặc thiết bị di động). Tuy nhiên, bạn nên sử dụng phương thức xác thực cho Android để mang lại trải nghiệm tốt nhất cho người dùng trên thiết bị di động.

Tuỳ thuộc vào bối cảnh của thiết bị và các ứng dụng đã cài đặt, giao diện người dùng của Google sẽ chọn chuyển hướng web hoặc ứng dụng Android.

Cơ chế xác thực này mang lại cho nhà tích hợp sự tự do nhất. Có nhiều cách để xác thực và nhận dạng người dùng. Tên người dùng + mật khẩu hoặc thông tin sinh trắc học và câu hỏi bảo mật đều là giải pháp khả thi. Google không có ý định chỉ rõ cách nhà tích hợp xác minh người dùng. Đối tác tích hợp sẽ đảm nhận việc xác thực người dùng. Bằng cách này, Google dự định tận dụng các giao diện người dùng khác nhau của nhà tích hợp để xác thực người dùng và chỉ cần cung cấp cho Google bằng chứng xác thực.

Để biết thêm thông tin về xác thực, hãy xem hướng dẫn chi tiết này.

Quy trình liên kết

Sau quy trình xác thực thông qua một trong các cơ chế nêu trên, người dùng sẽ di chuyển qua quy trình liên kết. Mục đích của quy trình liên kết là thiết lập Mã thông báo thanh toán của Google (GPT) để tạo phương thức thanh toán. Quy trình này sẽ thực hiện những việc sau:

  1. Thương lượng một danh tính được gọi là mã thông báo để đại diện cho người dùng này.
  2. Cung cấp thông tin tài khoản để thông báo cho công cụ đánh giá rủi ro của Google.
  3. Thu thập thông tin thiết lập lần đầu cần thiết để tạo và thiết lập GPT.

Kết quả là GPT được thiết lập có sự đồng ý của cả Google và đơn vị tích hợp.

Hai người dùng Google có thể chia sẻ cùng một tài khoản của người dùng với đối tác tích hợp. Trong trường hợp này, mỗi người dùng sẽ có 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, do đó, là một GPT duy nhất.

Hình minh hoạ này sẽ hướng dẫn bạn cách sử dụng một phương thức FOP được mã hoá giả mạo có tên là InvisiCash. Phần này cho biết các bước mà người dùng sẽ thực hiện trong quy trình xác thựcquy trình liên kết.

Tổng quan về quy trình liên kết

Phương thức FOP được mã hoá-Invisicash

  1. Một người dùng Google có địa chỉ email là sf@gmail.com muốn thêm tài khoản InvisiCash của mình vào Cửa hàng Google Play để có thể sử dụng tài khoản này để mua hàng.
  2. Cửa hàng Google Play sẽ mở ứng dụng InvisiCash để xác thực.
  3. Người dùng đăng nhập vào tài khoản InvisiCash của mình bằng địa chỉ email sally@otheremail.com. Có thể là cô ấy sử dụng địa chỉ email Gmail của mình cho cả hai việc này nếu đó là thông tin đăng nhập vào tài khoản InvisiCash của cô.

  4. Ứng dụng InvisiCash gửi mã xác thực trở lại Cửa hàng Google Play.

  5. Cửa hàng Google Play gửi mã nhận dạng xác thực đến Máy chủ Google.

  6. Máy chủ của Google sẽ gửi thông báo đến máy chủ InvisiCash để liên kết tài khoản. Mối liên kết này bao gồm một Mã xác thực, GPT (Mã thông báo thanh toán của Google) và mã liên kết.

  7. Các máy chủ InvisiCash lưu trữ Mã thông báo thanh toán của Google (GPT) và mã liên kết. Cả hai hiện đều liên kết với tài khoản InvisiCash của Sally.

  8. InvisiCash phê duyệt mối liên kết này. Sau đó, Máy chủ của Google sẽ tạo một công cụ có thể được sử dụng cho các giao dịch mua trong tương lai.