Google Wallet API به کاربران شما امکان میدهد از وب یک شی به Google Wallet اضافه کنند. کاربران می توانند کارت های خود را مستقیماً از وب سایت شما اضافه کنند.
این مرجع جزئیاتی در مورد عنصر HTML g:savetoandroidpay
که یک دکمه API Google Wallet را ارائه میکند و همچنین JSON Web Token که سرویس وب شما را برای Google توصیف میکند، ارائه میکند.
Google Wallet API JavaScript
برای تجزیه خودکار تگهای HTML g:savetoandroidpay
در بارگذاری، جاوا اسکریپت استاندارد را شامل میشود
<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>
تگ HTML g:savetoandroidpay
تگ فضای نام g:savetoandroidpay
مکان و ویژگی های مختلف دکمه افزودن به کیف پول Google را تعریف می کند. اگر HTML و JWTs را در سمت سرور رندر می کنید از این تگ استفاده کنید.
<g:savetoandroidpay jwt="JWT" onsuccess="successHandler" onfailure="failureHandler" />
میدان | تایپ کنید | مورد نیاز | توضیحات |
---|---|---|---|
height | رشته | ن | ارتفاع دکمه برای نمایش مقادیر ممکن عبارتند از: small (30px بالا) و standard (38px بالا). height پیش فرض small است. برای مشاهده نمونههایی از دکمهها با تنظیمات height مختلف به دکمههای Google Wallet API مراجعه کنید. |
jwt | رشته | Y | Google Wallet API JWT. |
onsuccess | رشته | ن | نام رشته تابع کنترل کننده بازگشت به تماس موفقیت آمیز ذخیره. |
onfailure | رشته | ن | نام رشته تابع کنترل کننده بازگشت تماس شکست ذخیره. این تابع یک شی خطا حاوی errorCode و errorMessage ارسال می شود. |
onprovidejwt | رشته | ن | نام رشته تابع ارائه JWT handler. هدف از این تابع رهگیری و به طور بالقوه دستکاری داده های JWT قبل از افزودن شی به Google Wallet است. این تابع هیچ پارامتری دریافت نمی کند و باید JWT را به عنوان رشته برگرداند. هنگام پیادهسازی کنترلکننده رویداد، دادههای اصلی JWT را میتوان در فیلد this.getOpenParams().renderData.userParams.jwt بازیابی کرد. |
size | رشته | ن | عرض دکمه برای نمایش می توانید size روی matchparent تنظیم کنید تا عرض آن با عرض عنصر والد مطابقت داشته باشد. یا size تعریف نشده رها کنید تا عرض آن متناسب با عرض تنظیم text باشد. برای مشاهده نمونه هایی از دکمه ها با تنظیمات size مختلف به دکمه های Google Wallet API مراجعه کنید. |
text | رشته | ن | منسوخ شده است |
textsize | رشته | ن | وقتی textsize=large مشخص شده باشد، اندازه متن و اندازه دکمه به طور چشمگیری افزایش یافته است، برای مواردی که نیازهای UI خاص دارند. |
theme | رشته | ن | تم دکمه برای نمایش. مقادیر ممکن عبارتند از: dark و light . تم پیش فرض dark است. برای مشاهده نمونههایی از دکمهها با تنظیمات theme مختلف به دکمههای Google Wallet API مراجعه کنید. |
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 Objects همیشه google خواهد بود. |
typ | رشته | Y | نوع JWT. مخاطبان Google Wallet API Objects همیشه savetowallet خواهند بود. |
iat | عدد صحیح | Y | صادر شده در زمان در ثانیه از زمان. |
payload | شیء | Y | جسم بار. |
payload.eventTicketClasses | آرایه | ن | کلاس بلیط رویداد برای صرفه جویی. |
payload.eventTicketObjects | آرایه | ن | رویداد Ticket Object برای ذخیره. |
payload.flightClasses | آرایه | ن | کلاس پرواز برای صرفه جویی. |
payload.flightObjects | آرایه | ن | Flight Object برای ذخیره. |
payload.giftCardClasses | آرایه | ن | کلاس کارت هدیه برای صرفه جویی. |
payload.giftCardObjects | آرایه | ن | شی کارت هدیه برای ذخیره. |
payload.loyaltyClasses | آرایه | ن | کلاس وفاداری برای پس انداز. |
payload.loyaltyObjects | آرایه | ن | هدف وفاداری برای ذخیره. |
payload.offerObjects | آرایه | ن | Object را برای ذخیره پیشنهاد کنید. |
payload.offerClasses | آرایه | ن | کلاس را برای صرفه جویی پیشنهاد دهید. |
payload.transitObjects | آرایه | ن | انتقال شی برای ذخیره. |
payload.transitClasses | آرایه | ن | کلاس حمل و نقل برای صرفه جویی. |
origins | آرایه | Y | مجموعه ای از دامنه ها برای تأیید عملکرد ذخیره JWT. وقتی فیلد origins تعریف نشده باشد، دکمه Google Wallet API ارائه نمی شود. هنگامی که فیلد مبدا تعریف نشده باشد، به طور بالقوه می توانید پیام های "بارگذاری توسط X-Frame-Options رد شد" یا "رد نمایش داده شود" را در کنسول مرورگر دریافت کنید. |
JWT کدگذاری شده شما باید شبیه به مثال زیر باشد:
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJnb29nbGUiLCJvcmlnaW5zIjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsImh0dHA6Ly93d3cuZ29vZ2xlLmNvbSJdLCJpc3MiOiJzMmFwLXRvb2wuZ29vZ2xlLmNvbUBhcHBzcG90LmdzZXJ2aWNlYWNjb3VudC5jb20iLCJpYXQiOjE1NTE5ODcxNTEsInR5cCI6InNhdmV0b3dhbGxldCIsInBheWxvYWQiOnsib2ZmZXJPYmplY3RzIjpbeyJpZCI6IjMyMDI0MTMyNDE4NDM2OTk0MDEuMDFfT2ZmZXJPYmplY3RJZCJ9XX19.maHX40WWT29TC_kEb90EKQBH9AiTYAZR3153K8UI7fznVnfjVdlwsH_GKTECV3PGXdNnKCcmatUbKsONC0bxrnAHYG02kuvA1D3hSctz_amU66ntsvGIDe13mpxTzhI8fPvt9KMP1iaO7uOJuLQIHwipu4uRFAjyFaHGVaSFaP9c53qQyb_Zgyyk50M-MhH2n4kDpstNCqUJKWaadQkOWjrtMjwGzQ_ME04lbR4wb_mfK1A7Rc1UieWkxM9aMl5TOPubBKxKRRk_CqillN8XoTl9MI5RRGPuElVO28zGpYlFS6BarzDaaUfmbRZGvfF8ZiKrHZKxVrJjfZIJ2TCcDw
تابع gapi.savetoandroidpay.render
این عملکرد به شما امکان می دهد دکمه API Google Wallet را به صراحت رندر کنید.
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 handler. هدف از این تابع رهگیری و به طور بالقوه دستکاری داده های JWT قبل از افزودن شی به Google Wallet است. این تابع هیچ پارامتری دریافت نمی کند و باید JWT را به عنوان رشته برگرداند. هنگام پیادهسازی کنترلکننده رویداد، دادههای اصلی JWT را میتوان در فیلد this.getOpenParams().renderData.userParams.jwt بازیابی کرد. |
کدهای خطا و پیام های API Google Wallet
جداول زیر کدهای خطا و پیامهای خطای پیشفرض را فهرست میکنند که در شی خطا به عملکرد برگشت تماس شکست خورده ارسال میشوند، زمانی که یک شی با موفقیت با استفاده از دکمه جاوا اسکریپت ذخیره نمیشود.
{ "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 | شی یا کلاس محصور، فیلدهای الزامی را ندارد. |
بومی سازی
زبان در دکمه جاوا اسکریپت بر اساس معیارهای زیر تغییر می کند:
- اگر کاربر وارد Google شده باشد، دکمه به زبان دلخواه ارائه شده در نمایه حساب Google کاربر نمایش داده می شود. کاربر میتواند تغییر زبان را بخواند تا نحوه تغییر زبان دلخواه حساب Google خود را بیاموزد.
- اگر کاربر وارد Google نشده باشد، دکمه از مقدار
ACCEPT-LANGUAGE
در هدر HTTP استفاده می کند.
اگر متوجه شدید که دکمه بر اساس منطق بالا به زبان صحیح ارائه نمی شود، یا اگر عبارت غیر طبیعی است، با تیم پشتیبانی ما تماس بگیرید .
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2024-11-10 بهوقت ساعت هماهنگ جهانی.