샌드박스 모드

기본적으로 Google 월렛은 실제 ID를 사용하여 프로덕션 모드에서 작동합니다. 샌드박스 모드에서 작동하도록 Google 월렛을 재구성할 수 있습니다. 요청이 Google의 샌드박스 환경으로 라우팅됩니다.

개발 및 사전 프로덕션 테스트 중에는 샌드박스 모드를 사용하는 것이 좋습니다. 준비가 되면 기기를 프로덕션 모드로 다시 전환할 수 있습니다.

샌드박스 업타임

샌드박스 환경에는 프로덕션 환경과 같은 가동시간 SLA가 없습니다. 샌드박스 서비스 중단과 관련된 오류가 발생한 경우 미국 영업일 기준 하루를 기다린 후 문의하세요. 일반적으로 이 기간 내에 서비스 중단 문제가 해결됩니다. 다운타임이 발생할 수 있으므로 샌드박스 환경에 종속되도록 중요한 출시 프로세스를 설계하지 마세요.

Android 기기에서 샌드박스 모드 사용 설정 및 중지

탭앤페이 환경 설정을 사용하여 샌드박스 모드를 사용 설정할 수 있습니다. 프로덕션 모드로 돌아가려면 설명된 것과 동일한 단계를 따르되 샌드박스 대신 프로덕션을 선택합니다.

TapAndPay 환경 설정 사용

다음 단계를 실행하여 샌드박스 모드를 사용 설정합니다.

  1. 설정 앱을 엽니다.
  2. 화면 상단에서 Google 계정 / 프로필 사진을 탭합니다 (이름과 'Google 서비스 및 환경설정'이 표시됨).
  3. 선택할 수 있는 경우 프로필을 선택한 다음 모든 서비스를 탭합니다.
  4. 기타 카테고리로 스크롤하여 TapAndPay Environment를 탭합니다. TapAndPay Environment가 표시되지 않으면 기기를 재부팅하고 1단계부터 다시 시작합니다.
  5. 드롭다운 메뉴를 탭하고 SANDBOX를 선택합니다.
  6. 환경 변경 확인 스크린샷
  7. 환경이 변경되었다는 알림이 표시됩니다. 확인을 탭하고 기기를 재부팅합니다.
  8. 환경 변경 확인 스크린샷

Google 월렛 환경 동기화

재부팅 후 Google 월렛을 열면 다음 대화상자가 표시될 수 있으며, 이 경우 Google 월렛을 강제 종료하고 다시 열어야 합니다.

환경 변경 확인 스크린샷

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 월렛 앱 을 엽니다.
  2. 오른쪽 상단에서 프로필 사진 또는 계정 > 월렛 설정을 탭합니다.
  3. 페이지 하단으로 스크롤하고 샌드박스라는 확인 메시지가 표시되면 샌드박스 호출을 하도록 구성된 것입니다. 메시지가 표시되지 않으면 프로덕션 호출을 하도록 구성된 것입니다.
프로덕션 모드
그림 1: 프로덕션 모드
샌드박스 모드
그림 2: 샌드박스 모드

일부 기기의 Google 설정에는 Google 월렛이 없습니다. Google 월렛 설정에 액세스하려면 다음 명령어를 사용하여 adb를 사용해야 합니다.

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

샌드박스에서 서명된 요청 테스트

자체 프로덕션 키를 등록하지 않고 샌드박스 환경에서 서명된 요청을 테스트하려면 다음 테스트 키 쌍을 사용하면 됩니다. 이러한 키는 샌드박스 환경에서 사전 신뢰됩니다.

테스트 키

비공개 키 (PEM):

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

신뢰 당사자 메타데이터 (Base64url CBOR):

2BhY56Juc2NoZW1hX3ZlcnNpb25idjFnZGlzcGxheaNsZGlzcGxheV9uYW1leBhURVNUIFVTRSBPTkxZIFNhbmRib3ggUlBobG9nb191cml4YWh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3Byb2R1Y3Rsb2dvcy9nb29nbGVnL3Y2L3dlYi02NGRwL2xvZ29fZ29vZ2xlZ19jb2xvcl8xeF93ZWJfNjRkcC5wbmdycHJpdmFjeV9wb2xpY3lfdXJpeCNodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vcHJpdmFjeQ

신뢰 당사자 메타데이터 (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로 설정합니다. 해시 계산에 대한 자세한 내용은 온라인 수락 - 서명된 요청을 참고하세요.