सैंपल टोकन के साथ टेस्ट करना

इस पेज पर, इंटिग्रेशन की जांच करने के लिए सैंपल टोकन इस्तेमाल करने का तरीका बताया गया है.

सैंपल टोकन जनरेट करना

डायरेक्ट इंटिग्रेशन के लिए, अपने सर्वर पर टोकन डिक्रिप्ट करने की सुविधा को टेस्ट करने के लिए, सैंपल टोकन जनरेट किए जा सकते हैं. इसके लिए, आपको PaymentsClient इंस्टेंस बनाते समय ENVIRONMENT_TEST सेट करना होगा.

जब PaymentsClient इंस्टेंस को ENVIRONMENT_TEST पर सेट किए गए एनवायरमेंट के साथ बनाया जाता है, तो loadPaymentData कॉल सामान्य तरीके से काम करते हैं. साथ ही, अनुरोध करते हैं कि उपयोगकर्ता अपने किसी असली कार्ड को चुने. हालांकि, यह कभी भी चुने गए कार्ड की असली जानकारी नहीं दिखाता. इसके बजाय, इससे मिलने वाले टोकन में हमेशा एक जैसा पेलोड होता है.

हस्ताक्षर की पुष्टि करना

ENVIRONMENT_TEST में जनरेट किए गए टोकन, आपके टेस्ट वाले सार्वजनिक पासकोड से एन्क्रिप्ट (सुरक्षित) किए जाते हैं. यह पासकोड, Google को पहले ही भेजा जा चुका है.

टोकन पर, Google की टेस्ट कुंजियों से हस्ताक्षर किए जाते हैं. अगर Tink का इस्तेमाल किया जाता है, तो पक्का करें कि PaymentMethodTokenRecipient ऑब्जेक्ट बनाते समय .fetchSenderVerifyingKeysWith(GooglePaymentsPublicKeysManager.INSTANCE_TEST) सेट किया गया हो.

डिक्रिप्ट किया गया पेलोड

सैंपल टोकन डिक्रिप्ट होने के बाद, आपको क्लियरटेक्स्ट पेलोड मिलता है. पे लोड का स्ट्रक्चर इस बात पर निर्भर करता है कि चुना गया कार्ड टोकनाइज़ किया गया है या नहीं. इसका मतलब है कि कार्ड को Google Wallet में जोड़ा गया है या नहीं. इसके अलावा, टोकन वाले कार्ड के लिए पेलोड अलग होता है. यह कार्ड नेटवर्क पर निर्भर करता है. बिना टोकन वाले कार्ड के लिए पेलोड हमेशा एक जैसा होता है, भले ही कार्ड नेटवर्क कोई भी हो.

नीचे दिए गए सैंपल की तुलना में, डिक्रिप्ट किए गए पेलोड में ये तीन फ़ील्ड अलग-अलग हो सकते हैं:

  • messageExpiration: इसे मौजूदा समय से एक हफ़्ते बाद के लिए सेट किया जाता है.
  • messageId: यह हर पेलोड के लिए, रैंडम तरीके से जनरेट होता है.
  • expirationYear: यह मौजूदा साल से पांच साल बाद के लिए सेट किया जाता है.

डिक्रिप्ट किए गए पेलोड का स्ट्रक्चर, प्रोटोकॉल के दो वर्शन, ECv1 और ECv2 के बीच अलग-अलग होता है. नया इंटिग्रेशन लागू करने पर, वर्शन ECv2 होता है. अगर आपको प्रोटोकॉल वर्शन के बारे में पक्का नहीं पता है, तो Google के अपने संपर्क से इसकी पुष्टि करें.

नॉन-टोकनाइज़्ड कार्ड

Visa

यहां बिना टोकन वाले Visa कार्ड के लिए डिक्रिप्ट किए गए पेलोड का उदाहरण दिया गया है:

ECv2

{
    "gatewayMerchantId": "some-merchant-id",
    "messageExpiration": "1650574736277",
    "messageId": "AH2Ejtc88ZHJ-2aYBQWzHwvp6l0JsCHgxVt8s91A-ZUikaXNbcjsFm6gg9ExeVR-jzIyT-mJvA_ntvfRsDDOH2jnKMjdTtXIJvPt0NBUU45R7-gnjxkx-sI0ldcWvbDHsV0735yFDbWk",
    "paymentMethod": "CARD",
    "paymentMethodDetails": {
        "expirationYear": 2028,
        "expirationMonth": 12,
        "pan": "4111111111111111",
        "authMethod": "PAN_ONLY"
    }
}

ECv1

