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

Tổng quan

Google Standard Payments hỗ trợ các phương thức thanh toán (FOP) bằng tiền mặt 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 số tham chiếu thông qua Công cụ tích hợp thanh toán. Sau đó, người dùng mang 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 số tham chiếu.

Thêm 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 đó, họ chọn phương thức thanh toán
Hướng dẫn thanh toán
3) Cuối cùng, họ nhận được hướng dẫn thanh toá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

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

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

Sau đó, quy trình chuyển tiền sẽ xử lý việc đối chiếu và thanh toán của các giao dịch mua phát sinh.

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

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 thanh toán bằng tiền mặt

Hai quy trình đầu tiên đượ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ã nhận dạng (số tham chiếu) mà cả Google và đơn vị tích hợp đều có thể sử dụng để xác định một 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 do đối tác 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à mô tả giao dịch.

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

Tạo luồng 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 của các đối tượng đó:

  • Người dùng: Đây là những người muốn thanh toán cho một sản phẩm hoặc dịch vụ nào đó bằng phương thức thanh toán này.
  • Giao diện người dùng của Google: Đây là giao diện mà Người dùng thực hiện giao dịch mua. Có thể thông qua trang web hoặc một ứng dụng.
  • Máy chủ của 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ổng 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 sẽ gửi yêu cầu cung cấp số tham chiếu.
  2. Giao diện người dùng của Google sẽ gửi một thông báo tới Máy chủ Google rằng cần có số tham chiếu (getReferenceNumber).
  3. Máy chủ Google yêu cầu Máy chủ tích hợp thanh toán tạo 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 sẽ tạo hướng dẫn thanh toán kèm theo 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 này và số tham chiếu đến Người dùng.

Lưu ý về 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 là 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à người dùng 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 đang được thanh toán bằng cách trình bày số tiền mua, ngày mua 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 nhiều hơn hoặc ít hơn theo một số tham chiếu duy nhất. Nhiều khoản thanh toán cho một số tham chiếu duy nhất cũng không được hỗ trợ.

Sau khi người dùng thanh toán, đối tác 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 thông 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 sau khi người dùng thanh toán thực, đối tác tích hợp cho phép người dùng nhanh chóng nhận được hàng hoá của họ. (Bạn có thể thêm cuộc gọi này vào hàng đợi nếu mạng bị mất.)

Sau khi thanh toán, số tham chiếu và số tiền sẽ được đưa vào 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ạ việc thanh toán số tham chiếu.

Quy trình gửi số tham chiếu thanh toán

Quy trình gửi số tham chiếu thanh toán

Các đối tượng trong biểu đồ này đại diện cho những nội dung sau:

  • Người dùng: Đây là những người muốn thanh toán cho sản phẩm/dịch vụ nào đó bằng phương thức thanh toán này.
  • Cửa hàng tiện lợi: Vị trí nơi người dùng 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 giúp theo dõi thông tin thanh toán.
  • Máy chủ của 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 từ việc người dùng đến cửa hàng tiện lợi để thanh toán theo hướng dẫn dành cho họ.

  1. Người dùng chuyển đế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 đơn vị tích hợp thanh toán về việc thanh toán.
  3. Máy chủ công cụ 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 thông báo rằng giao dịch đã 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 tới Máy chủ của Google rằng 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 sẽ phản hồi bằng thông báo thành công gửi tới Máy chủ công cụ tích hợp thanh toán.

Huỷ số tham chiếu

Google có thể huỷ số tham chiếu. Nếu Google huỷ một số tham chiếu, thì phương thức cancelReferenceNumber sẽ được gọi. Sau khi cuộc gọi được gọi lại thành công, việc thanh toán số tham chiếu đó là không hợp lệ và đối tác tích hợp phải từ chối thanh toán cho số điện thoại này. Sau khi lệnh gọi này thành công, tất cả các lệnh gọi trong tương lai đến referenceNumberPaidNotification 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, thì đơn vị tích hợp phải trả về một 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