עדכון ההתנהגות של אירועי 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.

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

מה משתנה?

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

  • 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 בסרגל הכתובות.
  3. מפעילים את הדגל.
  4. מפעילים מחדש את Chrome.

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

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

אפשר גם להפעיל את השינוי בסביבת הייצור למטרות בדיקה לפני שהוא מגיע ל-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 בסרגל הכתובות.
  3. מפעילים את הדגל.
  4. מפעילים מחדש את Chrome.

השלבים הבאים

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