Method: associateAccount

משייך את חשבון הלקוח למעבד התשלומים לאמצעי התשלום של 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": boolean,
  "googlePaymentToken": string,
  "associationId": string,

  // Union field account_verification can be only one of the following:
  "authenticationRequestId": string,
  "otpVerification": {
    object (OtpVerification)
  }
  // End of list of possible types for union field account_verification.
}
שדות
requestHeader

object (RequestHeader)

חובה: כותרת משותפת לכל הבקשות.

provideUserInformation

boolean

חובה: True אם אנחנו רוצים שהשותף יספק את הכתובת המשויכת לחשבון הזה.

googlePaymentToken

string

חובה: האסימון שישמש את Google לביצוע רכישות אצל החברה לעיבוד תשלומים.

האורך המקסימלי של המחרוזת הוא 100 תווים.

associationId

string

חובה: המזהה של השיוך הזה. המזהה הזה נוצר על ידי Google והוא נשלח בתהליך האימות מחדש כדי לזהות איזה חשבון צריך לאמת.

האורך המקסימלי של המחרוזת הוא 100 תווים.

שדה איחוד account_verification.

הערך של account_verification יכול להיות רק אחת מהאפשרויות הבאות:

authenticationRequestId

string

אופציונלי: requestId מבקשת האימות שקדמה לקריאה הזו. המזהה הזה נוצר על ידי Google במהלך תהליך האימות. האפשרות הזו מוצגת רק אם המשתמש עבר אימות אפליקציות ל-Android, אימות אינטרנט או שיטת אימות אסינכרונית שמשתמשת ב-authenticationResultNotification.

otpVerification

object (OtpVerification)

אופציונלי: הנתונים הנדרשים לאימות OTP שנוצר מ-sendOtp. השדה הזה מוצג רק אם המשתמש עבר את הנתיב sendOtp.

גוף התגובה

אובייקט תשובה של שיטת החשבון המשויך.

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכלול נתונים במבנה הבא:

ייצוג JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorAssociateAccountId": string,
  "tokenExpirationTime": string,
  "accountId": string,
  "userMessage": string,
  "userInformation": {
    object (UserInformation)
  },
  "result": enum (AssociateAccountResultCode),

  // Union field account_names can be only one of the following:
  "accountNickname": string,
  "fullAccountNickname": string
  // End of list of possible types for union field account_names.
}
שדות
responseHeader

object (ResponseHeader)

חובה: כותרת נפוצה לכל התשובות.

paymentIntegratorAssociateAccountId

string

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

tokenExpirationTime

string (int64 format)

אופציונלי: אלפיות השנייה מאז תחילת התקופה שבה יפוג תוקף האסימון. יש להשתמש ב-0 כדי לסמן שהתוקף של האסימון לא פג.

accountId

string

חובה: מספר החשבון של המשתמש אצל מבצע השילוב. המידע הזה עוזר ל-Google להבין את אופן השימוש החוזר בחשבון ואת הקשרים בין החשבונות, ואת סוכני התפעול של הלקוחות של Google כדי לעזור ללקוחות לאבחן בעיות. המזהה צריך להיות מזוהה על ידי המשתמש (לדוגמה, המשתמש יודע את המזהה הזה כי הוא מופיע בדף החשבון שלו או מופיע באתר לאחר שהוא מתחבר לחשבון).

אי אפשר לשנות את הערך הזה בכל משך החיים של החשבון.

userMessage
(deprecated)

string

הוצא משימוש: תיאור של התוצאה שיוצג למשתמש אם התוצאה אינה SUCCESS.

userInformation

object (UserInformation)

חובה: פרטי משתמש שהשילוב יודע וישתף עם Google לגבי הלקוח. משמש למידע על סיכונים ולאכלוס מראש של כתובות.

result

enum (AssociateAccountResultCode)

חובה: התוצאה של השיוך הזה.

שדה איחוד account_names.

הערך של account_names יכול להיות רק אחת מהאפשרויות הבאות:

accountNickname

string

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

הערך הזה יוצג בממשקי משתמש כמו תהליך הרכישה כדי לאפשר למשתמש להבחין בין אמצעי התשלום.

fullAccountNickname

string

אופציונלי: מחרוזת שלפיה המשתמש מכיר את החשבון הזה למטרות תצוגה. בניגוד ל-accountNickname, זהו הכינוי המלא של החשבון. לדוגמה 56565-56501 עבור מספר טלפון, או sally@sample-email.com לזהות כתובת אימייל.

הערך הזה יוצג בממשקי משתמש כמו תהליך הרכישה כדי לאפשר למשתמש להבחין בין אמצעי התשלום.

UserInformation

המבנה שמכיל מידע על המשתמש.

ייצוג JSON
{
  "name": string,
  "addressLine": [
    string
  ],
  "localityName": string,
  "administrativeAreaName": string,
  "postalCodeNumber": string,
  "countryCode": string,
  "phone": string,
  "emailAddress": string
}
שדות
name

string

אופציונלי: השם המלא של הלקוח.

addressLine[]

string

אופציונלי: שדה זה כולל טקסט כתובת לא מובנה.

localityName

string

אופציונלי: זהו מונח מעורפל, אך בדרך כלל הוא מתייחס לחלק של העיר או היישוב בכתובת. באזורים בעולם שבהם הרשויות המוניציפאליות לא מוגדרות היטב או שאינם מתאימים היטב למבנה זה (לדוגמה, יפן וסין), יש להשאיר את השדה localityName ריק ולהשתמש ב-addressLine.

דוגמאות: עיר בארה"ב, קומוניית IT, עיר דואר בבריטניה.

administrativeAreaName

string

אופציונלי: חלוקת משנה מנהלית ברמה העליונה של המדינה הזו. דוגמאות: מדינה בארה"ב, אזור IT, מחוז CN, מחוז יפן."

postalCodeNumber

string

אופציונלי: למרות השם, בדרך כלל הערכים של postCodeNumber הם אלפאנומריים. דוגמאות: 94043, SW1W, SW1W 9TQ.

countryCode

string

אופציונלי: קוד המדינה של כתובת הלקוח, הצפוי להיות ISO-3166-1 Alpha-2.

phone

string

אופציונלי: מספר הטלפון של הלקוח.

emailAddress

string

אופציונלי: כתובת אימייל של הלקוח.

AssociateAccountResultCode

קודים של תוצאות לחשבון משויך.

טיפוסים בני מנייה (enums)
UNKNOWN_RESULT אל תגדיר את ערך ברירת המחדל הזה אף פעם!
SUCCESS השיוך בוצע בהצלחה.
USER_AUTHENTICATION_FAILED למרות שהחבילה לאימות החשבון הוחזרה, אימות המשתמש נכשל.
NOT_ELIGIBLE החשבון של המשתמש לא זכאי לשירות הזה.
OTP_NOT_MATCHED הסיסמה החד-פעמית (OTP) לא תאמה למה השילוב שלח.
OTP_ALREADY_USED כבר נעשה שימוש ב-OTP.
OTP_LIMIT_REACHED המשתמש ביקש או ניסה לאמת יותר מדי סיסמאות חד-פעמיות.
OTP_EXPIRED פג התוקף של OTP.