Quy trình giao tiếp của công cụ Chạm thông minh

Hoạt động giao tiếp giữa thiết bị đầu cuối và ứng dụng Google Wallet

Thiết bị đầu cuối tự nhận dạng bằng Mã người nhận ưu đãi được liên kết với mã nhà phát hành chương trình đổi thưởng. Khi xảy ra thao tác Chạm thông minh, thiết bị đầu cuối sẽ truyền mã bộ thu thập đến thiết bị của người dùng. Sau đó, ứng dụng Google Wallet sẽ kiểm tra Mã lớp và Mã người nhận của từng thẻ và vé được lưu trữ. Khi tìm thấy một hoặc nhiều kết quả trùng khớp, ứng dụng Google Wallet sẽ truyền các thẻ và vé trùng khớp đến thiết bị đầu cuối. Xem phần Cấu hình người bán để biết thông tin chi tiết về cách thiết lập.

Ví dụ 1: Một công ty phát hành chương trình đổi thưởng

Phần sau đây mô tả cách thiết lập được nêu trong sơ đồ này.

Trong sơ đồ trên, có 2 Nhà phát hành khác nhau:

  • Tổ chức phát hành 2018 là nhà phát triển thẻ và vé (còn gọi là Đơn vị tổng hợp)
  • Tổ chức phát hành 1990 là người bán, fooPizza (còn được gọi là Công ty phát hành chương trình đổi thưởng)

Tổ chức phát hành chương trình đổi thưởng (fooPizza) muốn bật chức năng Chạm thông minh cho thẻ của họ (do Trang tổng hợp quản lý). Trang web tổng hợp và Công ty phát hành chương trình đổi thưởng phải hoàn tất các bước sau để bật tính năng Chạm thông minh cho thiết bị đầu cuối của người bán.

Bước Role Nội dung mô tả
1 Trang web tổng hợp Tạo lớp và đối tượng truyền (lần lượt là abc123 trong sơ đồ).
2 Trang web tổng hợp Đưa mã của bên phát hành chương trình đổi thưởng vào thuộc tính redemptionIssuers của lớp thẻ và vé. Điều này cho Google Wallet biết rằng Mã nhà phát hành 1990 được phép sử dụng các đối tượng thẻ và vé tham chiếu đến lớp này.
3 Công ty phát hành chương trình đổi thưởng Lấy mã bộ sưu tập (trong sơ đồ, 12345678).
4 Công ty phát hành chương trình đổi thưởng Đặt Mã bộ thu thập 12345678 trên mỗi thiết bị đầu cuối hỗ trợ tính năng Chạm thông minh sẽ được sử dụng. Mọi đối tượng có mã lớp abc và mã bộ sưu tập 12345678 sẽ được chuyển đến trình đọc.

Ví dụ 2: Nhiều công ty phát hành chương trình đổi thưởng

Một lớp thẻ và vé có thể có nhiều Công ty phát hành chương trình đổi thưởng. Để có thể sử dụng một lớp thẻ và vé cụ thể, bạn phải thêm mã của Nhà phát hành đổi thưởng vào thuộc tính redemptionIssuers của lớp đó. Sau đó, mỗi Công ty phát hành chương trình đổi thưởng sẽ có Mã người nhận riêng. Mã này được định cấu hình trên các thiết bị đầu cuối hỗ trợ cử chỉ Chạm thông minh.

Phần sau đây mô tả cách thiết lập được nêu trong sơ đồ này.

Trong sơ đồ trước, có 3 Nhà phát hành:

  • Tổ chức phát hành 8088 là nhà phát triển thẻ và vé (Công ty tổng hợp)
  • Tổ chức phát hành 1990 là người bán, fooPizza (Tổ chức phát hành đổi thưởng)
  • Tổ chức phát hành 2018 là một người bán, yumPie (Công ty phát hành chương trình đổi thưởng)

Đơn vị tổng hợp và Nhà phát hành đổi thưởng phải hoàn tất các bước sau để bật tính năng Chạm thông minh cho thiết bị thanh toán của người bán.

