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

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

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

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

מה משתנה?

כשמוכר מתקשר אל 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 יהיו מתרוקנת (וגם כוונת IS_READY_TO_PAY של Android).

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

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

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

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

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

כדי לראות את אסימון המקור לניסיון בקובץ ה-Service Worker, איך משתמשים בכלי הפיתוח או הפקודה 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.

השלבים הבאים

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