समस्या का हल

वेब से जुड़ी समस्या हल करने की गाइड में, इन विषयों से जुड़ी समस्याओं और सवालों के बारे में बताया गया है.

रजिस्ट्रेशन और ऐक्सेस

इंटिग्रेशन के दौरान, आपको इनमें से कोई गड़बड़ी दिख सकती है. इस सूची में, इन गड़बड़ियों को ठीक करने के बारे में कुछ सलाह दी गई है.

इस कारोबारी या कंपनी के लिए Google Pay की सुविधा चालू नहीं है
Google Pay API को उन साइटों के लिए Google merchantId की ज़रूरत होती है जो PRODUCTION एनवायरमेंट के लिए PaymentsClient कॉन्फ़िगर करती हैं. Google merchantId, Google Pay और Wallet Console के ज़रिए एक या उससे ज़्यादा पूरी तरह से क्वालिफ़ाइड डोमेन से जुड़ा होता है. ज़्यादा जानकारी के लिए, दिखाई गई गड़बड़ी की जानकारी देखें.
इस कारोबारी या कंपनी ने Google Pay API का इस्तेमाल करने के लिए, रजिस्ट्रेशन की प्रोसेस पूरी नहीं की है. पुष्टि करने के लिए, कृपया कंसोल (https://pay.google.com/business/console) पर जाएं.
आपने Google Pay API के लिए अपनी वेबसाइटों को रजिस्टर करने की प्रोसेस पूरी नहीं की है. समीक्षा Google Pay और Wallet Console का इस्तेमाल करके रजिस्टर करने के लिए, प्रोडक्शन ऐक्सेस का अनुरोध करें. साथ ही, Google Pay API का इस्तेमाल करने वाली अपनी वेबसाइट की समीक्षा का अनुरोध करें.
इस कारोबारी या कंपनी की प्रोफ़ाइल के पास इस सुविधा का ऐक्सेस नहीं है
Google ने आपकी वेबसाइट को Google Pay API इस्तेमाल करने के लिए कॉन्फ़िगर नहीं किया है. समीक्षा Google Pay और Wallet Console के ज़रिए, प्रोडक्शन ऐक्सेस का अनुरोध करें, ताकि आपकी वेबसाइट पर Google Pay API के इस्तेमाल की समीक्षा की जा सके.
Google Pay API के इस इंटिग्रेशन को बंद कर दिया गया है. ज़्यादा जानकारी के लिए, कृपया हमसे संपर्क करें (https://developers.google.com/pay/api/faq#how-to-get-support).
अपने Google खाते के लिए Google Pay API को फिर से चालू करने के लिए, हमसे संपर्क करें.
इस एपीआई का इस्तेमाल करने के लिए, आपका डोमेन "example.com" रजिस्टर नहीं किया गया है
जिस डोमेन पर आपका चेकआउट होस्ट किया गया है वह उस merchantId से नहीं जुड़ा है जिसका इस्तेमाल किया जाता है. पक्का करें कि merchantId पैरामीटर सही हो और आपका डोमेन, Google Pay और Wallet Console के ज़रिए रजिस्टर किया गया हो.
Google Pay API को सुरक्षित कॉन्टेक्स्ट में कॉल किया जाना चाहिए!
Google Pay API का इस्तेमाल सिर्फ़ सुरक्षित कॉन्टेक्स्ट वाली वेबसाइटों पर किया जा सकता है. ज़्यादा जानकारी के लिए, सुरक्षित कॉन्टेक्स्ट देखें.
इस कारोबारी या कंपनी की प्रोफ़ाइल के लिए कोई कुंजियां नहीं मिलीं
DIRECTtokenizationSpecification type इंटिग्रेशन पूरा करने के लिए, आपको Google Pay और Wallet Console के ज़रिए, Google के साथ अपनी पब्लिक एन्क्रिप्शन कुंजी रजिस्टर करनी होगी.

merchantId

इंटिग्रेशन के दौरान, आपको merchantId से जुड़ी ये गड़बड़ियां दिख सकती हैं. इस सूची में, इन गड़बड़ियों को ठीक करने के बारे में कुछ सुझाव दिए गए हैं.

merchantId सेट किया जाना चाहिए!
PaymentDataRequest में मौजूद merchantId पैरामीटर की वैल्यू, Google Pay और Wallet Console में दी गई वैल्यू के बराबर होनी चाहिए. merchantId पैरामीटर की ज़रूरत सिर्फ़ तब होती है, जब PRODUCTION एनवायरमेंट के लिए कॉन्फ़िगर किए गए PaymentsClient का इस्तेमाल किया जाता है. Google Pay API का इस्तेमाल करने वाली अपनी वेबसाइट की समीक्षा का अनुरोध करने के लिए, हमारी इंटिग्रेशन चेकलिस्ट देखें. साथ ही, अपना merchantId पाएं.
merchantId, स्ट्रिंग नहीं है
PaymentDataRequest में मौजूद merchantId पैरामीटर हमेशा एक स्ट्रिंग होना चाहिए. एपीआई को कॉल करने से पहले, पक्का करें कि आपने जिस merchantId पैरामीटर का इस्तेमाल किया है वह स्ट्रिंग टाइप का हो.
merchantId रजिस्टर नहीं किया गया है.
PaymentDataRequest में मौजूद merchantId पैरामीटर को Google Pay और Wallet Console के ज़रिए उपलब्ध कराया जाना चाहिए. ज़्यादा जानकारी के लिए, प्रोडक्शन ट्रैक के ऐक्सेस का अनुरोध करना लेख पढ़ें.

गेटवे की वैधता

इंटिग्रेशन के दौरान, आपको किसी समय गेटवे की वैधता से जुड़ी ये गड़बड़ियां दिख सकती हैं. इस सूची में, इन गड़बड़ियों को ठीक करने के बारे में कुछ सुझाव दिए गए हैं.

अज्ञात गेटवे 'yourgateway'
आपने paymentMethodTokenizationParameters.parameters में जिस गेटवे पैरामीटर को तय किया है वह फ़िलहाल Google के साथ काम नहीं करता. गेटवे के आइडेंटिफ़ायर और उससे जुड़े फ़ील्ड, जैसे कि gatewayMerchantId के बारे में ज़्यादा जानकारी पाने के लिए, अपने गेटवे से संपर्क करें.
गेटवे 'example' का इस्तेमाल प्रोडक्शन मोड में नहीं किया जा सकता
गेटवे पैरामीटर की उदाहरण वैल्यू का इस्तेमाल सिर्फ़ टेस्टिंग के लिए किया जाता है. इसका इस्तेमाल, PRODUCTION एनवायरमेंट के लिए कॉन्फ़िगर किए गए PaymentsClient के साथ नहीं किया जा सकता. Google Pay API के साथ इस्तेमाल करने के लिए, आपको जिन PaymentMethodTokenizationSpecificationपैरामीटर की वैल्यू सेट करनी हैं उनके बारे में ज़्यादा जानकारी पाने के लिए, अपने गेटवे से संपर्क करें.

ऑब्जेक्ट की वैधता

इंटिग्रेशन के दौरान, आपको ऑब्जेक्ट की वैधता से जुड़ी ये गड़बड़ियां दिख सकती हैं. इस सूची में, इन गड़बड़ियों को ठीक करने के बारे में कुछ सुझाव दिए गए हैं.

Google Pay का PaymentDataRequest, मान्य JSON नहीं है
loadPaymentData को दिया गया पैरामीटर हमेशा एक मान्य PaymentDataRequest ऑब्जेक्ट होना चाहिए.
transactionInfo को सेट किया जाना चाहिए!
PaymentDataRequest में मौजूद transactionInfo पैरामीटर हमेशा एक मान्य TransactionInfo ऑब्जेक्ट होना चाहिए.

सीधे तौर पर विज्ञापन देने वाले कारोबारी या कंपनियां

इंटिग्रेशन के दौरान, आपको सीधे तौर पर कारोबारियों या कंपनियों से जुड़ी ये गड़बड़ियां दिख सकती हैं. इस सूची में, इन गड़बड़ियों को ठीक करने के बारे में कुछ सुझाव दिए गए हैं.

हस्ताक्षर की पुष्टि करना
गलत होने पर, आपको हस्ताक्षर की पुष्टि करने से जुड़ी गड़बड़ी दिख सकती है.merchantId TEST एनवायरमेंट में ऐसा तब हो सकता है, जब Tink paymentmethodtoken library का इस्तेमाल किया जाता है. इस समस्या से बचने के लिए, YOUR_MERCHANT_ID को 12345678901234567890 पर सेट करें. इसके लिए,
पर जाएं
.recipientId("merchant:YOUR_MERCHANT_ID")
टोकन को डिक्रिप्ट नहीं किया जा सकता
अगर टोकन को डिक्रिप्ट करने के लिए, Tink paymentmethodtoken library का इस्तेमाल किया जाता है, तो इन बातों का ध्यान रखें:
  • पक्का करें कि Google Pay API के रिस्पॉन्स का एनवायरमेंट, Tink के paymentmethodtoken एनवायरमेंट से मेल खाता हो. ज़्यादा जानकारी के लिए, यहां दिया गया उदाहरण देखें:
    • अगर Google Pay API से मिला जवाब एनवायरमेंट TEST से मिला है, तो Tink, डिक्रिप्ट करने के लिए टेस्ट एनवायरमेंट की ओर इशारा करता है.
  • Google Pay API से मिले रिस्पॉन्स को Tink को भेजने से पहले उसमें बदलाव न करें. पक्का करें कि आपने Google Pay API से मिले पूरे टोकन को पास किया हो. ज़्यादा जानकारी के लिए, यहां दिया गया नोट देखें:
  • पुष्टि करें कि आपके पास वह निजी पासकोड है जो Google के साथ रजिस्टर की गई सार्वजनिक सुरक्षा कुंजी से जुड़ा है.
Windows पर सार्वजनिक और निजी पासकोड का जोड़ा जनरेट करना
अगर Windows का इस्तेमाल किया जा रहा है और आपको निजी और सार्वजनिक पासकोड का जोड़ा जनरेट करने के लिए OpenSSL का इस्तेमाल करें में बताए गए चरणों का पालन करना है, तो पक्का करें कि आपने अपनी मशीन पर Cygwin इंस्टॉल किया हो. Linux कमांड चलाने के लिए, इसकी ज़रूरत होती है.

गड़बड़ी वाले ऑब्जेक्ट

गड़बड़ी वाले ऑब्जेक्ट, ऐसे ऑब्जेक्ट होते हैं जिन्हें क्लाइंट JavaScript के किसी तरीके से अस्वीकार किए गए प्रॉमिस से वापस लाया जाता है.

PaymentsError
इस ऑब्जेक्ट में, क्लाइंट JavaScript के तरीकों से मिली गड़बड़ियों के बारे में जानकारी होती है. गड़बड़ियां उपयोगकर्ता को दिखने वाले डायलॉग में नहीं दिख सकती हैं.
प्रॉपर्टी टाइप ब्यौरा
statusCode स्ट्रिंग गड़बड़ी के टाइप के बारे में बताने वाला छोटा कोड.
statusMessage स्ट्रिंग डेवलपर को दिखने वाला मैसेज, जिसमें गड़बड़ी के बारे में बताया गया हो. साथ ही, उसे ठीक करने के संभावित तरीके भी बताए गए हों.
आम तौर पर होने वाली गड़बड़ियां
यह ऑब्जेक्ट, JavaScript के सभी तरीकों में होने वाली गड़बड़ियों को दिखाता है. गड़बड़ी के अन्य मैसेज देखने के लिए, डेवलपर कंसोल ज़रूर देखें.
स्थिति कोड ब्यौरा
BUYER_ACCOUNT_ERROR मौजूदा Google उपयोगकर्ता, पेमेंट की जानकारी नहीं दे सकता.
DEVELOPER_ERROR

पास किए गए पैरामीटर का फ़ॉर्मैट सही नहीं है. कॉन्फ़िगर किए गए सभी एनवायरमेंट के लिए, ब्राउज़र कंसोल में गड़बड़ी का मैसेज दिख सकता है.

MERCHANT_ACCOUNT_ERROR

Google Pay API को ऐक्सेस करने वाली साइट के पास ज़रूरी अनुमति नहीं है. ऐसा गलत कॉन्फ़िगरेशन या अनुरोध में कारोबारी का गलत आईडी सेट होने की वजह से हो सकता है. ज़्यादा जानकारी के लिए, statusMessage फ़ील्ड देखें. अगर आपको अब भी समस्या आ रही है, तो सहायता टीम से संपर्क करें.

INTERNAL_ERROR सर्वर की सामान्य गड़बड़ी.

CardInfo

CardInfo सुविधा क्या है?
Google Pay, खरीदारों को बताता है कि Google Pay पेमेंट बटन के पीछे एक कार्ड है. इससे कार्ड ब्रैंड नेटवर्क और कार्ड के आखिरी चार अंक दिखते हैं.
मेरे इंटिग्रेशन में CardInfo सुविधा क्यों नहीं दिख रही है?

CardInfo सुविधा का इस्तेमाल करने के लिए, ये शर्तें पूरी करना ज़रूरी है:

  • आपको createButton एपीआई लागू करना होगा.
  • आपको ButtonOptions.buttonType को buy, long या pay पर कॉन्फ़िगर करना होगा.
  • उपयोगकर्ता के पास पेमेंट का कोई तरीका उपलब्ध होना चाहिए. यह तरीका, आपके CardParameters ऑब्जेक्ट में तय किया गया हो.
Google Pay पेमेंट बटन हमेशा के लिए लोड क्यों होता रहता है?
onLoad इवेंट लिसनर न हटाएं. onLoad इवेंट लिसनर हटाने पर, Google Pay के पेमेंट बटन को लोड होने में बहुत समय लग सकता है.
Google Pay के पेमेंट बटन पर क्लिक करने के बाद, पेमेंट का प्रॉम्प्ट क्यों नहीं दिखता?
इवेंट लिसनर कॉलबैक को ButtonOptions.onClick इवेंट असाइन करें.

OR_BIBED_15 गड़बड़ियां

इंटिग्रेशन के दौरान, आपको किसी समय OR_BIBED_15 गड़बड़ी का सामना करना पड़ सकता है. इस सूची में, इस गड़बड़ी के होने पर समस्या हल करने से जुड़े कुछ सुझाव दिए गए हैं.

वेबव्यू के साथ काम करना
Android और iOS के लिए दी गई गाइड का पालन करें, ताकि यह पक्का किया जा सके कि आपका इंटिग्रेशन, WebViews के साथ काम करता हो.
Cross-Origin-Opener-Policy एचटीटीपी रिस्पॉन्स हेडर
अगर Cross-Origin-Opener-Policy एचटीटीपी रिस्पॉन्स हेडर को same-origin पर सेट किया जाता है, तो ऐसा हो सकता है कि ब्राउज़र, उपयोगकर्ताओं को लेन-देन पूरा करने के लिए ज़रूरी पॉप-अप न दिखाए. इन समस्याओं को कम करने के लिए, हेडर की वैल्यू को same-origin-allow-popups पर सेट करके देखें.
उपयोगकर्ताओं के क्लिक इवेंट और loadPaymentData() को कॉल करने के बीच का समय
अगर Google Pay बटन (या इसी तरह के चेकआउट बटन) पर क्लिक करने के बाद और loadPaymentData() कॉल से पहले, कोई देरी होती है (उदाहरण: setTimeout(), अतिरिक्त नेटवर्क कॉल या इसी तरह का लंबे समय तक चलने वाला लॉजिक), तो इससे ब्राउज़र की पॉप-अप ब्लॉक करने की सुविधा ट्रिगर हो सकती है. हमारा सुझाव है कि उपयोगकर्ता के क्लिक करने और loadPaymentData() कॉल के बीच कोई देरी न हो.