Google Wallet API מאפשר למשתמשים שלך להוסיף אובייקט ל-Google Wallet מהאינטרנט. המשתמשים יכולים להוסיף את הכרטיסים שלהם ישירות מהאתר שלכם.
בחומר העזר הזה מופיעים פרטים על רכיב ה-HTML g:savetoandroidpay
שמעבד לחצן של Google Wallet API, וכן על אסימון אינטרנט מסוג JSON שמתאר את שירות האינטרנט שלכם ל-Google.
JavaScript ב-API של Google Wallet
כדי לנתח באופן אוטומטי תגי HTML של g:savetoandroidpay
בטעינה, צריך לכלול את קוד ה-JavaScript הרגיל
<script src="https://apis.google.com/js/platform.js" type="text/javascript"></script>
ליישומי AJAX ועיבוד מפורש של לחצני ממשק ה-API של Google Wallet, כלול את הפרמטר "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 |
מחרוזת | כן | 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 |
מחרוזת | כן | כתובת האימייל שנוצרה על ידי חשבון השירות ב-Google Cloud. |
aud |
מחרוזת | כן | קהל. הקהל של אובייקטים של Google Wallet API יהיה תמיד
google . |
typ |
מחרוזת | כן | סוג ה-JWT. הקהל של אובייקטים של Google Wallet API יהיה תמיד
savetowallet . |
iat |
מספר שלם | כן | מונפקים לפי הזמן בשניות מאז תחילת התקופה של זמן מערכת. |
payload |
אובייקט | כן | אובייקט מטען ייעודי (payload). |
payload.eventTicketClasses |
Array | לא | יש לשמור את קטגוריית הכרטיסים לאירוע. |
payload.eventTicketObjects |
Array | לא | שמירה של אובייקט הכרטיס לאירוע. |
payload.flightClasses |
Array | לא | כדי לשמור את מחלקת הטיסה. |
payload.flightObjects |
Array | לא | אובייקט טיסה לשמירה. |
payload.giftCardClasses |
Array | לא | קטגוריה של כרטיסי מתנה לחסוך. |
payload.giftCardObjects |
Array | לא | אובייקט של כרטיס מתנה לשמירה. |
payload.loyaltyClasses |
Array | לא | סיווג מועדון הלקוחות לשמירה. |
payload.loyaltyObjects |
Array | לא | אובייקט נאמנות לשמירה. |
payload.offerObjects |
Array | לא | אובייקט הצעה לשמירה. |
payload.offerClasses |
Array | לא | מציעים סיווג כדי לשמור. |
payload.transitObjects |
Array | לא | אובייקט של תחבורה ציבורית לשמירה. |
payload.transitClasses |
Array | לא | כדי לשמור, עליך לשמור את מחלקת התחבורה הציבורית. |
origins |
Array | כן | מערך של דומיינים לאישור לפונקציונליות השמירה של 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 |
מחרוזת | כן | מזהה של מאגר תגים להצבת לחצן Google Wallet API. |
jwt |
מחרוזת | כן | 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 משתנה בהתאם לקריטריונים הבאים:
- אם המשתמש מחובר ל-Google, הלחצן מעובד בשפה המועדפת שצוינה בפרופיל חשבון Google של המשתמש. משתמשים יכולים לקרוא את שינוי השפה כדי ללמוד איך לשנות את השפה המועדפת בחשבון Google שלהם.
- אם המשתמש לא מחובר ל-Google, הלחצן משתמש בערך
ACCEPT-LANGUAGE
בכותרת ה-HTTP.
אם הלחצן לא מוצג בשפה הנכונה בהתאם ללוגיקה שצוינה למעלה, או אם הניסוח לא טבעי, אפשר לפנות לצוות התמיכה שלנו.