Bước 1: Thiết lập Hộp cát

Hộp cát là một môi trường thử nghiệm cho dịch vụ định danh của Google Wallet. Ứng dụng này sử dụng mã nhận dạng thử nghiệm thay vì mã nhận dạng thực tế, nhờ đó, bạn có thể xây dựng và gỡ lỗi cho quá trình tích hợp mà không cần can thiệp vào dữ liệu thực tế.

Theo mặc định, Google Wallet chạy ở chế độ chính thức với giấy tờ tuỳ thân thật. Trong bước này, bạn chuyển thiết bị thử nghiệm sang chế độ hộp cát và định cấu hình máy chủ cho các yêu cầu và phản hồi trong hộp cát.

Các bước trên trang này

Trước khi bắt đầu

Bước A: Yêu cầu quyền truy cập vào hộp cát cho tài khoản thử nghiệm của bạn

Theo mặc định, lựa chọn chuyển đổi giữa hộp cát và môi trường thực tế sẽ bị ẩn. Để bật nút bật/tắt trên thiết bị thử nghiệm, bạn phải thêm Tài khoản Google của mình vào danh sách cho phép của hộp cát:

  1. Điền thông tin vào Biểu mẫu yêu cầu cấp quyền truy cập vào Hộp cát Google Pay bằng Tài khoản Google mà bạn dùng trong Google Wallet.
  2. Nếu bạn đang thử nghiệm ở một quốc gia hoặc khu vực chưa chính thức ra mắt giấy tờ tuỳ thân điện tử, hãy gửi địa chỉ Gmail của tài khoản thử nghiệm đến wallet-identity-rp-support@google.com.

Bước B: Chuyển thiết bị sang chế độ hộp cát

  1. Mở ứng dụng Cài đặt trên thiết bị Android dùng để thử nghiệm.
  2. Nhấn vào Tài khoản Google / ảnh hồ sơ của bạn ở trên cùng màn hình (mục này cho biết tên của bạn và "các dịch vụ của Google và lựa chọn ưu tiên").
  3. Nếu được nhắc, hãy chọn hồ sơ của bạn rồi nhấn vào Tất cả dịch vụ.
  4. Chuyển đến danh mục Khác rồi nhấn vào Môi trường TapAndPay. Nếu bạn không thấy TapAndPay Environment (Môi trường TapAndPay), hãy khởi động lại thiết bị rồi bắt đầu lại từ bước 1. Nếu vẫn không thấy, hãy xác minh rằng tài khoản của bạn nằm trong danh sách cho phép của hộp cát (Bước A).
  5. Nhấn vào trình đơn thả xuống rồi chọn SANDBOX.

    Bộ chọn môi trường TapAndPay

  6. Một hộp thoại sẽ thông báo cho bạn rằng môi trường đã thay đổi. Nhấn vào OK rồi khởi động lại thiết bị.

    Ảnh chụp màn hình xác nhận thay đổi môi trường

  7. Mở Google Wallet sau khi khởi động lại. Nếu bạn thấy hộp thoại sau, hãy buộc dừng và mở lại Google Wallet để ứng dụng này đồng bộ hoá với môi trường hộp cát:

    Hộp thoại buộc dừng Google Wallet

Bước C: Xác nhận rằng thiết bị của bạn đang ở chế độ hộp cát

  1. Mở ứng dụng Google Wallet .
  2. Ở trên cùng bên phải, hãy nhấn vào ảnh hồ sơ hoặc tài khoản của bạn > Cài đặt Wallet.
  3. Chuyển xuống cuối trang. Nếu bạn thấy thông báo xác nhận có nội dung SANDBOX, thì tức là thiết bị của bạn đã được định cấu hình cho các lệnh gọi hộp cát. Nếu bạn không thấy thông báo, thì tức là Looker Studio đang ở chế độ sản xuất.
Chế độ sản xuất
Hình 1: Chế độ sản xuất
Chế độ hộp cát
Hình 2: Chế độ hộp cát

Một số thiết bị không hiển thị Google Wallet trong phần Cài đặt của Google. Để mở phần cài đặt Google Wallet trên các thiết bị đó, hãy dùng adb bằng lệnh sau:

adb shell am start -n com.google.android.gms/com.google.android.gms.tapandpay.settings.TapAndPaySettingsActivity

Chuyển về kênh phát hành công khai

Lặp lại Bước B, nhưng chọn PRODUCTION (MÔI TRƯỜNG SẢN XUẤT) thay vì SANDBOX (HỘP CÁT).

Thiết bị Wear OS

Để bật chế độ hộp cát trên thiết bị Wear OS đã kết nối, hãy thêm một tệp trống và khởi động lại:

adb shell touch /sdcard/Download/android_pay_env_override_sandbox
adb reboot

Để chuyển về phiên bản chính thức, hãy xoá tệp rồi khởi động lại:

adb shell rm /sdcard/Download/android_pay_env_override_sandbox
adb reboot

