Discussions

Ask a Question
Back to all

Google Pay בדף התשלום נחסם לכל דפדפן שאינו Chrome, וגם ל-Chrome על macOS/Linux

שלום,

אנחנו מפעילים סליקה דרך Grow (מחוברת דרך ה-API של חשבונית ירוקה/Morning), ומציעים ללקוחות תשלום ב-Google Pay דרך דף התשלום שלכם. אנחנו נתקלים במגבלה שנראית לנו רחבה מהנדרש, ורצינו לברר אם היא מכוונת.

מה שמצאנו בשטח: התשלום ב-Google Pay עובד רק ב-Chrome על Android. בכל שאר הצירופים שבדקנו דף התשלום מציג "לא ניתן לשלם דרך GPay" — Samsung Internet (הדפדפן המובנה בגלקסי), Edge, Firefox, וגם Chrome על macOS ועל Linux.

המקור לכך נמצא בקוד של דף התשלום עצמו — הקובץ googlePayMdl.js שהדף טוען:

const isGooglePayAllowed = (isAndroidDevice || isWindowsOS) && isGoogleChromeBrowser;
if (!isGooglePayAllowed) { noGooglePay(); return; }

כאשר isGoogleChromeBrowser דורש שברשימת navigator.userAgentData.brands יופיע בדיוק הערך "Google Chrome". המשמעות היא ששני תנאים נבדקים לפני שנשאלת בכלל ה-API של Google:

הדפדפן חייב להיות Chrome עצמו. דפדפני Chromium אחרים (Edge, Samsung Internet, Brave) מדווחים "Chromium" יחד עם המותג שלהם ולא "Google Chrome", ולכן נחסמים. Firefox נחסם ממילא, כי אין בו userAgentData כלל.

מערכת ההפעלה חייבת להיות Android או Windows. Chrome על macOS ועל Linux נחסם למרות שהוא Chrome לכל דבר.

מדוע זה נראה לנו רחב מדי: התיעוד הרשמי של Google ל-Google Pay API for Web קובע שהתמיכה כוללת ‏Chrome, Firefox, Safari, Edge, Opera ו-UC Browser, ‏across desktop and mobile platforms (‏https://developers.google.com/pay/api/web/guides/setup). כלומר Google עצמה אינה מגבילה ל-Chrome ואינה מגבילה למערכת הפעלה מסוימת. בנוסף, הקוד שלכם ממילא קורא ל-isReadyToPay() מיד לאחר מכן — וזו הבדיקה שבה Google מודיעה אם הדפדפן והחשבון של המשתמש אכן יכולים לשלם. הבדיקה המוקדמת של סוג הדפדפן ומערכת ההפעלה מונעת מהבדיקה האמיתית לרוץ.

הבקשה: האם ניתן להסיר או להרחיב את התנאי isGooglePayAllowed, ולהסתמך על תוצאת isReadyToPay() בלבד — כפי שממליצה Google? אם המגבלה נובעת מבעיה ידועה בדפדפן מסוים, נשמח להבין באילו צירופים מדובר, כדי שנוכל להסתיר את האפשרות מראש רק בהם.

למה זה משמעותי עבורנו: אנחנו מסתירים את כפתור Google Pay מלקוחות שדף התשלום שלכם יסרב להם, כדי שלא יגיעו למסך שגיאה באמצע תשלום. בפועל המשמעות היא שכל משתמשי Samsung Internet, Edge ו-Firefox — ובנוסף כל משתמשי המחשב ב-macOS וב-Linux — אינם מקבלים כלל אפשרות לשלם ב-Google Pay. זהו נתח משמעותי מהתנועה, במיוחד בסלולר בישראל, שבו Samsung Internet הוא דפדפן ברירת המחדל בחלק ניכר ממכשירי אנדרואיד.

נשמח לתשובה, ואם יש מסלול לעדכון — לדעת מהו לוח הזמנים המשוער.