JavaScript वेब बटन

Google Wallet API की मदद से, उपयोगकर्ता वेब से Google Wallet में कोई ऑब्जेक्ट जोड़ सकते हैं. उपयोगकर्ता अपने कार्ड सीधे आपकी वेबसाइट से जोड़ सकते हैं.

इस रेफ़रंस में, एचटीएमएल एलिमेंट g:savetoandroidpay के बारे में जानकारी दी गई है, जो Google Wallet API बटन रेंडर करता है साथ ही, JSON वेब टोकन भी जो Google को आपकी वेब सेवा के बारे में बताती है.

Google Wallet API JavaScript

लोड होने पर g:savetoandroidpay एचटीएमएल टैग को अपने-आप पार्स करने के लिए, स्टैंडर्ड कॉन्फ़िगरेशन शामिल करें JavaScript

<script src="https://apis.google.com/js/platform.js" type="text/javascript"></script>

AJAX ऐप्लिकेशन और Google Wallet API बटन की साफ़ तौर पर रेंडरिंग के लिए, "parsetags": "explicit" पैरामीटर शामिल करें.

<script src="https://apis.google.com/js/platform.js" type="text/javascript">
  {"parsetags": "explicit"}
</script>

g:savetoandroidpay एचटीएमएल टैग

g:savetoandroidpay नेमस्पेस टैग, प्लेसमेंट और इसमें जोड़ें की विभिन्न विशेषताएं Google Wallet बटन. अगर एचटीएमएल और JWT रेंडर कर रहे हैं, तो इस टैग का इस्तेमाल करें सर्वर साइड पर क्लिक करें.

<g:savetoandroidpay jwt="JWT" onsuccess="successHandler" onfailure="failureHandler" />
फ़ील्ड प्रकार ज़रूरी है ब्यौरा
height स्ट्रिंग नहीं दिखाने के लिए बटन की ऊंचाई. संभावित वैल्यू ये हैं: small (30 पिक्सल ऊंची) और standard (38 पिक्सल ज़्यादा). height की डिफ़ॉल्ट वैल्यू small है. Google Wallet API के बटन देखें अलग-अलग height सेटिंग वाले बटन के नमूने देखने के लिए.
jwt स्ट्रिंग Y Google Wallet API JWT.
onsuccess स्ट्रिंग नहीं सेव किए गए सक्सेस कॉलबैक हैंडलर फ़ंक्शन का स्ट्रिंग नाम.
onfailure स्ट्रिंग नहीं सेव नहीं हो पाने के कॉलबैक हैंडलर फ़ंक्शन का स्ट्रिंग नाम. इस फ़ंक्शन को गड़बड़ी ऑब्जेक्ट में एक errorCode और errorMessage हैं.
onprovidejwt स्ट्रिंग नहीं उपलब्ध कराने वाले JWT हैंडलर फ़ंक्शन का स्ट्रिंग नाम. इस फ़ंक्शन का मकसद यह है कि ऑब्जेक्ट को Google Wallet में जोड़ने से पहले, JWT डेटा को इंटरसेप्ट करेगा और उसमें बदलाव कर सकेगा. यह फ़ंक्शन कोई पैरामीटर नहीं लेता और JWT को स्ट्रिंग के रूप में लौटाना चाहिए. इवेंट हैंडलर लागू करते समय, ओरिजनल JWT डेटा वापस पाया जा सकता है this.getOpenParams().renderData.userParams.jwt फ़ील्ड में डालें.
size स्ट्रिंग नहीं दिखाने के लिए बटन की चौड़ाई. size को matchparent पर सेट किया जा सकता है ताकि चौड़ाई, पैरंट एलिमेंट की चौड़ाई से मेल खाए. या size छोड़ें तय नहीं है, ताकि चौड़ाई text सेटिंग की चौड़ाई के हिसाब से बढ़ जाए. Google Wallet API के बटन देखें अलग-अलग size सेटिंग वाले बटन के नमूने देखने के लिए.
text स्ट्रिंग नहीं बहिष्कृत
textsize स्ट्रिंग नहीं जब textsize=large के बारे में बताया जाता है, तो यह दिखता है टेक्स्ट का साइज़ काफ़ी बढ़ गया था और बटन का साइज़. उदाहरण के लिए, यूज़र इंटरफ़ेस (यूआई) की खास शर्तें.
theme स्ट्रिंग नहीं दिखाने के लिए बटन की थीम. संभावित वैल्यू ये हैं: dark और light. डिफ़ॉल्ट थीम dark है. इससे संदर्भ लें Google Wallet API के बटन अलग-अलग theme सेटिंग वाले बटन के नमूने देखने के लिए.