{
  "messageExpiration": "1507738377032",
  "paymentMethod": "CARD",
  "messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
  "paymentMethodDetails": {
    "expirationYear": 2028,
    "expirationMonth": 12,
    "pan": "4111111111111111"
  }
}

Mastercard

यहां बिना टोकन वाले Mastercard कार्ड के लिए डिक्रिप्ट किए गए पेलोड का उदाहरण दिया गया है:

ECv2

{
    "gatewayMerchantId": "some-merchant-id",
    "messageExpiration": "1650574585777",
    "messageId": "AH2Ejte23Sp0DBWqKVQ1d8ICVQialPGgXSsTT4NnCjNy3i-jdJg6B_wllO8590dFfrLg16GqGcuSrEPjl-sQZ-K8sKCL62ahwh5kzUv4ggLwioImJmuEuKfAiEQBRW0L8zlo0Nv6LFuk",
    "paymentMethod": "CARD",
    "paymentMethodDetails": {
        "expirationYear": 2028,
        "expirationMonth": 12,
        "pan": "5555555555554444",
        "authMethod": "PAN_ONLY"
    }
}

ECv1

{
  "messageExpiration": "1507738377032",
  "paymentMethod": "CARD",
  "messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
  "paymentMethodDetails": {
    "expirationYear": 2028,
    "expirationMonth": 12,
    "pan": "5555555555554444"
  }
}

American Express

यहां बिना टोकन वाले Amex कार्ड के लिए डिक्रिप्ट किए गए पेलोड का उदाहरण दिया गया है:

ECv2

{
    "gatewayMerchantId": "some-merchant-id",
    "messageExpiration": "1650574857349",
    "messageId": "AH2EjtcmoURSXm2RhZ8ihnJrsty-7Ewm3NEnJDM-Atw9ewbIPvuarglows0vtaCV33b4z3PpM5RsMklbpe0aNPK5_BanGxmp_JSsOEtZYuf4m3cHTtKnxpQeonN07XDK-DUPKAaRwLfY",
    "paymentMethod": "CARD",
    "paymentMethodDetails": {
        "expirationYear": 2028,
        "expirationMonth": 12,
        "pan": "378282246310005",
        "authMethod": "PAN_ONLY"
    }
}

ECv1

{
  "messageExpiration": "1507738377032",
  "paymentMethod": "CARD",
  "messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
  "paymentMethodDetails": {
    "expirationYear": 2028,
    "expirationMonth": 12,
    "pan": "378282246310005"
  }
}

डिस्कवर

यहां बिना टोकन वाले Discover कार्ड के लिए डिक्रिप्ट किए गए पेलोड का उदाहरण दिया गया है:

ECv2

{
    "gatewayMerchantId": "some-merchant-id",
    "messageExpiration": "1650574781399",
    "messageId": "AH2EjteSxPPpbJOXKXzG1Cqkh1kzJz0UP1AG4w75n9q7gCtWsawfRlqtUZofjIBnKlbozvASxKkkdbjv2-rOfNGd_st4kFqPeb6O3IE-fXeIcHzH8x56tMRylEnfnrF6x01ET8KdUeLS",
    "paymentMethod": "CARD",
    "paymentMethodDetails": {
        "expirationYear": 2028,
        "expirationMonth": 12,
        "pan": "6011111111111117",
        "authMethod": "PAN_ONLY"
    }
}

ECv1

{
  "messageExpiration": "1507738377032",
  "paymentMethod": "CARD",
  "messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
  "paymentMethodDetails": {
    "expirationYear": 2028,
    "expirationMonth": 12,
    "pan": "6011111111111117"
  }
}

JCB

यहां बिना टोकन वाले JCB कार्ड के लिए डिक्रिप्ट किए गए पेलोड का उदाहरण दिया गया है:

ECv2

{
        {
          "gatewayMerchantId": "some-merchant-id",
          "messageExpiration": "1650574736277",
          "messageId": "AH2Ejtc88ZHJ-2aYBQWzHwvp6l0JsCHgxVt8s91A-ZUikaXNbcjsFm6gg9ExeVR-jzIyT-mJvA_ntvfRsDDOH2jnKMjdTtXIJvPt0NBUU45R7-gnjxkx-sI0ldcWvbDHsV0735yFDbWk",
          "paymentMethod": "CARD",
          "paymentMethodDetails": {
              "expirationYear": 2028,
              "expirationMonth": 12,
              "pan": "4111111111111111",
              "authMethod": "PAN_ONLY"
          }
      }

ECv1

{
        {
          "messageExpiration": "1507738377032",
          "paymentMethod": "CARD",
          "messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
          "paymentMethodDetails": {
            "expirationYear": 2028,
            "expirationMonth": 12,
            "pan": "4111111111111111"
          }
        }
  }
}

