حالت Sandbox

به طور پیش‌فرض، گوگل والت در حالت تولید با هویت‌های واقعی کار می‌کند. می‌توانید گوگل والت را طوری پیکربندی کنید که در حالت سندباکس کار کند. درخواست‌ها به محیط سندباکس گوگل هدایت می‌شوند.

توصیه می‌کنیم در طول توسعه و آزمایش‌های پیش‌تولید از حالت سندباکس استفاده کنید. پس از آماده شدن، می‌توانید دستگاه را به حالت تولید برگردانید.

زمان کار در سندباکس

محیط سندباکس مانند محیط تولید ما، SLA های زمان کار ندارد. اگر با خطایی مواجه شدید که گمان می‌کنید مربوط به قطعی سندباکس است، قبل از تماس با ما، یک روز کاری در ایالات متحده صبر کنید. قطعی‌ها معمولاً در این بازه زمانی خود به خود برطرف می‌شوند. با توجه به احتمال خرابی، هیچ یک از فرآیندهای انتشار بحرانی خود را وابسته به محیط سندباکس طراحی نکنید.

فعال و غیرفعال کردن حالت سندباکس در دستگاه اندروید

شما می‌توانید حالت sandbox را با استفاده از تنظیمات محیط TapAndPay فعال کنید. برای بازگشت به حالت production، همان مراحل ذکر شده را دنبال می‌کنید، اما به جای sandbox، production را انتخاب می‌کنید.

از تنظیمات محیط TapAndPay استفاده کنید

برای فعال کردن حالت sandbox مراحل زیر را انجام دهید:

  1. برنامه تنظیمات را باز کنید.
  2. روی حساب گوگل / تصویر پروفایل خود در بالای صفحه ضربه بزنید (نام شما و عبارت «خدمات و تنظیمات گوگل» نمایش داده می‌شود).
  3. در صورت امکان، نمایه خود را انتخاب کنید، سپس روی همه خدمات ضربه بزنید.
  4. به دسته‌ی «سایر» بروید و روی «محیط TapAndPay» ضربه بزنید. اگر «محیط TapAndPay» را نمی‌بینید، دستگاه خود را مجدداً راه‌اندازی کنید و از مرحله‌ی ۱ شروع کنید.
  5. روی منوی کشویی ضربه بزنید و SANDBOX را انتخاب کنید.
  6. تصویر تایید تغییر محیط
  7. شما باید پنجره‌ی زیر را ببینید که به شما اطلاع می‌دهد محیط تغییر کرده است. روی تأیید (OK) ضربه بزنید و دستگاه خود را مجدداً راه‌اندازی کنید.
  8. تصویر تایید تغییر محیط

همگام‌سازی محیط گوگل والت

وقتی بعد از راه‌اندازی مجدد، گوگل والت را باز می‌کنید، ممکن است کادر محاوره‌ای زیر را مشاهده کنید که از شما می‌خواهد گوگل والت را متوقف کرده و دوباره باز کنید:

تصویر تایید تغییر محیط

فعال و غیرفعال کردن حالت جعبه شنی در دستگاه Wear OS

برای فعال کردن حالت sandbox در یک دستگاه 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

بررسی کنید که آیا دستگاه اندروید شما در حالت sandbox است یا حالت production

برای اینکه ببینید دستگاه اندروید شما در حالت sandbox است یا production، مراحل زیر را انجام دهید.

  1. برنامه Google Wallet را باز کنید.
  2. در بالا سمت راست، روی تصویر نمایه یا حساب کاربری خود > تنظیمات کیف پول ضربه بزنید.
  3. به پایین صفحه بروید و اگر پیام تأییدی با عنوان SANDBOX مشاهده کردید، یعنی برای برقراری تماس‌های sandbox پیکربندی شده‌اید. اگر پیامی ندیدید، یعنی برای برقراری تماس‌های production پیکربندی شده‌اید.
حالت تولید
شکل ۱ : حالت تولید
حالت جعبه شنی
شکل ۲ : حالت جعبه شنی

بعضی از دستگاه‌ها در تنظیمات گوگل خود، کیف پول گوگل (Google Wallet) ندارند. برای دسترسی به تنظیمات کیف پول گوگل، باید از adb با دستور زیر استفاده کنید:

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

آزمایش درخواست‌های امضا شده در سندباکس

برای آزمایش درخواست‌های امضا شده در محیط Sandbox بدون ثبت کلیدهای عملیاتی خودتان، می‌توانید از جفت کلید آزمایشی زیر استفاده کنید. این کلیدها در محیط Sandbox از قبل مورد اعتماد هستند.

کلیدهای تست

کلید خصوصی (PEM):

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

متادیتای طرف مورد اعتماد (Base64url CBOR):

2BhY56Juc2NoZW1hX3ZlcnNpb25idjFnZGlzcGxheaNsZGlzcGxheV9uYW1leBhURVNUIFVTRSBPTkxZIFNhbmRib3ggUlBobG9nb191cml4YWh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3Byb2R1Y3Rsb2dvcy9nb29nbGVnL3Y2L3dlYi02NGRwL2xvZ29fZ29vZ2xlZ19jb2xvcl8xeF93ZWJfNjRkcC5wbmdycHJpdmFjeV9wb2xpY3lfdXJpeCNodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vcHJpdmFjeQ

متادیتای طرف اتکا (CBOR Dump):

#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 این گواهی تنظیم کنید. برای جزئیات بیشتر در مورد محاسبه هش، به بخش پذیرش آنلاین - درخواست‌های امضا شده مراجعه کنید.