دکمه وب جاوا اسکریپت

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 براساس معیارهای زیر تغییر می‌کند:

  1. اگر کاربر به سیستم Google وارد شده باشد، دکمه به زبان برگزیده ارائه‌شده در نمایه حساب Google کاربر ارائه می‌شود. کاربر می‌تواند تغییر زبان را بخواند تا با نحوه تغییر زبان برگزیده حساب Google خود آشنا شود.
  2. اگر کاربر وارد سیستم Google نشده باشد، دکمه از مقدار ACCEPT-LANGUAGE در سرایند HTTP استفاده می‌کند.

اگر متوجه شدید که دکمه براساس منطق بالا به زبان صحیح ارائه نمی‌شود، یا اگر عبارت‌بندی غیرطبیعی است، با تیم پشتیبانی ما تماس بگیرید.