Bước Role Nội dung mô tả
1 Trang web tổng hợp Tạo lớp và đối tượng truyền (lần lượt là abc123 trong sơ đồ).
2 Trang web tổng hợp Đưa mã của nhà phát hành đổi thưởng vào thuộc tính redemptionIssuers của lớp thẻ và vé. Điều này cho Google Wallet biết rằng Mã nhà phát hành 19902018 được phép sử dụng các đối tượng thẻ và vé tham chiếu đến lớp này.
3 Công ty phát hành chương trình đổi thưởng Lấy mã Bộ sưu tập (trong biểu đồ, 12345678 cho fooPizza và 18802001 cho yumPie).
4 Công ty phát hành chương trình đổi thưởng Đặt mã bộ sưu tập tương ứng trên mỗi thiết bị đầu cuối có hỗ trợ tính năng Chạm thông minh sẽ được sử dụng. Mọi đối tượng có mã lớp abc và mã bộ sưu tập trùng khớp sẽ được chuyển đến trình đọc.

Ví dụ 3: Không có trang web tổng hợp

Bạn có thể phát triển và cấp loại thẻ và vé trong cùng một tài khoản Tổ chức phát hành. Trong trường hợp này, không có Bộ tổng hợp nào quản lý các lớp thẻ và vé cho nhiều Công ty phát hành thẻ đổi thưởng. Để có thể sử dụng một lớp thẻ và vé cụ thể, nhà phát triển thẻ và vé phải thêm Mã nhà phát hành của họ vào thuộc tính redemptionIssuers của lớp đó. Sau đó, nhà phát triển thẻ và vé phải lấy mã bộ sưu tập và định cấu hình mã đó trên các thiết bị đầu cuối hỗ trợ cử chỉ Chạm thông minh.

Phần sau đây mô tả cách thiết lập được nêu trong sơ đồ này.

Nhà phát triển thẻ và vé phải hoàn tất các bước sau để bật tính năng Chạm thông minh cho các thiết bị thanh toán của người bán.

Bước Role Nội dung mô tả
1 Nhà phát triển Pass Tạo lớp và đối tượng truyền (lần lượt là abc123 trong sơ đồ).
2 Nhà phát triển Pass Bao gồm Mã nhà phát hành trong thuộc tính redemptionIssuers của lớp thẻ và vé. Điều này cho Google Wallet biết rằng Mã nhà phát hành 2018 được phép sử dụng các đối tượng thẻ và vé tham chiếu đến lớp này.
3 Nhà phát triển Pass Lấy mã bộ sưu tập (trong sơ đồ, 12345678).
4 Nhà phát triển Pass Đặt mã bộ sưu tập tương ứng trên mỗi thiết bị đầu cuối có hỗ trợ tính năng Chạm thông minh sẽ được sử dụng. Mọi đối tượng có mã lớp abc và mã bộ sưu tập trùng khớp sẽ được chuyển đến trình đọc.

Trải nghiệm và hành vi người dùng

Hành vi của nội dung được truyền giữa thiết bị đầu cuối và ứng dụng Google Wallet tuỳ thuộc vào người dùng cũng như cách họ tương tác với ứng dụng Google Wallet tại thời điểm đó.

Tình huống 1: Người dùng mở một thẻ và vé cụ thể

Bước Role Nội dung mô tả
1 Người dùng Chọn một thẻ và vé cụ thể trong ứng dụng Google Wallet.
2 Người dùng Nhấn vào một thiết bị đầu cuối đã bật tính năng Chạm thông minh.
3 Ga (Khớp với mã bộ thu thập) Thẻ được truyền đến thiết bị đầu cuối.
(Mã người nhận không khớp) Thẻ sẽ không được truyền đến thiết bị đầu cuối.

Tình huống 2: Thẻ Trang chủ của Google Wallet hoặc chế độ xem màn hình đã mở khoá

Bước Role Nội dung mô tả
1 Người dùng Mở thẻ Màn hình chính trong ứng dụng Google Wallet hoặc mở khoá màn hình của thiết bị.
2 Người dùng Nhấn vào một thiết bị đầu cuối đã bật tính năng Chạm thông minh.
3 Ga (Khớp với mã nhận dạng bộ thu thập hợp lệ duy nhất) Thẻ được truyền đến thiết bị đầu cuối.
(Nhiều mã bộ sưu tập trùng khớp) Hiển thị một băng chuyền gồm các thẻ và vé hợp lệ và truyền giá trị do người dùng chọn.

