Thanh toán bằng tiền mặt

Tổng quan

Google Standard Payments hỗ trợ FOP (phương thức thanh toán) sử dụng tiền mặt, chẳng hạn như mua hàng tại cửa hàng tiện lợi (chẳng hạn như 7-Eleven). Nhìn chung, người dùng muốn thanh toán cho hàng hoá sẽ tạo một số tham chiếu thông qua Nhà tích hợp thanh toán. Sau đó, người dùng đưa số tham chiếu này đến cửa hàng tiện lợi, kiosk hoặc ngân hàng và thanh toán cho số tham chiếu.

Thêm thông tin thanh toán
1) Người dùng thêm một phương thức thanh toán
Chọn nơi thanh toán
2) Sau đó, khách hàng chọn nơi thanh toán
Hướng dẫn thanh toán
3) Cuối cùng, khách hàng sẽ được hướng dẫn thanh toán

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

Biểu tượng và quy ước

Các từ khoá "PHẢI", "KHÔNG ĐƯỢC", "BẮT BUỘC", "SÁCH", "KHÔNG NÊN", "NÊN", "KHÔNG NÊN", "ĐƯỢC ĐỀ XUẤT", "CÓ THỂ" và "KHÔNG BẮT BUỘC" trong những tài liệu này sẽ được hiểu như 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 có định dạng được gọi là "phần triệu", một tiêu chuẩn tại Google. Micros là một định dạng dựa trên số nguyên, chính xác cố định. Để biểu thị giá trị tiền tệ bằng phần triệu, hãy nhân giá trị tiền tệ tiêu chuẩn với 1.000.000.

Ví dụ:

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

Tính không xác định

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

