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

الزامی است : اگر بخواهیم یکپارچه‌کننده آدرس مرتبط با این حساب را ارائه دهد، درست است.

googlePaymentToken

string

الزامی : رمزی که Google برای شروع خرید با پردازشگر پرداخت استفاده می کند.

این رشته ای است که حداکثر طول آن 100 کاراکتر است.

associationId

string

الزامی : شناسه این انجمن. این شناسه توسط Google ایجاد می‌شود و در جریان‌های احراز هویت مجدد ارسال می‌شود تا مشخص شود کدام حساب باید احراز هویت شود.

این رشته ای است که حداکثر طول آن 100 کاراکتر است.

فیلد اتحادیه account_verification .

account_verification تنها می تواند یکی از موارد زیر باشد:

authenticationRequestId

string

OPTIONAL : 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

REQUIRED : این شناسه مخصوص یکپارچه ساز است و توسط یکپارچه ساز تولید می شود. فقط برای اهداف اشکال زدایی به منظور شناسایی این تماس استفاده می شود. این شناسه ای است که ادغام کننده این تماس را با آن می شناسد.

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

اختیاری : رشته ای که توسط آن کاربر این حساب را برای اهداف نمایش می شناسد. این پسوند نام مستعار حساب کاربری است. به عنوان مثال چهار رقم آخر یک شماره تلفن. گوگل در رابط کاربری نشان می دهد که این فقط پسوند نام مستعار است.

این مقدار در رابط‌های کاربری مانند جریان خرید نمایش داده می‌شود تا به کاربر امکان تشخیص روش‌های پرداخت را بدهد.

fullAccountNickname

string

اختیاری : رشته ای که توسط آن کاربر این حساب را برای اهداف نمایش می شناسد. برخلاف accountNickname این نام مستعار کامل حساب است. به عنوان مثال 56565-56501 برای شماره تلفن یا sally@sample-email.com برای هویت ایمیل.

این مقدار در رابط‌های کاربری مانند جریان خرید نمایش داده می‌شود تا به کاربر امکان تشخیص روش‌های پرداخت را بدهد.

اطلاعات کاربر

ساختاری که اطلاعات مربوط به یک کاربر را نگه می دارد.

نمایندگی 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 استفاده کنید.

مثال: شهر ایالات متحده، کمون فناوری اطلاعات، شهر پست بریتانیا.

administrativeAreaName

string

اختیاری : زیرمجموعه اداری سطح بالای این کشور" مثال‌ها: ایالت ایالات متحده، منطقه فناوری اطلاعات، استان CN، استان JP."

postalCodeNumber

string

اختیاری : با وجود نام، مقادیر postalCodeNumber اغلب حروف عددی هستند. مثال‌ها: "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 را تأیید کند.
OTP_EXPIRED OTP منقضی شده است.