עדכון ההתנהגות של אירועי CanMakePayment ב-Payment Handler API

ה-API של Payment Handler מאפשר לספקי תשלומים להפוך את חוויית התשלום בהתאמה אישית לזמינה למוכרים, וגם ל-Payment Request API. כאשר ה-Payment Request API מופעל דרך הבנאי new PaymentRequest(), הוא מפעיל באופן שקט אירוע canmakepayment עם מקור המוכר ונתונים שרירותיים אל קובץ שירות (service worker) שרשום ב-Payment Handler API. בתקשורת הזו בין מקורות לא נדרשת תנועת משתמש, ולא מוצג בה ממשק משתמש.

Chrome עומד להסיר את השדות המזהים מאירוע canmakepayment ולהתחיל את גרסת המקור לניסיון מ-Chrome 108.

המידע בדף הזה רלוונטי רק לספקים של אפליקציות תשלומים שמשתמשים ב-Payment Handler API. אם אתם לא משתמשים בה, אתם יכולים לדלג על ההוראות האלה.

מה משתנה?

כשמוכר מתקשר אל new PaymentRequest(), קובץ שירות (service worker) רשום מקבל אירוע canmakepayment (CanMakePaymentEvent) שמכיל את הפרטים הבאים:

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

הם יוסרו וה-Service Worker פשוט יקבל את האירוע canmakepayment ללא מידע נוסף.

זיהוי תכונות

כדי לזהות אם האירוע canmakepayment השתנה בקוד של קובץ השירות (service worker), צריך לבדוק את המאפיינים הרלוונטיים כך:

self.addEventListener(e => {
  if (e.paymentRequestOrigin) {...}
  if (e.topOrigin) {...}
  if (e.methodData && e.methodData.length > 0) {...}
  if (e.modifiers && e.modifiers.length > 0) {...}
  ...
});

כדאי לנסות את השינוי באופן מקומי

כדי להפעיל את השינוי באופן מקומי למטרות פיתוח:

  1. יש להשתמש ב-Chrome בגרסאות 108, 109 או 110.
  2. מזינים chrome://flags/#clear-identity-in-can-make-payment בסרגל של כתובות ה-URL.
  3. הפעלת הדגל.
  4. מפעילים מחדש את Chrome.

הפעלת הדגל, תגרום לריקון שדות הזהות באירוע canmakepayment (וגם ה-Intent ב-IS_READY_TO_PAY של Android).

הפעלת השינוי בסביבת הייצור

אפשר גם להפעיל את השינוי בסביבת הייצור למטרות בדיקה, לפני שהוא מגיע ל-Chrome בפועל. המנגנון הזה נקרא גרסת מקור לניסיון.

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

כדי לרשום גרסת מקור לניסיון:

  1. מבקשים אסימון למקור.
  2. מוסיפים את האסימון לקובץ ה-JavaScript של ה-Service Worker באמצעות כותרת HTTP של Origin-Trial. להגדרת כותרות HTTP נדרשת גישה להגדרת השרת. כותרת התגובה שתתקבל אמורה להיראות כך:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

על מנת לראות את האסימון של גרסת המקור לניסיון בקובץ ה-Service Worker, צריך להשתמש ב-DevTools או בפקודה curl, באופן הבא:

$ curl --head <Service Worker JS file URL> | grep -i origin-trial
origin-trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

הפעלה מחדש של שדות הזהות באופן מקומי אחרי Chrome 111

אם אתם משתמשים ב-Chrome בגרסה 111 ואילך, שדות הזהות באירוע canmakepayment יישארו ריקים. כדי להפעיל מחדש את השדות באופן מקומי:

  1. השתמשו ב-Chrome מגרסה 111 ואילך.
  2. מזינים chrome://flags/#add-identity-in-can-make-payment בסרגל של כתובות ה-URL.
  3. הפעלת הדגל.
  4. מפעילים מחדש את Chrome.

השלבים הבאים

אנחנו מתכננים להפעיל את השינוי הזה כברירת מחדל ב-Chrome 111. אפשר להתחיל לבדוק כבר היום כדי להתכונן לשינוי לקראת ההשקה.