Bước D: Định cấu hình máy chủ cho hộp cát

Cấu hình hộp cát hai chiều cho thấy các yêu cầu OpenID4VP đã ký gửi đi và quy trình xác minh thông tin xác thực thử nghiệm Utopia gửi đến

Trong hộp cát, máy chủ của bạn cần hai thứ:

  1. Yêu cầu thông tin xác thực ký được hộp cát của Google Wallet tin tưởng:
    • Bên phụ thuộc: Sử dụng cặp khoá kiểm thử hộp cát được tin cậy trước của Google và siêu dữ liệu mẫu sau đây. Bạn không cần gửi biểu mẫu.
    • Nhà đăng ký xác minh: Ký yêu cầu bằng chứng chỉ lá do CA gốc trong hộp cát của riêng bạn cấp (sau khi Google thêm chứng chỉ đó vào kho lưu trữ tin cậy trong hộp cát) và tạo gw_rp_metadata_bytes của riêng bạn như mô tả trong Bước 3.A: Định cấu hình hồ sơ chứng chỉ CA và siêu dữ liệu CBOR.
  2. Neo tin cậy để xác minh phản hồi: Cả Bên phụ thuộc và Nhà đăng ký xác minh đều phải thêm chứng chỉ Utopia Sandbox vào kho lưu trữ uy tín của máy chủ để xác thực phản hồi từ mã nhận dạng kiểm thử trong hộp cát.

Khoá và siêu dữ liệu thử nghiệm trong hộp cát (Bên xác thực)

Để kiểm thử các yêu cầu đã ký trong môi trường Hộp cát mà không cần đăng ký khoá phát hành công khai của riêng bạn, bạn có thể sử dụng cặp khoá kiểm thử sau đây. Các khoá này được tin cậy trước trong môi trường Hộp cát.

Hướng dẫn

  1. Sử dụng khoá riêng tư thử nghiệm để ký yêu cầu (JWS).
  2. Nhúng chứng chỉ công khai thử nghiệm vào tiêu đề x5c của yêu cầu.
  3. Đặt client_id thành x509_hash của chứng chỉ này. Xem phần Yêu cầu đã ký để biết thông tin chi tiết về cách tính hàm băm.
  4. Đặt gw_rp_metadata_bytes trong client_metadata thành Siêu dữ liệu của bên Relying Party thử nghiệm sau đây (Base64url CBOR).

Khoá riêng tư (PEM):

-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQggRmIZIHQhXcYIeZ7
KSqS/WwJrsOetdI8ZE4HG0fd+3uhRANCAAR3GR6mdt/NOErO7+XtKqo7orgXWPMI
jEQDeE1PP4KWXTBAhuewPvF8uOiYakz5Jqd1kEFKfiecZEZRrLnC7U+e
-----END PRIVATE KEY-----

Siêu dữ liệu của bên Relying Party (Base64url CBOR):

2BhY56Juc2NoZW1hX3ZlcnNpb25idjFnZGlzcGxheaNsZGlzcGxheV9uYW1leBhURVNUIFVTRSBPTkxZIFNhbmRib3ggUlBobG9nb191cml4YWh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3Byb2R1Y3Rsb2dvcy9nb29nbGVnL3Y2L3dlYi02NGRwL2xvZ29fZ29vZ2xlZ19jb2xvcl8xeF93ZWJfNjRkcC5wbmdycHJpdmFjeV9wb2xpY3lfdXJpeCNodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vcHJpdmFjeQ

Siêu dữ liệu của bên Relying Party (Bản kết xuất CBOR):

#24# .bstr

{
  "schema_version": "v1",
  "display": {
    "display_name": "TEST USE ONLY Sandbox RP",
    "logo_uri": "https://fonts.gstatic.com/s/i/productlogos/googleg/v6/web-64dp/logo_googleg_color_1x_web_64dp.png",
    "privacy_policy_uri": "https://policies.google.com/privacy"
  }
}

