מדריך פתרון הבעיות באתר כולל בעיות ושאלות שקשורות לנושאים הבאים.
הרשמה וגישה
יכול להיות שתיתקלו באחת מהשגיאות הבאות בשלב מסוים בתהליך השילוב. ברשימה הזו מופיעות עצות מועילות לפתרון בעיות במקרה של שגיאות כאלה.
- המוֹכר הזה לא מוגדר לשימוש ב-Google Pay
- ב-Google Pay API נדרש merchantId של Google לאתרים שמוגדרים
PaymentsClientעבור סביבתPRODUCTION. חשבון GooglemerchantIdמשויך לדומיין אחד או יותר עם שם מלא באמצעות המסוף של Google Pay ו-Wallet. כדי לקבל מידע נוסף, אפשר לבדוק את פרטי השגיאה שהוחזרו. - המוֹכר הזה לא השלים את ההרשמה לשימוש ב-Google Pay API. כדי לאמת את החשבון, צריך להיכנס אל מסוף התשלומים (https://pay.google.com/business/console).
- לא השלמת את תהליך ההרשמה של האתרים שלך ל-Google Pay API. בדיקה שליחת בקשה לגישה לסביבת הייצור כדי להירשם באמצעות המסוף של Google Pay ו-Wallet ולבקש בדיקה של השימוש באתר ב-Google Pay API.
- לפרופיל של הסוחר הזה אין גישה לתכונה הזו
- Google לא הגדירה את האתר שלכם לשימוש ב-Google Pay API. בקטע Review (בדיקה), לוחצים על Request production access (בקשה לגישה לסביבת הייצור) כדי לבקש בדיקה של השימוש באתר ב-Google Pay API דרך המסוף של Google Pay ו-Wallet.
- השילוב הזה עם Google Pay API מושבת. אפשר לפנות אלינו לקבלת מידע נוסף (https://developers.google.com/pay/api/faq#how-to-get-support).
- אפשר לפנות אלינו כדי לקבל מידע נוסף על השלבים הנדרשים להפעלה מחדש של Google Pay API בחשבון Google.
- הדומיין example.com לא רשום לשימוש ב-API הזה
- הדומיין שבו מתארח דף התשלום לא משויך לחשבון
merchantIdשבו אתם משתמשים. מוודאים שהפרמטרmerchantIdנכון ושהדומיין רשום דרך המסוף של Google Pay ו-Wallet. - צריך להפעיל את Google Pay API בהקשר מאובטח!
- אפשר להשתמש ב-Google Pay API רק באתרים בהקשר מאובטח. מידע נוסף זמין במאמר בנושא הקשרים מאובטחים.
- לא נמצאו מפתחות לפרופיל המוֹכר הזה
- כדי להשלים שילוב של
DIRECTtokenizationSpecificationtype, צריך לרשום את מפתח ההצפנה הציבורי שלכם ב-Google דרך המסוף של Google Pay ו-Wallet.
merchantId
יכול להיות שתיתקלו בשגיאות הבאות שקשורות ל-merchantId בשלב מסוים בתהליך השילוב. הרשימה הזו כוללת כמה טיפים שיעזרו לכם לפתור בעיות אם השגיאות האלה יופיעו.
- חובה להגדיר את merchantId.
- הפרמטר
merchantIdבתוךPaymentDataRequestצריך להיות מוגדר לערך שסופק באמצעות המסוף של Google Pay ו-Wallet. הפרמטרmerchantIdנדרש רק כשמשתמשים ב-PaymentsClientשמוגדר לסביבתPRODUCTION. כדי לבקש בדיקה של השימוש באתר שלך ב-Google Pay API ולקבל אתmerchantId, צריך לעיין ברשימת המשימות שלנו לשילוב. - merchantId הוא לא מחרוזת
- הפרמטר
merchantIdבתוךPaymentDataRequestחייב להיות תמיד מחרוזת. לפני שמבצעים קריאה ל-API, צריך לוודא שהסוג של הפרמטרmerchantIdשבו משתמשים הוא מחרוזת. - הערך של merchantId לא רשום.
- צריך להגדיר את הפרמטר
merchantIdבתוךPaymentDataRequestבאמצעות המסוף של Google Pay ו-Wallet. מידע נוסף זמין במאמר בנושא שליחת בקשת גישה לייצור.
תוקף השער
בשלב מסוים בתהליך השילוב, יכול להיות שתיתקלו בשגיאות הבאות שקשורות לתוקף של שער התשלום. הרשימה הזו כוללת כמה טיפים שיעזרו לכם לפתור בעיות אם השגיאות האלה יופיעו.
- שער לא ידוע 'yourgateway'
- פרמטר השער שציינתם ב-
paymentMethodTokenizationParameters.parametersלא נתמך כרגע על ידי Google. לקבלת מידע נוסף על מזהה השער והשדות המשויכים, כמוgatewayMerchantId, אפשר לפנות לשער. - אי אפשר להשתמש בשער 'example' במצב ייצור
- הערך של פרמטר השער שמופיע בדוגמה משמש רק למטרות בדיקה, ואי אפשר להשתמש בו עם
PaymentsClientשמוגדר עבור סביבתPRODUCTION. לקבלת מידע נוסף על ערכי הפרמטרים שצריך להגדיר לשימוש ב-Google Pay API, אפשר לפנות אל שער התשלומים.PaymentMethodTokenizationSpecification
תוקף האובייקט
יכול להיות שבשלב מסוים בשילוב תיתקלו בשגיאות הבאות שקשורות לתוקף של אובייקט. הרשימה הזו כוללת כמה טיפים שיעזרו לכם לפתור בעיות אם השגיאות האלה יופיעו.
- הבקשה PaymentDataRequest של Google Pay היא לא JSON תקין
- הפרמטר שמועבר אל
loadPaymentDataחייב להיות תמיד אובייקטPaymentDataRequestתקין. - חובה להגדיר את transactionInfo!
- הפרמטר
transactionInfoבתוךPaymentDataRequestחייב להיות תמיד אובייקטTransactionInfoתקין.
מוכרים ישירים
יכול להיות שתיתקלו בשגיאות הבאות שקשורות למוכרים ישירים בשלב מסוים בתהליך השילוב. הרשימה הזו כוללת כמה טיפים שיעזרו לכם לפתור בעיות אם השגיאות האלה יופיעו.
- אימות חתימה
- יכול להיות שתיתקלו בשגיאה באימות החתימה אם
merchantIdשגוי. זה יכול לקרות בסביבתTESTכשמשתמשים בספרייה paymentmethodtoken של Tink. כדי למנוע את הבעיה הזו, צריך להגדיר את YOUR_MERCHANT_ID לערך12345678901234567890ב:.recipientId("merchant:YOUR_MERCHANT_ID")
- אי אפשר לפענח את הטוקן
- אם אתם משתמשים בספריית paymentmethodtoken של Tink כדי לפענח אסימון, שימו לב לנקודות הבאות:
- מוודאים שסביבת התגובה של Google Pay API תואמת לסביבת paymentmethodtoken של Tink. בדוגמה הבאה מפורטים פרטים נוספים:
- אם התגובה של Google Pay API הוחזרה על ידי הסביבה
TEST, אז Tink מצביע על סביבת הבדיקה לצורך פענוח. - אל תשנו את התגובה מ-Google Pay API לפני שהיא מועברת אל Tink. חשוב לוודא שמעבירים את כל הטוקן שמוחזר מהתגובה של Google Pay API. לפרטים נוספים, אפשר לעיין בהערה הבאה:
- מוודאים שיש לכם את המפתח הפרטי הנכון שמשויך למפתח הציבורי שרשמתם ב-Google.
- יצירת זוג מפתחות פרטיים וציבוריים ב-Windows
- אם אתם משתמשים ב-Windows ורוצים לבצע את השלבים שמפורטים במאמר שימוש ב-OpenSSL ליצירת זוג מפתחות פרטיים וציבוריים, אתם צריכים להתקין את Cygwin במחשב. הפעולה הזו נדרשת כדי להריץ את פקודות Linux.
אובייקטים של שגיאות
אובייקטים של שגיאות הם אובייקטים שמוחזרים על ידי הבטחה שנדחתה משיטת JavaScript של לקוח.
- PaymentsError
- האובייקט הזה מכיל פרטים על שגיאות שמוחזרות על ידי שיטות JavaScript של הלקוח. יכול להיות שהשגיאות לא יוצגו בתיבת דו-שיח שמוצגת למשתמש.
| נכס | סוג | תיאור |
|---|---|---|
statusCode |
מחרוזת | קוד קצר שמתאר את סוג השגיאה. |
statusMessage |
מחרוזת | הודעה שמוצגת למפתחים ומתארת את השגיאה שנתקלו בה ואת השלבים האפשריים לתיקון שלה. |
- שגיאות נפוצות
- באובייקט הזה מוצגות שגיאות שאולי תיתקלו בהן בכל שיטות JavaScript. חשוב לבדוק את המסוף למפתחים כדי לראות אם יש הודעות שגיאה נוספות.
- מהי התכונה CardInfo?
- ב-Google Pay מוצג לצרכנים לחצן התשלום של Google Pay עם כרטיס, שמציג גם את רשת כרטיסי האשראי וגם את 4 הספרות האחרונות של הכרטיס.
- למה התכונה CardInfo לא מוצגת בהטמעה שלי?
כדי שהתכונה CardInfo תפעל, התנאים הבאים צריכים להתקיים:
- צריך להטמיע את API
createButton. - צריך להגדיר את
ButtonOptions.buttonTypeלערךbuy,longאוpay. - למשתמש צריך להיות אמצעי תשלום זמין, כפי שמוגדר באובייקט
CardParameters.
- צריך להטמיע את API
- למה לחצן התשלום של Google Pay נטען ללא הפסקה?
- אל תסירו את פונקציות ה-event listener של
onLoad. אם מסירים את פונקציות event listener שלonLoad, יכול להיות שלחצן התשלום של Google Pay ייטען ללא הפסקה. - למה לא מופיעה בקשה לתשלום אחרי שלוחצים על לחצן התשלום של Google Pay?
- מקצים קריאה חוזרת (callback) של event listener לאירוע
ButtonOptions.onClick. - עבודה עם WebViews
- כדי לוודא שהשילוב שלכם תואם ל-WebViews, פועלים לפי המדריכים ל-Android ול-iOS.
Cross-Origin-Opener-Policyכותרת תגובת HTTP- אם כותרת התגובה של HTTP
Cross-Origin-Opener-Policyמוגדרת ל-same-origin, יכול להיות שהיא תמנע מהדפדפן לפתוח את החלון הקופץ הנדרש כדי שהמשתמשים יוכלו להשלים את העסקה. כדי לנסות לפתור את הבעיות האלה, אפשר לשנות את הערך של הכותרת ל-same-origin-allow-popups. - העיכובים בין אירוע הקליק של המשתמשים לבין הקריאה אל
loadPaymentData() -
אם יש עיכוב אחרי שלוחצים על הלחצן של Google Pay (או על לחצן דומה של תהליך התשלום) ולפני הקריאה
loadPaymentData()(דוגמאות:setTimeout(), קריאות נוספות לרשת או לוגיקה דומה שפועלת לאורך זמן), יכול להיות שמנגנון חסימת החלונות הקופצים של הדפדפן יופעל. ההמלצה שלנו היא לא להגדיר עיכובים בין הקליק של המשתמש לבין הקריאה שלloadPaymentData().
| קוד סטטוס | תיאור |
|---|---|
BUYER_ACCOUNT_ERROR |
המשתמש הנוכחי ב-Google לא יכול לספק פרטי תשלום. |
DEVELOPER_ERROR |
הפורמט של פרמטר שהועבר שגוי. יכול להיות שתופיע הודעת שגיאה במסוף הדפדפן לכל הסביבות שהוגדרו. |
MERCHANT_ACCOUNT_ERROR |
לאתר שדרכו מתבצעת גישה אל Google Pay API אין את ההרשאה המתאימה. יכול להיות שהסיבה לכך היא הגדרה שגויה או מזהה מוֹכרים שגוי שהוגדר בבקשה. פרטים נוספים מופיעים בשדה |
INTERNAL_ERROR |
שגיאת שרת כללית. |
CardInfo
OR_BIBED_15 שגיאות
יכול להיות שתיתקלו בשגיאה OR_BIBED_15 בשלב מסוים בתהליך ההטמעה. ברשימה הזו מופיעים טיפים שימושיים לפתרון בעיות במקרה שהשגיאה הזו מתרחשת.