Google Wallet API JWT

Google Wallet API JWT, सेव किए जाने वाले ऑब्जेक्ट और क्लास के बारे में जानकारी देता है.

JSON के काेड में दिखाना

{
  "iss": "example_service_account@developer.gserviceaccount.com",
  "aud": "google",
  "typ": "savetowallet",
  "iat": 1368029586,
  "payload": {
    "eventTicketClasses": [{
      ... //Event ticket Class JSON
    }],
    "eventTicketObjects": [{
      // Event ticket Object JSON
    }],
    "flightClasses": [{
      // Flight Class JSON
    }],
    "flightObjects": [{
      // Flight Object JSON
    }],
    "giftCardClasses": [{
      // Gift card Class JSON
    }],
    "giftCardObjects": [{
      // Gift card Object JSON
    }],
    "loyaltyClasses": [{
      // Loyalty Class JSON
    }],
    "loyaltyObjects": [{
      // Loyalty Object JSON
    }],
    "offerClasses": [{
      // Offer Class JSON
    }],
    "offerObjects": [{
      // Offer Object JSON
    }],
    "transitClasses": [{
      // Transit Class JSON
    }],
    "transitObjects": [{
      // Transit Object JSON
    }]
  },
  "origins": ["http://baconrista.com", "https://baconrista.com"]
}

फ़ील्ड

फ़ील्ड प्रकार ज़रूरी है ब्यौरा
iss स्ट्रिंग Y आपके Google Cloud सेवा खाते से जनरेट किया गया ईमेल पता.
aud स्ट्रिंग Y दर्शक. Google Wallet API ऑब्जेक्ट के लिए ऑडियंस हमेशा ऐसी रहेगी google.
typ स्ट्रिंग Y JWT का टाइप. Google Wallet API ऑब्जेक्ट के लिए ऑडियंस हमेशा ऐसी रहेगी savetowallet.
iat पूर्णांक Y Epoch के बाद से सेकंड में समय पर जारी किया जाता है.
payload ऑब्जेक्ट Y पेलोड ऑब्जेक्ट.
payload.eventTicketClasses Array नहीं इवेंट के टिकट की कैटगरी सेव करें.
payload.eventTicketObjects Array नहीं इवेंट टिकट ऑब्जेक्ट को सेव करना है.
payload.flightClasses Array नहीं सेव करने के लिए फ़्लाइट की कैटगरी.
payload.flightObjects Array नहीं फ़्लाइट ऑब्जेक्ट सेव करना है.
payload.giftCardClasses Array नहीं सेव करने के लिए उपहार कार्ड की कैटगरी.
payload.giftCardObjects Array नहीं सेव करने के लिए उपहार कार्ड ऑब्जेक्ट.
payload.loyaltyClasses Array नहीं लॉयल्टी क्लास की जानकारी सेव करनी है.
payload.loyaltyObjects Array नहीं लॉयल्टी ऑब्जेक्ट सेव करना है.
payload.offerObjects Array नहीं सेव करने के लिए ऑफ़र ऑब्जेक्ट.
payload.offerClasses Array नहीं क्लास सेव करने का विकल्प दें.
payload.transitObjects Array नहीं Transit ऑब्जेक्ट सेव करना है.
payload.transitClasses Array नहीं सेव करने के लिए बस, मेट्रो वगैरह की क्लास.
origins Array Y JWT में सेव करने की सुविधा को मंज़ूरी देने वाले डोमेन की कलेक्शन. Google Wallet API यह बटन, origins फ़ील्ड के बारे में नहीं बताए जाने पर रेंडर नहीं होगा. आप संभावित तौर पर "X-Frame-Options" से लोड अस्वीकार किया गया" या "दिखाने से मना किया गया" मैसेज में ब्राउज़र कंसोल जब ऑरिजिन फ़ील्ड के बारे में कोई जानकारी न हो.

