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 वॉलेट' में जोड़ें
बटन के प्लेसमेंट और कई एट्रिब्यूट के बारे में
बताता है. अगर एचटीएमएल और JWT
सर्वर साइड को रेंडर किया जा रहा है, तो इस टैग का इस्तेमाल करें.
<g:savetoandroidpay jwt="JWT" onsuccess="successHandler" onfailure="failureHandler" />
फ़ील्ड | टाइप | ज़रूरी है | ब्यौरा |
---|---|---|---|
height |
स्ट्रिंग | नहीं | बटन की लंबाई. संभावित वैल्यू ये हैं: small (30 पिक्सल ऊंचाई) और
standard (38 पिक्सल ऊंचाई). height की डिफ़ॉल्ट वैल्यू small होती है.
अलग-अलग height सेटिंग वाले बटन के सैंपल देखने के लिए, Google Wallet API बटन
देखें. |
jwt |
स्ट्रिंग | हां | Google Wallet API JWT. |
onsuccess |
स्ट्रिंग | नहीं | सेव की गई कार्रवाई के कॉलबैक हैंडलर फ़ंक्शन के लिए स्ट्रिंग का नाम. |
onfailure |
स्ट्रिंग | नहीं | सेव न हो पाने वाले कॉलबैक हैंडलर फ़ंक्शन के स्ट्रिंग का नाम. इस फ़ंक्शन में गड़बड़ी वाले ऑब्जेक्ट को पास किया गया है. इसमें एकerrorCode और किस तरह के गड़बड़ी मैसेज हैं. |
onprovidejwt |
स्ट्रिंग | नहीं | JWT हैंडलर फ़ंक्शन उपलब्ध कराने वाले स्ट्रिंग का नाम. इस फ़ंक्शन का मकसद, Google Wallet में ऑब्जेक्ट को जोड़ने से पहले, JWT के डेटा को रोकना और उसमें बदलाव करना है.
यह फ़ंक्शन कोई पैरामीटर नहीं लेता और उसे स्ट्रिंग के रूप में JWT देना होगा.
इवेंट हैंडलर को लागू करते समय, ओरिजनल JWT डेटा फ़ील्ड this.getOpenParams().renderData.userParams.jwt में देखा जा सकता है. |
size |
स्ट्रिंग | नहीं | दिखाए जाने वाले बटन की चौड़ाई. size को matchparent पर सेट किया जा सकता है, ताकि वह पैरंट एलिमेंट की चौड़ाई से मेल खाए. इसके अलावा, size
को तय न करें, ताकि चौड़ाई text सेटिंग की चौड़ाई के हिसाब से फ़िट हो जाए.
अलग-अलग size सेटिंग वाले बटन के सैंपल देखने के लिए, Google Wallet API बटन
देखें. |
text |
स्ट्रिंग | नहीं | बहिष्कृत |
textsize |
स्ट्रिंग | नहीं | अगर textsize=large के बारे में बताया गया है, तो यूज़र इंटरफ़ेस (यूआई) की खास ज़रूरतों वाले मामलों में, यह टेक्स्ट साइज़ और बटन साइज़ को बहुत ज़्यादा बढ़ा देता है. |
theme |
स्ट्रिंग | नहीं | दिखाने के लिए बटन की थीम. संभावित वैल्यू ये हैं: dark और
light . डिफ़ॉल्ट थीम dark है. अलग-अलग theme सेटिंग वाले बटन के सैंपल देखने के लिए,
Google Wallet API बटन
देखें. |
Google Wallet API JWT
Google Wallet API JWT, सेव किए जाने वाले ऑब्जेक्ट और क्लास के बारे में जानकारी देता है.
जेएसओएन के काेड में दिखाना
{ "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 |
स्ट्रिंग | हां | Google Cloud सेवा खाते का जनरेट किया गया ईमेल पता. |
aud |
स्ट्रिंग | हां | दर्शक. Google Wallet API ऑब्जेक्ट की ऑडियंस हमेशा
google होगी. |
typ |
स्ट्रिंग | हां | JWT का टाइप. Google Wallet API ऑब्जेक्ट की ऑडियंस हमेशा
savetowallet होगी. |
iat |
पूरी संख्या | हां | epoch के बाद से सेकंड में समय पर जारी किया जाता है. |
payload |
ऑब्जेक्ट | हां | पेलोड ऑब्जेक्ट. |
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 | नहीं | सेव करने के लिए ट्रांज़िट ऑब्जेक्ट. |
payload.transitClasses |
Array | नहीं | सेव करने के लिए बस, मेट्रो वगैरह की क्लास. |
origins |
Array | हां | JWT से सेव करने की सुविधा के लिए अनुमति देने वाले डोमेन का कलेक्शन. जब origins फ़ील्ड के बारे में जानकारी नहीं दी जाएगी, तब Google Wallet API
बटन रेंडर नहीं होगा. ऑरिजिन फ़ील्ड तय न होने पर,
आपको ब्राउज़र कंसोल में "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 |
स्ट्रिंग | हां | Google Wallet API बटन को रखने के लिए कंटेनर का आईडी. |
jwt |
स्ट्रिंग | हां | सेव करने के लिए, JWT तय करने वाला कॉन्टेंट. |
onsuccess |
स्ट्रिंग | नहीं | सेव की गई कार्रवाई के कॉलबैक हैंडलर फ़ंक्शन के लिए स्ट्रिंग का नाम. |
onfailure |
स्ट्रिंग | नहीं | सेव न हो पाने वाले कॉलबैक हैंडलर फ़ंक्शन के स्ट्रिंग का नाम. इस फ़ंक्शन में गड़बड़ी वाले ऑब्जेक्ट को पास किया गया है. इसमें एकerrorCode और किस तरह के गड़बड़ी मैसेज हैं. |
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 |
विकृत मूल url. यूआरएल में प्रोटोकॉल और डोमेन होना चाहिए. |
MISSING_ORIGIN |
शुरुआत की जगह के बारे में बताना ज़रूरी है. |
MISSING_FIELDS |
शामिल ऑब्जेक्ट या क्लास में ज़रूरी फ़ील्ड नहीं थे. |
स्थानीय भाषा के अनुसार
JavaScript बटन में भाषा, नीचे दी गई शर्तों के आधार पर बदलती है:
- अगर उपयोगकर्ता ने Google में लॉग इन किया है, तो बटन, उपयोगकर्ता के Google खाते की प्रोफ़ाइल में दी गई पसंदीदा भाषा में रेंडर होता है. उपयोगकर्ता अपने Google खाते की पसंदीदा भाषा बदलने का तरीका जानने के लिए, भाषा बदलें पढ़ सकता है.
- अगर उपयोगकर्ता ने Google में लॉग इन नहीं किया है, तो यह बटन एचटीटीपी हेडर में
ACCEPT-LANGUAGE
वैल्यू का इस्तेमाल करता है.
अगर आपको ऊपर दिए गए लॉजिक के आधार पर, बटन सही भाषा में रेंडर नहीं हो रहा है या शब्द अस्वाभाविक है, तो हमारी सहायता टीम से संपर्क करें.