סקירה כללית
הודעות עתידיות על ניהול מחזור החיים (LCM) של טוקנים נשלחות מ-Google Pay Online API אל tokenUpdateUrl
שצוין בזמן העסקה המקורית. הן נשלחות אם אסימון מושבת או נמחק. הם נשלחים גם על בסיס המאמץ המרבי, עם ניסיונות חוזרים למסירות שנכשלו. דוגמה לתהליך LCM כשמשתמש מסיר כרטיס מ-Google Wallet:
MerchantTokenUpdateNotificationRequest
הודעת HTTP POST מ-Google Pay Online API מכילה גוף JSON שמכיל מטען ייעודי מוצפן. המטען הייעודי מוצפן באמצעות מפתח ההצפנה הציבורי המשותף שלכם, ונחתם באמצעות המפתח הפרטי של Google. אפשר לפענח באמצעות מפתח ההצפנה הפרטי ולאמת באמצעות מפתח החתימה הבסיסי של Google.
הפורמט של העטיפה הזו של מטען ייעודי מוצפן זהה לפורמט שאולי תקבלו בתור PaymentMethodToken. אפשר להשתמש באותה ספרייה כדי לפענח את ההתראה הזו על LCM.
בתוך מטען הייעודי המוצפן, יש אובייקט MerchantTokenUpdateNotificationRequest כפי שמפורט כאן.
| נכס | סוג | הכרחיות | תיאור |
|---|---|---|---|
messageId |
מחרוזת | חובה | מזהה ייחודי של ההתראה הזו, שמשמש להסרת כפילויות מההודעות ולמטרות ניפוי באגים. אם ההתראה הזו לא נמסרת בהצלחה, היא נשארת ללא שינוי בניסיונות חוזרים בעתיד. |
targetNotificationUrl |
מחרוזת | חובה | כתובת ה-URL שאליה ההתראה הזו מתייחסת. עליך לאשר שכתובת ה-URL הזו היא נקודת הקצה שבה אתה רוצה לקבל מ-Google Pay התראות על מחזור החיים של הטוקן. |
timestamp |
מחרוזת | חובה | חותמת הזמן של מועד היצירה המקורי של ההתראה הזו. ההגדרה הזו נשארת קבועה גם אם מנסים שוב בעתיד. אם קיבלתם כמה התראות לאותו מזהה אסימון, רק ההתראה עם חותמת הזמן האחרונה נחשבת מדויקת. |
apiVersion |
int | חובה | הגרסה הראשית של ה-API. |
apiVersionMinor |
int | חובה | גרסה משנית של ה-API. |
merchantTokenId |
מחרוזת | חובה | מזהה הטוקן של המוכר עם עדכון. זה המזהה שמוחזר במקור כשהמשתמש משלים את התהליך של Google Pay לקבלת הרשאה לשימוש בפרטי אמצעי התשלום. זהו שדה במטען הייעודי (payload) המוצפן,
שנשלח באובייקט
Card אובייקט.
|
cardUpdateInfo |
CardUpdateInfo | חובה | מכיל עדכונים לטוקן. |
CardUpdateInfo
| נכס | סוג | הכרחיות | תיאור |
|---|---|---|---|
fpanSuffix |
מחרוזת | משפטי תנאי | תיאור שיעזור למשתמשים לזהות את מספר הכרטיס המקורי (FPAN) הבסיסי. זהו מחרוזת של ארבע ספרות שמכילה את ארבעת התווים האחרונים של ה-FPAN. אם הוא קיים, אפשר להניח שהסטטוס של הטוקן הוא פעיל. הוא לא מופיע אם לא חל שינוי. |
tokenState |
מחרוזת(enum) | משפטי תנאי | המצב החדש של האסימון, אם הוא השתנה מאז העסקה הראשונית או ההודעה הקודמת. הוא לא מופיע אם לא חל שינוי. הערך החוקי הוא |
MerchantTokenUpdateNotificationResponse
קודי תגובה של HTTP
| קוד תגובת HTTP | שימוש |
|---|---|
| 200 | ההתראה מתקבלת. אפשר לספק מידע נוסף על הסטטוס בגוף התגובה כאובייקט JSON, כפי שמתואר בטבלה הבאה. |
| 401 | הערך targetNotificationUrl ב-MerchantTokenUpdateNotificationRequest
לא תקין. אפשר להשבית את כל ההתראות העתידיות לטוקן הזה. |
| 5xx | שגיאת שרת זמנית. צריך לשלוח את ההתראה שוב מאוחר יותר. |
| אחר | שגיאה שלא ניתן לנסות שוב. ההתראה לא אמורה להישלח שוב בשלב מאוחר יותר. |
| נכס | סוג | הכרחיות | תיאור |
|---|---|---|---|
requestMessageId |
מחרוזת | חובה | מזהה ההודעה שנוצר מהבקשה. הערך צריך להיות זהה למזהה ההודעה מהבקשה, אחרת אפשר להתעלם מהתגובה ולהפסיק את ההתראות העתידיות לגבי הטוקן הזה. |
status |
מחרוזת(enum) | חובה | המוֹכר או ספק שירותי התשלום (PSP) יכולים להחזיר סטטוס שמשקף את הקליטה של ההתראה ואת השימוש באסימון. הערכים החוקיים כוללים:
|
דוגמה
התראה על מחזור חיים
בקשת התראה
זוהי בקשת HTTP POST שמכילה את ההתראה על מחזור החיים של הטוקן, שנשלחת מ-Google Pay לנקודת הקצה שלכם. הגוף הוא מטען ייעודי מוצפן.
בקשת HTTP
HTTP POST /token/notification/123 Host: api.merchant.com Content-Type: application/json { "protocolVersion":"ECv2", "signature":"MEQCIH6Q4OwQ0jAceFEkGF0JID6sJNXxOEi4r+mA7biRxqBQAiAondqoUpU/bdsrAOpZIsrHQS9nwiiNwOrr24RyPeHA0Q\u003d\u003d", "intermediateSigningKey":{ "signedKey": "{\"keyExpiration\":\"1542323393147\",\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/1+3HBVSbdv+j7NaArdgMyoSAM43yRydzqdg1TxodSzA96Dj4Mc1EiKroxxunavVIvdxGnJeFViTzFvzFRxyCw\\u003d\\u003d\"}", "signatures": ["MEYCIQCO2EIi48s8VTH+ilMEpoXLFfkxAwHjfPSCVED/QDSHmQIhALLJmrUlNAY8hDQRV/y1iKZGsWpeNmIP+z+tCQHQxP0v"] }, "signedMessage":"{\"tag\":\"jpGz1F1Bcoi/fCNxI9n7Qrsw7i7KHrGtTf3NrRclt+U\\u003d\",\"ephemeralPublicKey\":\"BJatyFvFPPD21l8/uLP46Ta1hsKHndf8Z+tAgk+DEPQgYTkhHy19cF3h/bXs0tWTmZtnNm+vlVrKbRU9K8+7cZs\\u003d\",\"encryptedMessage\":\"mKOoXwi8OavZ\"}" }
Decrypted MerchantTokenUpdateNotificationRequest
{ // MerchantTokenUpdateNotificationRequest "messageId": "ZlxoWhLC3su", "targetNotificationUrl": "https://api.merchant.com/token/notification/123", "timestamp": "2025-03-28T07:53:12.39Z", "apiVersion": 1, "apiVersionMinor": 0, "merchantTokenId": "123", "cardUpdateInfo": { "tokenState": "DISABLED" } }
תגובה להתראה
HTTP 200 OK Content-Type: application/json { // MerchantTokenUpdateNotificationResponse "requestMessageId": "ZlxoWhLC3su", "status": "SUCCESS", }
בדיקה באמצעות נקודת הקצה tokenUpdateUrl
במצב בדיקה, מערכת Google Pay שולחת התראה על מחזור החיים של הטוקן אל tokenUpdateUrl.
כדי להפעיל את התהליך הזה, מבצעים את השלבים הבאים:
- כדי להשלים עסקת בדיקה, קוראים ל-
loadPaymentDataעם אובייקט*TransactionInfoומאכלסים את השדהtokenUpdateUrlעם כתובת ה-URL של נקודת הקצה. - השירות של Google ישלח התראה על מחזור החיים של הטוקן לנקודת הקצה שלכם.
- מוודאים שאפשר לפענח את ההתראה באמצעות המפתח הפרטי. הערה: במצב בדיקה, ההתראה הזו תמיד תשנה את 4 הספרות האחרונות של מספר הכרטיס ל-1234 ותכיל את
"tokenState": "DISABLED", ללא קשר לטוקן שבבקשה.