आपका कोड में बदला गया JWT, नीचे दिए गए उदाहरण की तरह दिखना चाहिए:

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJnb29nbGUiLCJvcmlnaW5zIjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsImh0dHA6Ly93d3cuZ29vZ2xlLmNvbSJdLCJpc3MiOiJzMmFwLXRvb2wuZ29vZ2xlLmNvbUBhcHBzcG90LmdzZXJ2aWNlYWNjb3VudC5jb20iLCJpYXQiOjE1NTE5ODcxNTEsInR5cCI6InNhdmV0b3dhbGxldCIsInBheWxvYWQiOnsib2ZmZXJPYmplY3RzIjpbeyJpZCI6IjMyMDI0MTMyNDE4NDM2OTk0MDEuMDFfT2ZmZXJPYmplY3RJZCJ9XX19.maHX40WWT29TC_kEb90EKQBH9AiTYAZR3153K8UI7fznVnfjVdlwsH_GKTECV3PGXdNnKCcmatUbKsONC0bxrnAHYG02kuvA1D3hSctz_amU66ntsvGIDe13mpxTzhI8fPvt9KMP1iaO7uOJuLQIHwipu4uRFAjyFaHGVaSFaP9c53qQyb_Zgyyk50M-MhH2n4kDpstNCqUJKWaadQkOWjrtMjwGzQ_ME04lbR4wb_mfK1A7Rc1UieWkxM9aMl5TOPubBKxKRRk_CqillN8XoTl9MI5RRGPuElVO28zGpYlFS6BarzDaaUfmbRZGvfF8ZiKrHZKxVrJjfZIJ2TCcDw

gapi.savetoandroidpay.render फ़ंक्शन

इस फ़ंक्शन की मदद से, Google Wallet API बटन को साफ़ तौर पर रेंडर किया जा सकता है.

gapi.savetoandroidpay.render("dom-container",{
  "jwt": "JWT",
  "onsuccess": "successHandler",
  "onfailure": "failureHandler"
});
फ़ील्ड प्रकार ज़रूरी है ब्यौरा
dom-container स्ट्रिंग Y Google Wallet API बटन लगाने के लिए कंटेनर का आईडी.
jwt स्ट्रिंग Y सेव करने के लिए कॉन्टेंट तय करने वाला JWT.
onsuccess स्ट्रिंग नहीं सेव किए गए सक्सेस कॉलबैक हैंडलर फ़ंक्शन का स्ट्रिंग नाम.
onfailure स्ट्रिंग नहीं सेव नहीं हो पाने के कॉलबैक हैंडलर फ़ंक्शन का स्ट्रिंग नाम. इस फ़ंक्शन को गड़बड़ी ऑब्जेक्ट में एक errorCode और errorMessage हैं.
onprovidejwt स्ट्रिंग नहीं उपलब्ध कराने वाले JWT हैंडलर फ़ंक्शन का स्ट्रिंग नाम. इस फ़ंक्शन का मकसद यह है कि ऑब्जेक्ट को Google Wallet में जोड़ने से पहले, JWT डेटा को इंटरसेप्ट करेगा और उसमें बदलाव कर सकता है. यह फ़ंक्शन कोई पैरामीटर नहीं लेता और JWT को स्ट्रिंग के रूप में लौटाना चाहिए. इवेंट हैंडलर लागू करते समय, ओरिजनल JWT डेटा वापस पाया जा सकता है this.getOpenParams().renderData.userParams.jwt फ़ील्ड में डालें.