Lưu ý: Tính hợp lệ của thẻ và vé phụ thuộc vào cấu hình cụ thể của đối tượng thẻ và vé. Hãy nhớ kiểm tra các thuộc tính truyền sau đây của đối tượng:

  • state
  • validTimeInterval

Ví dụ về bộ sưu tập Chạm thông minh

Bảng sau đây mô tả Tổ chức phát hành và thẻ và vé sẽ được sử dụng trong ví dụ này:

Tên người bán ILuvCoffee Cà phê chân Mocha-R-U
ID công ty phát hành 123 456 789
Mã người thu thập 11111111 44444444 77777777
Cấp bậc chương trình khách hàng thân thiết R-cơ bản Phần thưởng của tôi
Vàng R

ILuvCoffee có hai bậc chương trình khách hàng thân thiết: R-BasicR-Gold. Trong khi đó, Coffee-Foo có chương trình khách hàng thân thiết có một bậc duy nhất là Phần thưởng của tôi, còn Mocha-R-Us không có chương trình khách hàng thân thiết.

Trong chiến dịch quảng cáo chéo, người bán muốn cung cấp các lựa chọn sau cho khách hàng:

  • Khách hàng bậc R-Basic có thể sử dụng tính năng Chạm thông minh để sử dụng gói thành viên thân thiết của họ tại cả Coffee-Foo và Mocha-R-Us
  • Khách hàng cấp R-Gold không cần sử dụng tính năng Chạm thông minh
  • Khách hàng Phần thưởng của tôi có thể sử dụng tính năng Chạm thông minh để chỉ sử dụng gói thành viên thân thiết tại Coffee-Foo

Để chiến dịch này hoạt động, mỗi lớp khách hàng thân thiết sẽ cần các giá trị sau được đặt trong thuộc tính redemptionIssuers của định nghĩa lớp.

Lớp khách hàng thân thiết Mã công ty phát hành chương trình đổi thưởng
R-cơ bản ["456", "789"]
Vàng R []
Phần thưởng của tôi ["456"]

Với cấu hình này, mọi đối tượng truyền tham chiếu đến các lớp này sẽ có mã bộ sưu tập sau:

  • R-Basic: 44444444, 77777777
  • R-Gold: Không bao gồm Mã người sưu tập
  • Phần thưởng của tôi: 44444444

Xác thực trình thu thập tại thời điểm nhấn

Trong phần Cấu hình của công ty phát hành, một tài khoản của Công ty phát hành có thể có nhiều khoá công khai được liên kết với tài khoản đó. Các khoá công khai này được lưu trữ trong ứng dụng Google Wallet. Ứng dụng này dùng các khoá này để xác thực khi người dùng nhấn vào thiết bị trên một thiết bị đầu cuối có hỗ trợ cử chỉ Chạm thông minh. Bước xác thực này diễn ra sau khi ứng dụng tìm thấy một đối tượng truyền cho người dùng có Mã bộ sưu tập khớp với giá trị mà thiết bị đầu cuối quảng cáo.

Tiếp tục ví dụ trong phần trước, bảng sau đây mô tả các khoá công khai liên kết với từng Tổ chức phát hành.

Tên người bán ILuvCoffee Cà phê chân Mocha-R-U
ID công ty phát hành 123 456 789
Mã người thu thập 11111111 44444444 77777777
Cấp bậc chương trình khách hàng thân thiết R-cơ bản Phần thưởng của tôi
Vàng R
Khoá công khai aaa bbb

Ví dụ về một khách hàng đã lưu các thẻ khách hàng thân thiết sau đây trong ứng dụng Google Wallet:

  • ILuvCoffee: R-Basic
  • Coffee-Foo: Phần thưởng của tôi

Như trước đây, các giá trị sau được đặt trong thuộc tính redemptionIssuers cho từng lớp khách hàng thân thiết.

  • R-Basic: ["456", "789"]
  • Phần thưởng của tôi: ["456"]

Nếu người dùng nhấn vào thiết bị tại các thiết bị thanh toán của mỗi người bán, thì có thể có 3 kết quả:

Thiết bị thanh toán của người bán Kết quả
ILuvCoffee Vì ILuvCoffee (Mã tổ chức phát hành ưu đãi 123) hiện chưa được định cấu hình để sử dụng lớp khách hàng thân thiết của riêng mình, nên R-Basic, nên sẽ không có nội dung nào được truyền.
Cà phê chân Ứng dụng Google Wallet sẽ xác thực với đầu cuối Coffee-Foo bằng cách sử dụng khoá công khai bbb. Tuỳ thuộc vào màn hình hiện tại mà người dùng đang xem trên thiết bị, một trong các tình huống nêu trong phần Trải nghiệm người dùng sẽ xảy ra.
Mocha-R-U Không có khoá công khai cho Mocha-R-U trong ví dụ này. Mặc dù bạn có thể sử dụng chương trình R-Basic với người bán, nhưng chương trình này không thể xác thực với thiết bị đầu cuối, nên sẽ không có nội dung nào được truyền.

Giới hạn xác thực

Khi thẻ và vé được đồng bộ hoá với ứng dụng Google Wallet của người dùng, tất cả Nhà phát hành chương trình đổi thưởng của thẻ và vé đó đều được tra cứu từ phần phụ trợ của Google Wallet. Mã người thu thập, khoá công khai và các phiên bản khoá của từng Tổ chức phát hành đổi thưởng được lưu trữ cục bộ trong ứng dụng Google Wallet.

Mỗi thẻ và vé có thể có nhiều mã công ty phát hành chương trình đổi thưởng. Sau đó, mỗi mã liên kết với một Mã người nhận riêng của một người bán cụ thể. Ngoài ra, có thể có nhiều khoá công khai và phiên bản chính cho một mã bộ sưu tập duy nhất.

Ứng dụng Google Wallet sẽ không tìm cách xác thực với thiết bị đầu cuối nếu thiết bị đầu cuối đó không sử dụng được bất kỳ thẻ và vé nào. Số liệu này dựa trên mã bộ sưu tập và phiên bản khoá công khai. Để cập nhật khoá công khai cho thẻ và vé của bạn, thiết bị thanh toán phải có kết nối Internet để có thể truy xuất khoá công khai mới từ phần phụ trợ của Google Wallet.

Một thẻ và vé có thể được liên kết với nhiều khoá công khai cùng một lúc. Xem phần Cấu hình người bán để biết thông tin về cách đặt nhiều khoá công khai cho cùng một thẻ và vé.

Truyền giá trị trong khi nhấn

Để gửi dữ liệu qua một lượt truyền trong khi nhấn, bạn phải đặt smartTapRedemptionValue của đối tượng truyền. Sau khi lớp tương ứng với đối tượng được bật cho tính năng Chạm thông minh, giá trị này sẽ được gửi đến thiết bị đầu cuối.

Dựa trên quá trình tích hợp và trường hợp sử dụng của bạn, giá trị này sẽ được dùng để xác định lượt truyền của người dùng và thực hiện mọi logic giao dịch cần thiết, chẳng hạn như sau:

  1. Cập nhật số dư hoặc trạng thái của người dùng
  2. Cập nhật phần phụ trợ của riêng bạn dựa trên giao dịch
  3. Cập nhật đối tượng truyền bằng cách sử dụng API Google Wallet để phản ánh mọi thay đổi đối với trạng thái của người dùng trên thiết bị của họ

Thiết bị đầu cuối và ứng dụng Google Wallet xử lý việc mã hoá tất cả dữ liệu được truyền qua NFC. Thiết bị đầu cuối xử lý quá trình giải mã dữ liệu sau khi tính năng Chạm thông minh diễn ra. Trong dữ liệu, có các bản ghi NDEF của Đối tượng dịch vụ đại diện cho từng lần truyền. Service number NDEF Record của Đối tượng dịch vụ có tải trọng chứa giá trị được đặt trong thuộc tính smartTapRedemptionValue của đối tượng truyền. Điều này có nghĩa là nhà phát triển thẻ và vé không phải xử lý việc mã hoá dữ liệu được truyền.

Nếu muốn thêm một lớp bảo mật khác, bạn có thể đặt thuộc tính smartTapRedemptionValue để chỉ hệ thống nhận dữ liệu được truyền (chẳng hạn như Điểm bán hàng) mới có thể giải mã thuộc tính đó. Tuy nhiên, nhà phát triển thẻ và quản trị viên POS sẽ chịu trách nhiệm về quá trình mã hoá/giải mã.