โหมดแซนด์บ็อกซ์

โดยค่าเริ่มต้น Google Wallet จะทำงานในโหมดการใช้งานจริงด้วยข้อมูลประจำตัวจริง คุณสามารถกำหนดค่า Google Wallet ใหม่ ให้ทำงานในโหมดแซนด์บ็อกซ์ได้ ระบบจะกำหนดเส้นทางคำขอไปยังสภาพแวดล้อมแซนด์บ็อกซ์ของ Google

เราขอแนะนำให้ใช้โหมดแซนด์บ็อกซ์ในระหว่างการพัฒนาและการทดสอบก่อนการผลิต เมื่อพร้อมแล้ว คุณสามารถเปลี่ยนอุปกรณ์กลับไปเป็นโหมดเวอร์ชันที่ใช้งานจริงได้

เวลาทำงานของแซนด์บ็อกซ์

สภาพแวดล้อมแซนด์บ็อกซ์ไม่มี SLA เกี่ยวกับระยะเวลาทำงานเหมือนกับสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์ หากพบข้อผิดพลาดที่คุณสงสัยว่าเกี่ยวข้องกับการหยุดทำงานของแซนด์บ็อกซ์ โปรดรอ 1 วันทำการของสหรัฐอเมริกาก่อนที่จะติดต่อเรา โดยปกติแล้วปัญหาขัดข้องจะได้รับการแก้ไข ภายในระยะเวลาดังกล่าว เนื่องจากอาจเกิดการหยุดทำงานได้ คุณจึงไม่ควรออกแบบกระบวนการเผยแพร่ที่สำคัญให้ขึ้นอยู่กับสภาพแวดล้อมแซนด์บ็อกซ์

เปิดและปิดใช้โหมดแซนด์บ็อกซ์ในอุปกรณ์ Android

คุณเปิดใช้โหมดแซนด์บ็อกซ์ได้โดยใช้การตั้งค่าสภาพแวดล้อม TapAndPay หากต้องการกลับสู่โหมดโปรดักชัน ให้ทำตามขั้นตอนเดียวกันที่ระบุไว้ แต่เลือกโปรดักชันแทนแซนด์บ็อกซ์

ใช้การตั้งค่าสภาพแวดล้อมของ TapAndPay

ทําตามขั้นตอนต่อไปนี้เพื่อเปิดใช้โหมดแซนด์บ็อกซ์

  1. เปิดแอปการตั้งค่า
  2. แตะบัญชี Google / รูปโปรไฟล์ที่ด้านบนสุดของหน้าจอ (จะแสดงชื่อของคุณและ "บริการและค่ากำหนดของ Google")
  3. เลือกโปรไฟล์หากมีตัวเลือก แล้วแตะบริการทั้งหมด
  4. เลื่อนไปที่หมวดหมู่อื่นๆ แล้วแตะสภาพแวดล้อมของ TapAndPay หากไม่เห็น สภาพแวดล้อม TapAndPay ให้รีบูตอุปกรณ์แล้วเริ่มต้นใหม่จากขั้นตอนที่ 1
  5. แตะเมนูแบบเลื่อนลง แล้วเลือก SANDBOX
  6. ภาพหน้าจอการยืนยันการเปลี่ยนแปลงสภาพแวดล้อม
  7. คุณควรเห็นกล่องโต้ตอบต่อไปนี้ที่แจ้งว่าสภาพแวดล้อมมีการเปลี่ยนแปลง แตะตกลง แล้วรีบูตอุปกรณ์
  8. ภาพหน้าจอการยืนยันการเปลี่ยนแปลงสภาพแวดล้อม

ซิงค์สภาพแวดล้อมของ Google Wallet

เมื่อเปิด Google Wallet หลังจากรีบูต คุณอาจเห็นกล่องโต้ตอบต่อไปนี้ ซึ่งจะ กำหนดให้คุณบังคับให้หยุดแอป Google Wallet แล้วเปิดอีกครั้ง

ภาพหน้าจอการยืนยันการเปลี่ยนแปลงสภาพแวดล้อม