टोकन वाला कार्ड

टोकनाइज़ किया गया कार्ड, Google Wallet में जोड़ा गया कार्ड होता है.

टोकनाइज़ किए गए कार्ड का डिक्रिप्ट किया गया पेलोड, चुने गए कार्ड के टाइप पर निर्भर करता है. यहां दिए गए तीन उदाहरणों में, अलग-अलग तरह के टोकन वाले कार्ड के लिए डिक्रिप्ट किए गए पेलोड दिखाए गए हैं.

Visa

टोकन वाले Visa कार्ड के लिए डिक्रिप्ट किए गए पेलोड का उदाहरण यहां दिया गया है:

ECv2

{
    "gatewayMerchantId": "some-merchant-id",
    "messageExpiration": "1561533871082",
    "messageId": "AH2Ejtc8qBlP_MCAV0jJG7ErQKeDrkEUtQ0N3QRvPXWJc-jgC0VTfgmarDRZvTwuzirQPdUjkMkiQ7tnDidZbtlQTO-mAgMIdXRMuYedhZXnCcokmkJOOnE7jBn-pvkyBncOgpPWFFn3",
    "paymentMethod": "CARD",
    "paymentMethodDetails": {
        "expirationYear": 2028,
        "expirationMonth": 12,
        "pan": "4895370012003478",
        "authMethod": "CRYPTOGRAM_3DS",
        "eciIndicator": "07",
        "cryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAA="
    }
}

ECv1

{
  "messageExpiration": "1507738377032",
  "paymentMethod": "TOKENIZED_CARD",
  "messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
  "paymentMethodDetails": {
    "expirationYear": 2028,
    "dpan": "4895370012003478",
    "expirationMonth": 12,
    "authMethod": "3DS",
    "3dsCryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAA=",
    "3dsEciIndicator": "07"
  }
}

American Express

यहां टोकन वाले American Express कार्ड के लिए, डिक्रिप्ट किए गए पेलोड का उदाहरण दिया गया है:

ECv2

{
    "gatewayMerchantId": "some-merchant-id",
    "messageExpiration": "1561534208255",
    "messageId": "AH2Ejtf3Lp6LzjK6BswXBvVKZapBJNgMUbVHF_TORaVi7lV0tvRfzvApsZm-RAXF_szQq9qS_BwLTgZGrXvk0ZydZwUISo4x6dxojDoz0fl7loXwZ8JApFrQWU__ExxljKY4Y4mu2aQz",
    "paymentMethod": "CARD",
    "paymentMethodDetails": {
        "expirationYear": 2028,
        "expirationMonth": 12,
        "pan": "370295136149943",
        "authMethod": "CRYPTOGRAM_3DS",
        "cryptogram": "JnPYbs6FkC1tiVLREAABoAAAkgA="
    }
}

ECv1

{
  "messageExpiration": "1507738377032",
  "paymentMethod": "TOKENIZED_CARD",
  "messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
  "paymentMethodDetails": {
    "expirationYear": 2028,
    "dpan": "370295136149943",
    "expirationMonth": 12,
    "authMethod": "3DS",
    "3dsCryptogram": "JnPYbs6FkC1tiVLREAABoAAAkgA="
  }
}

अन्य सभी नेटवर्क

यहां टोकन वाले कार्ड के लिए डिक्रिप्ट किए गए पेलोड का उदाहरण दिया गया है. यह उदाहरण, अन्य सभी नेटवर्क के लिए है:

ECv2

{
    "gatewayMerchantId": "some-merchant-id",
    "messageExpiration": "1561534208255",
    "messageId": "AH2EjterqtEqlB9vQvy2kJEugwCDYtMzVtLrVH26Qd1RDFK_EFsFmPdpPOqcCIedXNpAc6sCM61GuYM_bgVl930tU8I0Ar0WUx87MIw36skUC-IT_APvbx4qRqw9Hfu2W-7zY6LMdgZ5",
    "paymentMethod": "CARD",
    "paymentMethodDetails": {
        "expirationYear": 2028,
        "expirationMonth": 12,
        "pan": "5204240250197840",
        "authMethod": "CRYPTOGRAM_3DS",
        "cryptogram": "ALnt+yWSJdXBACMLLWMNGgADFA=="
    }
}

ECv1

{
  "messageExpiration": "1507738377032",
  "paymentMethod": "TOKENIZED_CARD",
  "messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
  "paymentMethodDetails": {
    "expirationYear": 2028,
    "dpan": "5204240250197840",
    "expirationMonth": 12,
    "authMethod": "3DS",
    "3dsCryptogram": "ALnt+yWSJdXBACMLLWMNGgADFA=="
  }
}