Mọi phản hồi không phải thiết bị đầu cuối (không phải là phản hồi HTTP 200 thành công) đều không được xử lý một cách tự nhiên. Vì vậy, một yêu cầu trước đó đã nhận được 400 (yêu cầu không tốt/đ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 không đáng kể, nó phải được đánh giá lại. Khi đánh giá lại, bài đánh giá có thể trả về 400 hoặc được xử lý thành công.

Để biết thêm thông tin về trường hợp không xác định được, hãy xem hướng dẫn chi tiết này.

Nhà tích hợp

Công ty sử dụng Nền tảng thanh toán của Google cho doanh nghiệp của họ. Đó có thể là doanh nghiệp nội bộ (bên thứ nhất), chẳng hạn như YouTube hoặc AdWords. Đó cũng có thể là doanh nghiệp bên ngoài (bên thứ ba) muốn tích hợp dịch vụ của họ để phù hợp 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à phương pháp chung chung hơn một công cụ. Thẻ 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 phương 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 thanh toán được mã hoá cho một khách hàng cụ thể cũng là một phương thức thanh toán, vì đó là một phương thức thanh toán của khách hàng đó và đượ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 trình bày 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 công cụ. Thông tin này có thể bao gồm những thông tin như số tài khoản mà người dùng có với đơn vị tích hợp của họ.

Luồng chính

Google sử dụng hai quy trình chính để tạo và thanh toán các số tham chiếu này:

  1. Tạo luồng số tham chiếu.
  2. Thanh toán số tham chiếu.

Sau đó, đối chiếu và thanh toán từ các giao dịch mua phát sinh sẽ được xử lý theo quy trình chuyển khoản.

Sơ đồ dưới đây minh hoạ từng quy trình này.

Tổng quan về phương thức thanh toán bằng tiền mặt

Tổng quan cấp cao về phương thức FOP bằng tiền mặt

Hai quy trình đầu tiên sẽ được mô tả chi tiết hơn trong các phần sau. Hãy xem trang Quy trình chuyển tiền nếu bạn muốn biết thêm về quy trình đó.

Tạo số tham chiếu

Mục đích của quy trình tạo số tham chiếu là để tạo và trao đổi một giá trị nhận dạng (số tham chiếu) mà cả Google và nhà tích hợp đều có thể sử dụng để xác định giao dịch mua. Sau đó, người dùng có thể sử dụng số tham chiếu này tại cửa hàng tiện lợi, kiosk hoặc ngân hàng để hoàn tất giao dịch mua. Giá trị nhận dạng này được trình tích hợp tạo theo yêu cầu của Google bằng cách gọi phương thức generateReferenceNumber. Yêu cầu tạo số tham chiếu bao gồm số tiền và nội dung mô tả giao dịch.

Sơ đồ dưới đây minh hoạ cách tạo và gửi số tham chiếu cho khách hàng kèm theo hướng dẫn.

Quy trình tạo số tham chiếu

Số tham chiếu để tạo tiền mặ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 thanh toán cho một sản phẩm hoặc dịch vụ bằng phương thức thanh toán này.
  • Giao diện người dùng Google: Đây là giao diện mà Người dùng thực hiện mua hàng. Có thể qua web hoặc qua ứng dụng.
  • Máy chủ Google: Máy chủ phụ trợ của Google yêu cầu tạo số tham chiếu và tạo hướng dẫn thanh toán cho người dùng.
  • Máy chủ tích hợp thanh toán: Máy chủ phụ trợ của Nhà tích hợp thanh toán, theo dõi thông tin thanh toán và tạo số tham chiếu.

Quy trình này bắt đầu từ người dùng muốn sử dụng phương thức thanh toán bằng tiền mặt này.

  1. Người dùng truy cập vào giao diện người dùng của Google để gửi yêu cầu về số tham chiếu.
  2. Giao diện người dùng của Google gửi thông báo đến Máy chủ Google rằng cần có số tham chiếu (getReferenceNumber).
  3. Máy chủ Google sẽ yêu cầu Máy chủ tích hợp thanh toán tạo một số tham chiếu (generateReferenceNumber).
  4. Máy chủ tích hợp thanh toán sẽ tạo và gửi số tham chiếu đến Máy chủ Google.
  5. Máy chủ của Google tạo hướng dẫn thanh toán cùng với số tham chiếu. Sau đó, Chrome sẽ gửi thông tin này đến giao diện người dùng của Google.
  6. Giao diện người dùng của Google sẽ gửi các hướng dẫn và số tham chiếu này cho Người dùng.

Ghi chú về mã số tham chiếu

Số tham chiếu chỉ có thể được thanh toán một lần và có thể được huỷ thông qua quy trình huỷ số tham chiếu. Ngoài ra, số tham chiếu phải bao gồm chữ và số và phải hỗ trợ nhiều định dạng hiển thị.

Ngoài việc hiển thị số tham chiếu, giao diện người dùng của Google có thể tuỳ ý trình bày số tham chiếu ở định dạng Code 128 (định dạng mã vạch). Các định dạng mã vạch khác có thể được hỗ trợ theo yêu cầu.

Số tham chiếu thanh toán

Người dùng sẽ sử dụng số tham chiếu này tại cửa hàng tiện lợi, kiosk hoặc ngân hàng để xác định giao dịch mua mà họ muốn thanh toán. Nhà tích hợp phải yêu cầu người dùng xác nhận giao dịch mua hàng đã được thanh toán bằng cách trình bày số tiền mua, ngày và nội dung mô tả giao dịch trước khi thanh toán.

Khi người dùng chọn thanh toán, họ phải thanh toán toàn bộ và chỉ thanh toán một lần. API này không hỗ trợ các khoản thanh toán vượt quá hoặc dưới mức một số tham chiếu. Không hỗ trợ thanh toán nhiều lần cho một số tham chiếu.

Sau khi người dùng thanh toán, đơn vị tích hợp phải thông báo ngay cho Google rằng số tham chiếu này đã được thanh toán qua phương thức referenceNumberPaidNotification. Bằng cách gọi phương thức này trong vòng vài giây kể từ khi người dùng thanh toán thực tế, ứng dụng tích hợp cho phép người dùng nhanh chóng nhận được hàng hoá. (Bạn có thể thêm cuộc gọi này vào hàng đợi nếu mạng bị gián đoạn.)

Sau khi thanh toán, số tham chiếu và số tiền sẽ được thể hiện trong bảng sao kê chuyển tiền được gửi vào ngày T+2.

Dưới đây là sơ đồ trình tự minh hoạ khoản thanh toán cho số tham chiếu.

Quy trình thanh toán mã số tham chiếu

Quy trình thanh toán mã số tham chiếu

Các đối tượng trong sơ đồ này đại diện cho những đặc điểm sau:

  • Người dùng: Đây là người muốn thanh toán cho một sản phẩm hoặc dịch vụ bằng phương thức thanh toán này.
  • Cửa hàng tiện lợi: Địa điểm nơi người dùng thực hiện thanh toán bằng cách sử dụng số tham chiếu và hướng dẫn được cung cấp, chẳng hạn như cửa hàng tiện lợi.
  • Máy chủ tích hợp thanh toán: Máy chủ phụ trợ của Nhà tích hợp thanh toán, theo dõi thông tin thanh toán.
  • Máy chủ Google: Máy chủ phụ trợ của Google yêu cầu tạo số tham chiếu và tạo hướng dẫn thanh toán cho người dùng.

Quy trình này bắt đầu bằng việc người dùng đến cửa hàng tiện lợi để thanh toán theo hướng dẫn được cung cấp cho họ.

  1. Người dùng đến Cửa hàng tiện lợi để thanh toán.
  2. Sau khi giao dịch hoàn tất, cửa hàng tiện lợi sẽ thông báo cho bên tích hợp thanh toán về khoản thanh toán đó.
  3. Máy chủ tích hợp thanh toán sẽ gửi thông báo thành công đến Cửa hàng tiện lợi.
  4. Cửa hàng tiện lợi truyền tải rằng giao dịch đã được thực hiện thành công đối với Người dùng và hàng hoá sẽ sớm được giao đến Người dùng.
  5. Máy chủ tích hợp thanh toán sẽ gửi thông báo đến Máy chủ của Google cho biết số tham chiếu đã được thanh toán (referenceNumberPaidNotification). Bước này không được chặn bước 4.
  6. Máy chủ Google phản hồi bằng một thông báo xác nhận thành công tới Máy chủ tích hợp thanh toán.

Hủy số tham chiếu

Google có thể huỷ các số tham chiếu. Nếu Google huỷ một số tham chiếu, thì phương thức cancelReferenceNumber sẽ được gọi. Khi bạn trả lại thành công cuộc gọi này, việc thanh toán số tham chiếu đó sẽ không hợp lệ và nhà tích hợp phải từ chối thanh toán cho số này. Sau khi lệnh gọi này diễn ra thành công, tất cả các lệnh gọi trong tương lai đến referenceNumberPaidNotification đều sẽ không thực hiện được.

Nếu quá trình thanh toán đã bắt đầu, chẳng hạn như nếu người dùng đã nhập số tham chiếu của họ vào kiosk nhưng chưa thanh toán, nhà tích hợp phải trả về mã phản hồi HTTP 423 có ErrorResponse chứa USER_ACTION_IN_PROGRESS.

Tiếp theo: Quy trình chuyển tiền