टोकन के लाइफ़साइकल मैनेजमेंट से जुड़ी सूचनाएं

खास जानकारी

Google Pay Online API से, टोकन के लाइफ़साइकल मैनेजमेंट (एलसीएम) से जुड़ी सूचनाएं, ओरिजनल लेन-देन के समय दिए गए tokenUpdateUrl पर भेजी जाती हैं. ये सूचनाएं तब भेजी जाती हैं, जब किसी टोकन को बंद किया जाता है या मिटाया जाता है. इन्हें, डिलीवरी में गड़बड़ी होने पर, फिर से सूचनाएं भेजने की कोशिश के साथ, जल्द से जल्द लाइव करने की पूरी कोशिश की जाती है. यहां एलसीएम फ़्लो का एक उदाहरण दिया गया है. इसमें बताया गया है कि जब कोई उपयोगकर्ता Google Wallet से कोई कार्ड हटाता है, तो क्या होता है:

MerchantTokenUpdateNotificationRequest

Google Pay Online API से भेजा गया एचटीटीपी पोस्ट मैसेज, सुरक्षित किए गए पेलोड को शामिल करने वाला JSON बॉडी होता है. पेलोड को, शेयर किए गए सार्वजनिक पासकोड से सुरक्षित किया जाता है. साथ ही, इस पर Google के निजी पासकोड से हस्ताक्षर किए जाते हैं. इसे अपने निजी पासकोड से डिक्रिप्ट किया जा सकता है. साथ ही, Google के रूट साइनिंग पासकोड से इसकी पुष्टि की जा सकती है. सुरक्षित किए गए पेलोड रैपर का फ़ॉर्मैट, PaymentMethodToken के तौर पर मिलने वाले फ़ॉर्मैट जैसा ही होता है. इस एलसीएम सूचना को डिक्रिप्ट करने के लिए, उसी लाइब्रेरी का इस्तेमाल किया जा सकता है. सुरक्षित किए गए पेलोड में, MerchantTokenUpdateNotificationRequest ऑब्जेक्ट होता है. इसकी ज़्यादा जानकारी यहां दी गई है.

प्रॉपर्टी टाइप ज़रूरी है ब्यौरा
messageId स्ट्रिंग ज़रूरी है

मैसेज को डुप्लीकेट होने से बचाने और डीबग करने के लिए, इस सूचना का यूनीक आईडी.

अगर यह सूचना डिलीवर नहीं होती है, तो आने वाले समय में फिर से सूचना भेजने पर भी यही आईडी रहेगा.

targetNotificationUrl स्ट्रिंग ज़रूरी है

इस सूचना के लिए तय किया गया यूआरएल. आपको इस बात की पुष्टि करनी होगी कि यह यूआरएल, Google Pay से टोकन एलसीएम सूचनाएं पाने के लिए तय किया गया आपका एंडपॉइंट है.

timestamp स्ट्रिंग ज़रूरी है

इस सूचना को पहली बार कब बनाया गया था, इसका टाइमस्टैम्प. आने वाले समय में फिर से सूचना भेजने पर भी यही टाइमस्टैम्प रहेगा.

अगर आपको एक ही टोकन आईडी के लिए कई सूचनाएं मिलती हैं, तो सिर्फ़ सबसे नए टाइमस्टैम्प वाली सूचना को सटीक माना जाता है.

apiVersion int ज़रूरी है एपीआई का मुख्य वर्शन.
apiVersionMinor int ज़रूरी है एपीआई का माइनर वर्शन.
merchantTokenId स्ट्रिंग ज़रूरी है अपडेट के साथ, मर्चेंट टोकन आईडी. यह आईडी, उपयोगकर्ता के एमआईटी के लिए Google Pay फ़्लो पूरा करने पर, पहली बार दिखाया जाता है. यह सुरक्षित किए गए पेलोड में मौजूद एक फ़ील्ड है, जिसे Card ऑब्जेक्ट.
cardUpdateInfo CardUpdateInfo ज़रूरी है इसमें टोकन के अपडेट शामिल होते हैं.

CardUpdateInfo

प्रॉपर्टी टाइप ज़रूरी है ब्यौरा
fpanSuffix स्ट्रिंग कंडीशनल

यह जानकारी, उपयोगकर्ताओं को फ़ंडिंग के प्राथमिक खाता नंबर (एफ़पीएएन) की पहचान करने में मदद करती है. यह चार अंकों वाली स्ट्रिंग होती है, जिसमें एफ़पीएएन के आखिरी चार वर्ण शामिल होते हैं.

अगर यह मौजूद है, तो यह माना जा सकता है कि टोकन चालू है.

अगर कोई बदलाव नहीं हुआ है, तो यह मौजूद नहीं होती.

tokenState स्ट्रिंग(enum) कंडीशनल

टोकन की नई स्थिति. यह तब दिखती है, जब शुरुआती लेन-देन या पिछली सूचना के बाद, टोकन की स्थिति में बदलाव हुआ हो.

अगर कोई बदलाव नहीं हुआ है, तो यह मौजूद नहीं होती.

मान्य वैल्यू DISABLED है.

MerchantTokenUpdateNotificationResponse

एचटीटीपी रिस्पॉन्स कोड

