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 و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-10-23 بهوقت ساعت هماهنگ جهانی.
