משייך את חשבון הלקוח למעבד התשלומים לאמצעי התשלום של Google שמוסיף.
שיוך החשבון מתרחש אחרי שהמטמיע מבצע אימות של המשתמש. השיוך מתבצע באמצעות קריאה משרת לשרת שמכילה את requestId
עבור תהליך האימות המשויך (authenticationRequestId
), associationId
ו-googlePaymentToken
(GPT). ספק שירותי התשלומים צריך לשייך את associationId
ואת googlePaymentToken
לחשבון של הלקוח לצורך אימות. ה-GPT משמש לביצוע תשלומים. השדה associationId
משמש במהלך קריאות לאימות מחדש לצורך זיהוי החשבון לצורך אימות.
אם Google שולחת associationId
או googlePaymentToken
שמבצע השילוב כבר ראה במהלך שיוך אחר, היא תקפיץ הודעת שגיאה.
אם נקודת הקצה נתקלה בשגיאה במהלך עיבוד הבקשה, גוף התגובה מנקודת הקצה הזו צריך להיות מסוג
.ErrorResponse
בקשה לדוגמה נראית כך:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "cmVxdWVzdDE",
"requestTimestamp": "1481899949606"
},
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ__",
"authenticationRequestId": "bnAxdWTydDX==",
"associationId": "LmddbXBsZSByZWZlcmVuY2UgdG9rZW4gdmFsdWU_",
"provideUserInformation": true
}
תגובה לדוגמה נראית כך:
{
"responseHeader": {
"responseTimestamp": "1481899949611"
},
"paymentIntegratorAssociateAccountId": "xx77df88934hfd",
"accountId": "1234-5678-91",
"accountNickname": "***-91",
"tokenExpirationTime": "0",
"userInformation": {
"name": "Example Customer",
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"result": "SUCCESS"
}
בקשת HTTP
POST https://www.integratorhost.example.com/v1/associateAccount
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
ייצוג JSON |
---|
{ "requestHeader": { object ( |
שדות | |
---|---|
requestHeader |
חובה: כותרת משותפת לכל הבקשות. |
provideUserInformation |
חובה: True אם אנחנו רוצים שהמטמיע יספק את הכתובת שמשויכת לחשבון הזה. |
googlePaymentToken |
חובה: האסימון שבו Google תשתמש כדי לבצע רכישות אצל החברה לעיבוד תשלומים. האורך המקסימלי של המחרוזת הוא 100 תווים. |
associationId |
חובה: המזהה של השיוך הזה. המזהה הזה נוצר על ידי Google ונשלח במהלך תהליכי האימות מחדש כדי לזהות איזה חשבון צריך לאמת. האורך המקסימלי של המחרוזת הוא 100 תווים. |
שדה איחוד
|
|
authenticationRequestId |
אופציונלי: |
otpVerification |
אופציונלי: נתונים שדרושים לאימות OTP שנוצר מ- |
גוף התשובה
אובייקט תשובה עבור שיטת החשבון המשויך.
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל נתונים במבנה הבא:
ייצוג JSON |
---|
{ "responseHeader": { object ( |
שדות | |
---|---|
responseHeader |
חובה: כותרת משותפת לכל התשובות. |
paymentIntegratorAssociateAccountId |
חובה: המזהה הזה הוא ספציפי לכלי השילוב, והוא נוצר על ידי מבצע השילוב. הוא משמש למטרות ניפוי באגים בלבד כדי לזהות את הקריאה הזו. זהו המזהה שבאמצעותו מבצע השילוב יודע את הקריאה הזו. |
tokenExpirationTime |
אופציונלי: אלפיות שנייה מתחילת התקופה שבה תוקף האסימון פג. אפשר להשתמש ב- |
accountId |
חובה: מספר החשבון שיש למשתמש אצל מבצע השילוב. המידע הזה משמש לניהול הסיכון של Google כדי להבין את השימוש החוזר בחשבון ואת הקשרים עם נציגי התפעול של הלקוחות של Google, כדי לעזור ללקוחות לאבחן בעיות. המזהה הזה צריך להיות גלוי למשתמשים (לדוגמה, המזהה הזה ידוע למשתמש כי הוא מופיע בדף הפירוט או מופיע באתר אחרי ההתחברות לחשבון). הערך הזה חייב להיות בלתי ניתן לשינוי כל משך החיים של החשבון. |
userMessage |
הוצא משימוש: תיאור של התוצאה שתוצג למשתמש אם התוצאה היא לא |
userInformation |
חובה: פרטי המשתמש שהמטמיע מכיר וישתף עם Google לגבי הלקוח הזה. משמש לקבלת מידע על סיכונים ולטיפול בפרטים מאוכלסים מראש. |
result |
חובה: התוצאה של השיוך הזה. |
שדה איחוד
|
|
accountNickname |
אופציונלי: המחרוזת שבאמצעותה המשתמש מכיר את החשבון הזה למטרות תצוגה. זוהי סיומת של הכינוי של החשבון. לדוגמה, ארבע הספרות האחרונות של מספר טלפון. Google תציין בממשק המשתמש שזו רק סיומת של הכינוי. הערך הזה יוצג בממשקי משתמש כמו תהליך הרכישה, כדי לאפשר למשתמש להבחין בין אמצעי התשלום. |
fullAccountNickname |
אופציונלי: המחרוזת שבאמצעותה המשתמש מכיר את החשבון הזה למטרות תצוגה. בניגוד ל- הערך הזה יוצג בממשקי משתמש כמו תהליך הרכישה, כדי לאפשר למשתמש להבחין בין אמצעי התשלום. |
UserInformation
מבנה שמכיל מידע על משתמש.
ייצוג JSON |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string, "phone": string, "emailAddress": string } |
שדות | |
---|---|
name |
אופציונלי: השם המלא של הלקוח. |
addressLine[] |
אופציונלי: מכילה טקסט כתובת לא מובנה. |
localityName |
אופציונלי: זהו מונח מעורפל, אך הוא מתייחס באופן כללי לחלק של העיר/העיירה בכתובת. באזורים בעולם שבהם הרשויות המוניציפאליות לא מוגדרות היטב או שלא מתאימות למבנה הזה (לדוגמה, יפן וסין), יש להשאיר את השדה LocalityName ריק ולהשתמש בשורת הכתובת. דוגמאות: עיר בארה"ב, קהילת IT, עיר דואר בבריטניה. |
administrativeAreaName |
אופציונלי: חלוקת משנה מנהלית ברמה העליונה של המדינה הזו" דוגמאות: מדינה בארה"ב, אזור IT, מחוז CN, מחוז יפן." |
postalCodeNumber |
אופציונלי: למרות השם, בדרך כלל הערכים שלPostalCodeNumber מכילים אותיות וספרות. דוגמאות: '94043', 'SW1W', 'SW1W 9TQ'. |
countryCode |
אופציונלי: קוד המדינה של כתובת הלקוח, צריך להיות בפורמט ISO-3166-1 Alpha-2. |
phone |
אופציונלי: מספר הטלפון של הלקוח. |
emailAddress |
אופציונלי: כתובת האימייל של הלקוח. |
AssociateAccountResultCode
קודי התוצאות של חשבון משויך.
טיפוסים בני מנייה (enum) | |
---|---|
UNKNOWN_RESULT |
אל תגדירו את ערך ברירת המחדל הזה אף פעם! |
SUCCESS |
השיוך בוצע בהצלחה. |
USER_AUTHENTICATION_FAILED |
למרות שחבילת אימות החשבון הוחזרה, אימות המשתמש נכשל. |
NOT_ELIGIBLE |
החשבון של המשתמש לא עומד בדרישות לשימוש בשירות הזה. |
OTP_NOT_MATCHED |
הסיסמה החד-פעמית (OTP) לא תואמת למה שנשלח על ידי מבצע השילוב. |
OTP_ALREADY_USED |
כבר נעשה שימוש ב-OTP. |
OTP_LIMIT_REACHED |
המשתמש ביקש או ניסה לאמת יותר מדי סיסמאות חד-פעמיות. |
OTP_EXPIRED |
פג התוקף של OTP. |