Google Wallet API के गड़बड़ी कोड और मैसेज

इन टेबल में गड़बड़ी के कोड और गड़बड़ी के तौर पर पास किए गए डिफ़ॉल्ट गड़बड़ी के मैसेज की सूची दी गई है ऑब्जेक्ट को JavaScript बटन का इस्तेमाल करके सही तरीके से सेव न करने पर फ़ेल होने वाले कॉलबैक फ़ंक्शन पर कार्रवाई करें.

        {
          "errorCode": "errorCode",
          "errorMessage": "errorMessage"
        }
errorCode errorMessage
SERVICE_FAILURE Google Wallet सर्वर में कोई गड़बड़ी हुई.
CLASS_NOT_FOUND ऑब्जेक्ट में रेफ़र की गई क्लास नहीं मिली.
CLASS_MISMATCH ऑब्जेक्ट एक ही तरह का होना चाहिए और उसे बंद क्लास का रेफ़रंस होना चाहिए.
ORIGIN_MISMATCH बटन का ऑरिजिन, ऑरिजिन की सूची में बताए गए ऑरिजिन से मेल नहीं खाता है.
INVALID_NUM_TYPES सिर्फ़ एक ही तरह के ऑब्जेक्ट के बारे में बताया जा सकता है.
INVALID_SIGNATURE हस्ताक्षर की पुष्टि नहीं की जा सकी.
INVALID_DUPLICATE_IDS डुप्लीकेट ऑब्जेक्ट या क्लास की अनुमति नहीं है.
INVALID_JWT अमान्य JWT.
INVALID_EXP_IAT JWT की समयसीमा खत्म हो गई है या यह आने वाले समय में जारी किया गया था.
INVALID_AUD AUD फ़ील्ड के लिए अमान्य मान.
INVALID_TYP TYP फ़ील्ड के लिए अमान्य वैल्यू.
INVALID_NUM_OBJECTS लॉयल्टी कार्ड, उपहार कार्ड, और ऑफ़र के लिए सिर्फ़ एक ऑब्जेक्ट और ज़्यादा से ज़्यादा एक क्लास की जानकारी दी जा सकती है.
MALFORMED_ORIGIN_URL ऑरिजिन यूआरएल सही नहीं है. यूआरएल में प्रोटोकॉल और डोमेन शामिल होना चाहिए.
MISSING_ORIGIN ऑरिजिन के बारे में बताना ज़रूरी है.
MISSING_FIELDS शामिल किए गए ऑब्जेक्ट या क्लास में ज़रूरी फ़ील्ड मौजूद नहीं हैं.

स्थानीय भाषा के अनुसार

JavaScript बटन की भाषा इन शर्तों के आधार पर बदलती है:

  1. अगर उपयोगकर्ता ने Google में लॉग इन किया है, तो बटन उपयोगकर्ता के Google खाते की प्रोफ़ाइल. कोई उपयोगकर्ता पढ़ सकता है भाषा बदलना ताकि Google खाते में सेट की गई पसंदीदा भाषा को बदलने का तरीका जान सकें.
  2. अगर उपयोगकर्ता ने Google में लॉग इन नहीं किया है, तो बटन ACCEPT-LANGUAGE वैल्यू का इस्तेमाल करता है हेडर को शामिल किया जा सकता है.

अगर आपको लगता है कि ऊपर बताए गए लॉजिक के आधार पर बटन सही भाषा में रेंडर नहीं हो रहा है या शब्द अप्राकृतिक हैं, हमारी सहायता टीम से संपर्क करें.