Chứng chỉ công khai (PEM):

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            97:99:aa:8b:09:93:5a:20:c1:8b:27:6c:e2:da:91:97:f2:b7:79:8d
        Signature Algorithm: ecdsa-with-SHA256
        Issuer: O=Google, OU=Wallet, CN=TEST USE ONLY Sandbox RP
        Validity
            Not Before: Jun  2 00:39:54 2026 GMT
            Not After : Jun  2 00:39:54 2027 GMT
        Subject: O=Google, OU=Wallet, CN=TEST USE ONLY Sandbox RP
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:77:19:1e:a6:76:df:cd:38:4a:ce:ef:e5:ed:2a:
                    aa:3b:a2:b8:17:58:f3:08:8c:44:03:78:4d:4f:3f:
                    82:96:5d:30:40:86:e7:b0:3e:f1:7c:b8:e8:98:6a:
                    4c:f9:26:a7:75:90:41:4a:7e:27:9c:64:46:51:ac:
                    b9:c2:ed:4f:9e
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        X509v3 extensions:
            X509v3 Subject Key Identifier:
                29:CA:DA:07:9B:1F:68:FA:80:01:E1:68:E3:38:E8:5A:5C:28:B1:6A
            X509v3 Authority Key Identifier:
                29:CA:DA:07:9B:1F:68:FA:80:01:E1:68:E3:38:E8:5A:5C:28:B1:6A
            X509v3 Basic Constraints: critical
                CA:TRUE
            1.3.6.1.4.1.11129.10.1:
                . ...?..!H.Z\j...uT2. .u.:.O.... 0
    Signature Algorithm: ecdsa-with-SHA256
    Signature Value:
        30:46:02:21:00:91:94:fa:b9:85:82:92:bd:6a:98:44:73:ec:
        30:26:1f:92:01:8f:5b:06:d7:8f:21:34:dc:76:f0:89:3c:04:
        8c:02:21:00:ae:3e:9d:46:99:bd:63:7a:cc:59:30:66:48:d0:
        75:cc:c9:82:07:ca:39:f1:f0:df:2b:07:7b:32:b9:5b:3f:0a

-----BEGIN CERTIFICATE-----
MIICFDCCAbmgAwIBAgIVAJeZqosJk1ogwYsnbOLakZfyt3mNMAoGCCqGSM49BAMC
MEUxDzANBgNVBAoMBkdvb2dsZTEPMA0GA1UECwwGV2FsbGV0MSEwHwYDVQQDDBhU
RVNUIFVTRSBPTkxZIFNhbmRib3ggUlAwHhcNMjYwNjAyMDAzOTU0WhcNMjcwNjAy
MDAzOTU0WjBFMQ8wDQYDVQQKDAZHb29nbGUxDzANBgNVBAsMBldhbGxldDEhMB8G
A1UEAwwYVEVTVCBVU0UgT05MWSBTYW5kYm94IFJQMFkwEwYHKoZIzj0CAQYIKoZI
zj0DAQcDQgAEdxkepnbfzThKzu/l7SqqO6K4F1jzCIxEA3hNTz+Cll0wQIbnsD7x
fLjomGpM+SandZBBSn4nnGRGUay5wu1PnqOBhTCBgjAdBgNVHQ4EFgQUKcraB5sf
aPqAAeFo4zjoWlwosWowHwYDVR0jBBgwFoAUKcraB5sfaPqAAeFo4zjoWlwosWow
DwYDVR0TAQH/BAUwAwEB/zAvBgkrBgEEAdZ5CgEEIgQg5taUP70bIUiJWlxqkwYP
dVQyoyCvdaw62E8u4ASBIDAwCgYIKoZIzj0EAwIDSQAwRgIhAJGU+rmFgpK9aphE
c+wwJh+SAY9bBtePITTcdvCJPASMAiEArj6dRpm9Y3rMWTBmSNB1zMmCB8o58fDf
Kwd7MrlbPwo=
-----END CERTIFICATE-----

Chứng chỉ gốc IACA của hộp cát (tất cả đối tác)

Giấy tờ tuỳ thân thử nghiệm được cấp trong hộp cát sẽ do Cơ quan cấp giấy tờ tuỳ thân trong hộp cát của Google (Utopia) ký. Để xác thực chữ ký issuerAuth bằng mật mã trên các phản hồi được trả về từ giấy tờ tuỳ thân điện tử trong hộp cát thử nghiệm, hãy thêm chứng chỉ gốc này vào kho lưu trữ uy tín của trình xác minh (không tin tưởng chứng chỉ này trong môi trường thực tế):

Môi trường Tổ chức phát hành / Quốc gia Loại thông tin đăng nhập Chứng chỉ gốc IACA
Hộp cát Utopia Giấy tờ tuỳ thân điện tử (com.google.wallet.idcard.1) Tải chứng chỉ Utopia Sandbox xuống

Để biết chứng chỉ gốc IACA chính thức tại các tiểu bang và quốc gia được hỗ trợ ở Hoa Kỳ, hãy xem phần Tổ chức phát hành và chứng chỉ IACA được hỗ trợ.

Thời gian hoạt động của hộp cát

Môi trường hộp cát không có SLA về thời gian hoạt động như môi trường thực tế của chúng tôi. Nếu bạn gặp lỗi mà bạn nghi ngờ là có liên quan đến sự cố ngừng hoạt động của hộp cát, hãy đợi một ngày làm việc ở Hoa Kỳ trước khi liên hệ với chúng tôi. Sự cố ngừng hoạt động thường tự giải quyết trong khoảng thời gian đó. Do có khả năng xảy ra thời gian ngừng hoạt động, đừng thiết kế bất kỳ quy trình phát hành quan trọng nào phụ thuộc vào môi trường hộp cát.

Bước tiếp theo

Bước 2: Tạo mã nhận dạng thử nghiệm →