เปิดและปิดใช้โหมดแซนด์บ็อกซ์ในอุปกรณ์ Wear OS

หากต้องการเปิดใช้โหมดแซนด์บ็อกซ์ในอุปกรณ์ Wear OS ที่เชื่อมต่อ ให้เพิ่มไฟล์ว่างแล้วรีบูต ดังตัวอย่างต่อไปนี้

adb shell touch /sdcard/Download/android_pay_env_override_sandbox
adb reboot

หากต้องการเปลี่ยนกลับไปใช้โหมดโปรดักชันในอุปกรณ์ Wear OS ที่เชื่อมต่อ ให้ลบไฟล์และรีบูต อุปกรณ์ ดังตัวอย่างต่อไปนี้

adb shell rm /sdcard/Download/android_pay_env_override_sandbox
adb reboot

ตรวจสอบว่าอุปกรณ์ Android อยู่ในโหมดแซนด์บ็อกซ์หรือโหมดการใช้งานจริง

หากต้องการดูว่าอุปกรณ์ Android อยู่ในโหมดแซนด์บ็อกซ์หรือโหมดการใช้งานจริง ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิดแอป Google Wallet
  2. ที่ด้านขวาบน ให้แตะรูปโปรไฟล์หรือบัญชี > การตั้งค่า Wallet
  3. เลื่อนไปด้านล่างของหน้า แล้วดูว่ามีข้อความยืนยันที่ระบุว่า SANDBOX หรือไม่ หากมี แสดงว่าคุณกำหนดค่าให้ทำการเรียกใช้แซนด์บ็อกซ์ หากไม่เห็นข้อความ แสดงว่าคุณกำหนดค่าให้ทำการเรียกใช้ เวอร์ชันที่ใช้งานจริง
โหมดโปรดักชัน
รูปที่ 1: โหมดการใช้งานจริง
โหมดแซนด์บ็อกซ์
รูปที่ 2: โหมดแซนด์บ็อกซ์

อุปกรณ์บางเครื่องไม่มี Google Wallet ในการตั้งค่า Google หากต้องการเข้าถึงการตั้งค่า Google Wallet คุณต้องใช้ adb ด้วยคำสั่งต่อไปนี้

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

การทดสอบคำขอที่ลงนามใน Sandbox

หากต้องการทดสอบคำขอที่ลงนามในสภาพแวดล้อมแซนด์บ็อกซ์โดยไม่ต้องลงทะเบียนคีย์ที่ใช้งานจริงของคุณเอง คุณสามารถใช้คู่คีย์ทดสอบต่อไปนี้ คีย์เหล่านี้ได้รับความน่าเชื่อถือล่วงหน้าในสภาพแวดล้อมแซนด์บ็อกซ์

คีย์ทดสอบ

คีย์ส่วนตัว (PEM):

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

ข้อมูลเมตาของ Relying Party (CBOR ที่เข้ารหัส Base64url):

2BhY56Juc2NoZW1hX3ZlcnNpb25idjFnZGlzcGxheaNsZGlzcGxheV9uYW1leBhURVNUIFVTRSBPTkxZIFNhbmRib3ggUlBobG9nb191cml4YWh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3Byb2R1Y3Rsb2dvcy9nb29nbGVnL3Y2L3dlYi02NGRwL2xvZ29fZ29vZ2xlZ19jb2xvcl8xeF93ZWJfNjRkcC5wbmdycHJpdmFjeV9wb2xpY3lfdXJpeCNodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vcHJpdmFjeQ

ข้อมูลเมตาของ Relying Party (การดัมพ์ 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"
  }
}

ใบรับรองสาธารณะ (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-----

วิธีการ

  1. ใช้คีย์ส่วนตัวทดสอบเพื่อลงนามในคำขอ (JWS)
  2. ฝังใบรับรองสาธารณะทดสอบในส่วนหัว x5c ของคำขอ
  3. ตั้งค่า client_id เป็น x509_hash ของใบรับรองนี้ ดูรายละเอียดเกี่ยวกับการคำนวณแฮชได้ที่การยอมรับทางออนไลน์ - คำขอที่ลงนามแล้ว