Google Wallet API به کاربران شما امکان میدهد تا از وب، شیئی را به «کیف پول Google» اضافه کنند. کاربران میتوانند کارتهایشان را مستقیماً از وبسایت شما اضافه کنند.
این مرجع جزئیاتی درباره عنصر HTML g:savetoandroidpay ارائه میدهد که
دکمه «میانای برنامهسازی کاربردی کیف پول Google» را پرداز میکند
و همچنین نشانه وب JSON
که سرویس وب شما را به Google توصیف میکند.
JavaScript «میانای برنامهسازی کاربردی کیف پول Google»
برای تجزیه خودکار تگهای 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 و JWT در سمت سرور هستید، از این برچسب استفاده کنید.
<g:savetoandroidpay jwt="JWT" onsuccess="successHandler" onfailure="failureHandler" />
| فیلد | نوع | الزامی | شرح |
|---|---|---|---|
height |
رشته | شمال | ارتفاع دکمه برای نمایش. مقادیر ممکن عبارتند از: small (ارتفاع ۳۰ پیکسل) و
standard (ارتفاع ۳۸ پیکسل). height بهطور پیشفرض روی small تنظیم میشود.
برای دیدن نمونههای دکمهها با تنظیمات height مختلف، به دکمههای Google Wallet API
مراجعه کنید. |
jwt |
رشته | س | Google Wallet API JWT. |
onsuccess |
رشته | شمال | نام رشتهای تابع رسیدگیکننده بازخوانی موفقیت ذخیره. |
onfailure |
رشته | شمال | نام رشتهای تابع رسیدگیکننده بازخوانی ذخیره ناموفق. این تابع یک شیء خطا حاوی errorCode و errorMessage دریافت میکند. |
onprovidejwt |
رشته | شمال | نام رشته تابع کنترلکننده JWT ارائهشده. هدف این تابع این است که
دادههای JWT را قبلاز اضافه شدن شیء به «کیف پول Google» رهگیری و احتمالاً دستکاری کند.
این تابع هیچ پارامتری دریافت نمیکند و باید 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
مراجعه کنید. |
JWT میانای برنامهسازی کاربردی کیف پول Google
JWT «میانای برنامهسازی کاربردی کیف پول Google» اشیا و کلاسهای ذخیره کردن را تعریف میکند.
نمایش 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 |
رشته | س | نشانی ایمیل تولیدشده حساب خدمات Google Cloud شما. |
aud |
رشته | س | مخاطب. مخاطب «اشیاء Google Wallet API» همیشه
google خواهد بود. |
typ |
رشته | س | نوع JWT. مخاطبان «اشیا میانای برنامهسازی کاربردی کیف پول Google» همیشه
savetowallet خواهند بود. |
iat |
عدد صحیح | س | زمان صدور برحسب ثانیه از تاریخ. |
payload |
شیء | س | شیء محموله. |
payload.eventTicketClasses |
آرایه | شمال | «کلاس بلیت رویداد» برای ذخیره کردن. |
payload.eventTicketObjects |
آرایه | شمال | «شیء بلیت رویداد» برای ذخیره کردن. |
payload.flightClasses |
آرایه | شمال | «کلاس پرواز» برای ذخیره کردن. |
payload.flightObjects |
آرایه | شمال | شیء پرواز برای ذخیره کردن. |
payload.giftCardClasses |
آرایه | شمال | کلاس کارت هدیه برای ذخیره کردن. |
payload.giftCardObjects |
آرایه | شمال | شیء کارت هدیه برای ذخیره کردن. |
payload.loyaltyClasses |
آرایه | شمال | کلاس وفاداری برای ذخیره کردن. |
payload.loyaltyObjects |
آرایه | شمال | «شیء وفاداری» برای ذخیره کردن. |
payload.offerObjects |
آرایه | شمال | «شیء» را برای ذخیره کردن پیشنهاد دهید. |
payload.offerClasses |
آرایه | شمال | کلاس پیشنهاد را برای ذخیره کردن انتخاب کنید. |
payload.transitObjects |
آرایه | شمال | شیء حملونقل عمومی برای ذخیره کردن. |
payload.transitClasses |
آرایه | شمال | «کلاس ترانزیت» برای ذخیره کردن. |
origins |
آرایه | س | آرایه دامنهها برای تأیید عملکرد ذخیره JWT. اگر فیلد origins تعریف نشده باشد، دکمه Google Wallet API ارائه نخواهد شد. اگر فیلد مبدأ تعریف نشده باشد، ممکن است پیام «بارگیری توسط X-Frame-Options رد شد» یا «نمایش داده نشد» را در کنسول مرورگر دریافت کنید. |
JWT کدبندیشده شما باید شبیه نمونه زیر باشد:
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJnb29nbGUiLCJvcmlnaW5zIjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsImh0dHA6Ly93d3cuZ29vZ2xlLmNvbSJdLCJpc3MiOiJzMmFwLXRvb2wuZ29vZ2xlLmNvbUBhcHBzcG90LmdzZXJ2aWNlYWNjb3VudC5jb20iLCJpYXQiOjE1NTE5ODcxNTEsInR5cCI6InNhdmV0b3dhbGxldCIsInBheWxvYWQiOnsib2ZmZXJPYmplY3RzIjpbeyJpZCI6IjMyMDI0MTMyNDE4NDM2OTk0MDEuMDFfT2ZmZXJPYmplY3RJZCJ9XX19.maHX40WWT29TC_kEb90EKQBH9AiTYAZR3153K8UI7fznVnfjVdlwsH_GKTECV3PGXdNnKCcmatUbKsONC0bxrnAHYG02kuvA1D3hSctz_amU66ntsvGIDe13mpxTzhI8fPvt9KMP1iaO7uOJuLQIHwipu4uRFAjyFaHGVaSFaP9c53qQyb_Zgyyk50M-MhH2n4kDpstNCqUJKWaadQkOWjrtMjwGzQ_ME04lbR4wb_mfK1A7Rc1UieWkxM9aMl5TOPubBKxKRRk_CqillN8XoTl9MI5RRGPuElVO28zGpYlFS6BarzDaaUfmbRZGvfF8ZiKrHZKxVrJjfZIJ2TCcDw
تابع gapi.savetoandroidpay.render
این تابع به شما امکان میدهد دکمه «میانای برنامهسازی کاربردی کیف پول Google» را بهطور صریح ارائه کنید.
gapi.savetoandroidpay.render("dom-container",{
"jwt": "JWT",
"onsuccess": "successHandler",
"onfailure": "failureHandler"
});| فیلد | نوع | الزامی | شرح |
|---|---|---|---|
dom-container |
رشته | س | شناسه محفظه برای قرار دادن دکمه «میانای برنامهسازی کاربردی کیف پول Google». |
jwt |
رشته | س | JWT تعریفکننده محتوا برای ذخیره کردن. |
onsuccess |
رشته | شمال | نام رشتهای تابع رسیدگیکننده بازخوانی موفقیت ذخیره. |
onfailure |
رشته | شمال | نام رشتهای تابع رسیدگیکننده بازخوانی ذخیره ناموفق. این تابع یک شیء خطا حاوی errorCode و errorMessage دریافت میکند. |
onprovidejwt |
رشته | شمال | نام رشته تابع کنترلکننده JWT ارائهشده. هدف این تابع این است که
دادههای JWT را قبلاز اینکه شیء به «کیف پول Google» اضافه شود رهگیری و احتمالاً دستکاری کند.
این تابع هیچ پارامتری را دریافت نمیکند و باید JWT را بهصورت «رشته» برگرداند.
هنگام پیادهسازی کنترلکننده رویداد، دادههای JWT اصلی را میتوان
در فیلد this.getOpenParams().renderData.userParams.jwt بازیابی کرد. |
کدها و پیامهای خطای Google Wallet API
جدولهای زیر کدهای خطا و پیامهای خطای پیشفرض را که در شیء خطا به تابع بازخوانی ناموفق ارسال شدهاند، در شرایطی که شیء بااستفاده از دکمه جاوا اسکریپت با موفقیت ذخیره نشده است، فهرست میکنند.
{
"errorCode": "errorCode",
"errorMessage": "errorMessage"
}errorCode |
errorMessage |
|---|---|
SERVICE_FAILURE |
خطایی در سرور «کیف پول Google» رخ داد. |
CLASS_NOT_FOUND |
کلاس ارجاعدادهشده در شیء پیدا نشد. |
CLASS_MISMATCH |
شیء باید وجود داشته باشد، از همان نوع باشد، و باید به کلاس محصورشده ارجاع دهد. |
ORIGIN_MISMATCH |
مبدأ دکمه با موارد مشخصشده در فهرست مبدأها مطابقت ندارد. |
INVALID_NUM_TYPES |
فقط یک نوع شیء میتواند مشخص شود. |
INVALID_SIGNATURE |
امضا تأیید نشد. |
INVALID_DUPLICATE_IDS |
اشیا یا کلاسهای تکراری مجاز نیستند. |
INVALID_JWT |
JWT نامعتبر است. |
INVALID_EXP_IAT |
JWT منقضی شده است یا در آینده صادر شده است. |
INVALID_AUD |
مقدار فیلد «دلار استرالیا» نامعتبر است. |
INVALID_TYP |
مقدار فیلد TYP نامعتبر است. |
INVALID_NUM_OBJECTS |
دقیقاً یک شیء و حداکثر یک کلاس را میتوان برای کارتهای وفاداری، کارتهای هدیه، و پیشنهادها مشخص کرد. |
MALFORMED_ORIGIN_URL |
نشانی وب مبدأ ناهنجار. نشانی وب باید حاوی پروتکل و دامنه باشد. |
MISSING_ORIGIN |
مبدأ باید مشخص شده باشد. |
MISSING_FIELDS |
فیلدهای الزامی شیء یا کلاس پیوستشده وجود نداشت. |
Localization
زبان دکمه JavaScript براساس معیارهای زیر تغییر میکند:
- اگر کاربر به سیستم Google وارد شده باشد، دکمه به زبان برگزیده ارائهشده در نمایه حساب Google کاربر ارائه میشود. کاربر میتواند تغییر زبان را بخواند تا با نحوه تغییر زبان برگزیده حساب Google خود آشنا شود.
- اگر کاربر وارد سیستم Google نشده باشد، دکمه از مقدار
ACCEPT-LANGUAGEدر سرایند HTTP استفاده میکند.
اگر متوجه شدید که دکمه براساس منطق بالا به زبان صحیح ارائه نمیشود، یا اگر عبارتبندی غیرطبیعی است، با تیم پشتیبانی ما تماس بگیرید.