एचटीटीपी रिस्पॉन्स कोड इस्तेमाल
200 सूचना मिल गई है. रिस्पॉन्स बॉडी में, JSON ऑब्जेक्ट के तौर पर, स्टेटस की ज़्यादा जानकारी दी जा सकती है. इसके बारे में अगली टेबल में बताया गया है.
401 MerchantTokenUpdateNotificationRequest में मौजूद targetNotificationUrl मान्य नहीं है. इस टोकन के लिए, आने वाले समय में मिलने वाली सभी सूचनाएं बंद की जा सकती हैं.
5xx सर्वर में कुछ समय के लिए गड़बड़ी. सूचना को बाद में फिर से भेजा जाना चाहिए.
अन्य ऐसी गड़बड़ी जिसे ठीक नहीं किया जा सकता. सूचना को बाद में फिर से नहीं भेजा जाना चाहिए.
प्रॉपर्टी टाइप ज़रूरी है ब्यौरा
requestMessageId स्ट्रिंग ज़रूरी है

अनुरोध से जनरेट किया गया मैसेज आईडी.

यह अनुरोध में मौजूद मैसेज आईडी से मेल खाना चाहिए. ऐसा न होने पर, रिस्पॉन्स को अनदेखा किया जा सकता है. साथ ही, इस टोकन के लिए, आने वाले समय में मिलने वाली सूचनाएं बंद हो जाती हैं.

status स्ट्रिंग(enum) ज़रूरी है

मर्चेंट या पेमेंट सेवा देने वाली कंपनी (पीएसपी), ऐसा स्टेटस दिखा सकती है जिससे यह पता चलता है कि उन्होंने सूचना को स्वीकार कर लिया है और टोकन का इस्तेमाल किया है.

मान्य वैल्यू ये हैं:

  • SUCCESS
  • TOKEN_NOT_IN_USE
  • TOKEN_NOT_FOUND

उदाहरण

लाइफ़साइकल सूचना

सूचना पाने का अनुरोध

यह एचटीटीपी पोस्ट अनुरोध है, जिसमें टोकन एलसीएम सूचना शामिल होती है. इसे Google Pay से आपके एंडपॉइंट पर भेजा जाता है. बॉडी, सुरक्षित किया गया पेलोड होता है.

एचटीटीपी अनुरोध

  HTTP POST /token/notification/123
  Host: api.merchant.com
  Content-Type: application/json

  {
    "protocolVersion":"ECv2",
    "signature":"MEQCIH6Q4OwQ0jAceFEkGF0JID6sJNXxOEi4r+mA7biRxqBQAiAondqoUpU/bdsrAOpZIsrHQS9nwiiNwOrr24RyPeHA0Q\u003d\u003d",
    "intermediateSigningKey":{
      "signedKey": "{\"keyExpiration\":\"1542323393147\",\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/1+3HBVSbdv+j7NaArdgMyoSAM43yRydzqdg1TxodSzA96Dj4Mc1EiKroxxunavVIvdxGnJeFViTzFvzFRxyCw\\u003d\\u003d\"}",
      "signatures": ["MEYCIQCO2EIi48s8VTH+ilMEpoXLFfkxAwHjfPSCVED/QDSHmQIhALLJmrUlNAY8hDQRV/y1iKZGsWpeNmIP+z+tCQHQxP0v"]
    },
    "signedMessage":"{\"tag\":\"jpGz1F1Bcoi/fCNxI9n7Qrsw7i7KHrGtTf3NrRclt+U\\u003d\",\"ephemeralPublicKey\":\"BJatyFvFPPD21l8/uLP46Ta1hsKHndf8Z+tAgk+DEPQgYTkhHy19cF3h/bXs0tWTmZtnNm+vlVrKbRU9K8+7cZs\\u003d\",\"encryptedMessage\":\"mKOoXwi8OavZ\"}"
  }

डिक्रिप्ट किया गया MerchantTokenUpdateNotificationRequest

  {  // MerchantTokenUpdateNotificationRequest
    "messageId": "ZlxoWhLC3su",
    "targetNotificationUrl":
      "https://api.merchant.com/token/notification/123",
    "timestamp": "2025-03-28T07:53:12.39Z",
    "apiVersion": 1,
    "apiVersionMinor": 0,
    "merchantTokenId": "123",
    "cardUpdateInfo": {
      "tokenState": "DISABLED"
    }
  }

सूचना का जवाब

  HTTP 200 OK
  Content-Type: application/json

  {  // MerchantTokenUpdateNotificationResponse
    "requestMessageId": "ZlxoWhLC3su",
    "status": "SUCCESS",
  }

अपने tokenUpdateUrl एंडपॉइंट के साथ टेस्ट करना

टेस्ट मोड में, Google Pay आपके tokenUpdateUrl पर टोकन एलसीएम सूचना भेजता है. इसे ट्रिगर करने के लिए, यह तरीका अपनाएं:

  • ऑब्जेक्ट के साथ loadPaymentData को कॉल करके, टेस्ट लेन-देन पूरा करें. साथ ही, tokenUpdateUrl फ़ील्ड में अपना एंडपॉइंट यूआरएल डालें.*TransactionInfo
  • Google की सेवा, आपके एंडपॉइंट पर टोकन एलसीएम सूचना भेजेगी.
  • इस बात की पुष्टि करें कि आपके पास निजी पासकोड का इस्तेमाल करके, सूचना को डिक्रिप्ट करने की सुविधा है. ध्यान दें कि टेस्ट मोड में, इस सूचना से कार्ड नंबर के आखिरी चार अंक हमेशा "1234" में बदल जाएंगे. साथ ही, इसमें "tokenState": "DISABLED" शामिल होगा. भले ही, अनुरोध में कोई भी टोकन हो.