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 ריק ולהשתמש בשורת הכתובת.

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

administrativeAreaName

string

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

postalCodeNumber

string

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

countryCode

string

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

phone

string

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

emailAddress

string

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

AssociateAccountResultCode

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

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