לחצן אינטרנט של JavaScript

Google Wallet API מאפשר למשתמשים להוסיף אובייקט ל-Google Wallet מהאינטרנט. המשתמשים יכולים להוסיף את הכרטיסים שלהם ישירות מהאתר שלכם.

בחומר העזר הזה מופיעים פרטים על רכיב ה-HTML g:savetoandroidpay מתבצע רינדור של לחצן Google Wallet API וגם אסימון אינטרנט מסוג JSON שמתארת את שירות האינטרנט שלכם ל-Google.

JavaScript של Google Wallet API

כדי לנתח תגי HTML 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>

תג HTML אחד (g:savetoandroidpay)

תג מרחב השמות g:savetoandroidpay מגדיר את את המיקום שלהם ואת המאפיינים השונים של הפונקציה לחצן Google Wallet. צריך להשתמש בתג הזה כשמעבדים HTML וקובצי JWT בצד השרת.

<g:savetoandroidpay jwt="JWT" onsuccess="successHandler" onfailure="failureHandler" />
שדה סוג נדרש תיאור
height מחרוזת לא גובה הלחצן להצגה. הערכים האפשריים הם: small (גובה 30 פיקסלים) ו standard (גובה של 38 פיקסלים). ערך ברירת המחדל של height הוא small. לעיון בלחצנים של Google Wallet API כדי לראות דוגמאות ללחצנים עם הגדרות height שונות.
jwt מחרוזת Y JWT של Google Wallet API.
onsuccess מחרוזת לא שם המחרוזת של פונקציית ה-handler של שמירת הקריאה החוזרת (callback).
onfailure מחרוזת לא שם המחרוזת של פונקציית ה-handler של שמירת קריאה חוזרת בכשל. הפונקציה מעבירה אובייקט שגיאה שמכיל קוד errorCode ו-errorMessage.
onprovidejwt מחרוזת לא שם המחרוזת של פונקציית ה-handler של JWT לספק. המטרה של הפונקציה הזו היא ליירט את נתוני ה-JWT ולבצע בהם שינויים לפני שהאובייקט יתווסף ל-Google Wallet. הפונקציה הזו לא מקבלת פרמטרים והיא חייבת להחזיר את ה-JWT כמחרוזת. כשמטמיעים את הגורם המטפל באירועים, ניתן לאחזר את נתוני ה-JWT המקוריים. מתחת לשדה this.getOpenParams().renderData.userParams.jwt.
size מחרוזת לא רוחב הלחצן להצגה. אפשר להגדיר את size לערך matchparent כך שהרוחב יהיה תואם לרוחב של רכיב ההורה. או לצאת מהבית size לא מוגדר, כך שהרוחב יימתח כך שיתאים לרוחב של ההגדרה text. לעיון בלחצנים של Google Wallet API כדי לראות דוגמאות ללחצנים עם הגדרות size שונות.
text מחרוזת לא הוצא משימוש
textsize מחרוזת לא אם מציינים את textsize=large, הפונקציה מציגה הגדלה משמעותית של גודל הטקסט, גודל הלחצן, במקרים עם דרישות מיוחדות בממשק המשתמש.
theme מחרוזת לא עיצוב הלחצן להצגה. הערכים האפשריים הם: dark ו light. עיצוב ברירת המחדל הוא dark. פרטים נוספים לחצנים ב-Google Wallet API כדי לראות דוגמאות ללחצנים עם הגדרות theme שונות.

JWT של Google Wallet API

ה-JWT של Google Wallet API מגדיר את האובייקטים והמחלקות לשמירה.

ייצוג 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 תמיד יהיה google
typ מחרוזת Y סוג ה-JWT. הקהל של אובייקטים של Google Wallet API תמיד יהיה savetowallet
iat מספר שלם Y מונפקת בזמן בשניות מאז תחילת התקופה.
payload אובייקט Y אובייקט 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 מערך Y מערך דומיינים לאישור הפונקציונליות של שמירת JWT. Google Wallet API הלחצן לא יוצג אם השדה origins לא יוגדר. אפשר עשויה לקבל את ההודעה "הטעינה נדחתה על ידי 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 מחרוזת Y המזהה של מאגר התגים להציב לחצן API של Google Wallet.
jwt מחרוזת Y JWT שמגדיר תוכן לשמירה.
onsuccess מחרוזת לא שם המחרוזת של פונקציית ה-handler של שמירת הקריאה החוזרת (callback).
onfailure מחרוזת לא שם המחרוזת של פונקציית ה-handler של שמירת קריאה חוזרת בכשל. הפונקציה מעבירה אובייקט שגיאה שמכיל קוד errorCode ו-errorMessage.
onprovidejwt מחרוזת לא שם המחרוזת של פונקציית ה-handler של JWT לספק. המטרה של הפונקציה הזו היא ליירט את נתוני ה-JWT ולבצע בהם שינויים לפני שהאובייקט יתווסף ל-Google Wallet. הפונקציה הזו לא מקבלת פרמטרים והיא חייבת להחזיר את ה-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 של המקור בפורמט שגוי. כתובת ה-URL חייבת להכיל פרוטוקול ודומיין.
MISSING_ORIGIN צריך לציין מקור.
MISSING_FIELDS באובייקט או במחלקה היו חסרים שדות חובה.

התאמה לשוק המקומי

השפה בלחצן JavaScript משתנה בהתאם לקריטריונים הבאים:

  1. אם המשתמש מחובר ל-Google, הלחצן יוצג בשפה המועדפת שמופיעה הפרופיל של המשתמש בחשבון Google. משתמש יכול לקרוא החלפת השפה שיעזרו להם לשנות את השפה המועדפת בחשבון Google שלהם.
  2. אם המשתמש לא מחובר ל-Google, הלחצן ישתמש בערך ACCEPT-LANGUAGE. בכותרת ה-HTTP.

אם הלחצן לא מוצג בשפה הנכונה על סמך הלוגיקה שצוינה למעלה, או אם הניסוח לא טבעי, ליצור קשר עם צוות התמיכה שלנו.