حساب مشتری را با پردازشگر پرداخت به ابزار 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 | الزامی است : اگر بخواهیم یکپارچهکننده آدرس مرتبط با این حساب را ارائه دهد، درست است. |
googlePaymentToken | الزامی : رمزی که Google برای شروع خرید با پردازشگر پرداخت استفاده می کند. این رشته ای است که حداکثر طول آن 100 کاراکتر است. |
associationId | الزامی : شناسه این انجمن. این شناسه توسط Google ایجاد میشود و در جریانهای احراز هویت مجدد ارسال میشود تا مشخص شود کدام حساب باید احراز هویت شود. این رشته ای است که حداکثر طول آن 100 کاراکتر است. |
فیلد اتحادیه | |
authenticationRequestId | OPTIONAL : |
otpVerification | اختیاری : داده های لازم برای تأیید یک OTP تولید شده از |
بدن پاسخگو
شی پاسخ برای روش حساب وابسته.
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:
نمایندگی JSON |
---|
{ "responseHeader": { object ( |
زمینه های | |
---|---|
responseHeader | مورد نیاز : هدر مشترک برای همه پاسخ ها. |
paymentIntegratorAssociateAccountId | REQUIRED : این شناسه مخصوص یکپارچه ساز است و توسط یکپارچه ساز تولید می شود. فقط برای اهداف اشکال زدایی به منظور شناسایی این تماس استفاده می شود. این شناسه ای است که ادغام کننده این تماس را با آن می شناسد. |
tokenExpirationTime | اختیاری : میلیثانیه از دورانی که توکن منقضی میشود. از |
accountId | مورد نیاز : شناسه حساب کاربری که کاربر با ادغام کننده دارد. این برای ریسک Google برای درک استفاده مجدد از حساب و روابط حساب و عوامل عملیات مشتری Google برای کمک به مشتریان در تشخیص مشکلات استفاده می شود. این شناسه باید قابل تشخیص توسط کاربر باشد (مثلاً کاربر این شناسه را می داند زیرا در بیانیه خود ظاهر می شود یا پس از ورود به حساب کاربری در وب سایت ظاهر می شود). این مقدار باید برای طول عمر حساب تغییرناپذیر باشد. |
userMessage | منسوخ شده : شرحی از نتیجه که در صورت عدم |
userInformation | مورد نیاز : اطلاعات کاربری که ادغامکننده میداند و درباره این مشتری با Google به اشتراک میگذارد. برای اطلاعات ریسک و پیش جمعیت آدرس استفاده می شود. |
result | الزامی : نتیجه این انجمن. |
| |
accountNickname | اختیاری : رشته ای که توسط آن کاربر این حساب را برای اهداف نمایش می شناسد. این پسوند نام مستعار حساب کاربری است. به عنوان مثال چهار رقم آخر یک شماره تلفن. گوگل در رابط کاربری نشان می دهد که این فقط پسوند نام مستعار است. این مقدار در رابطهای کاربری مانند جریان خرید نمایش داده میشود تا به کاربر امکان تشخیص روشهای پرداخت را بدهد. |
fullAccountNickname | اختیاری : رشته ای که توسط آن کاربر این حساب را برای اهداف نمایش می شناسد. برخلاف این مقدار در رابطهای کاربری مانند جریان خرید نمایش داده میشود تا به کاربر امکان تشخیص روشهای پرداخت را بدهد. |
اطلاعات کاربر
ساختاری که اطلاعات مربوط به یک کاربر را نگه می دارد.
نمایندگی JSON |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string, "phone": string, "emailAddress": string } |
زمینه های | |
---|---|
name | اختیاری : نام کامل مشتری. |
addressLine[] | اختیاری : این متن آدرس بدون ساختار را نگه می دارد. |
localityName | اختیاری : این یک اصطلاح مبهم است، اما به طور کلی به بخش شهر/شهر یک آدرس اشاره دارد. در مناطقی از جهان که محلات به خوبی تعریف نشده اند یا به خوبی با این ساختار مطابقت ندارند (مثلاً ژاپن و چین)، localityName را خالی بگذارید و از addressLine استفاده کنید. مثال: شهر ایالات متحده، کمون فناوری اطلاعات، شهر پست بریتانیا. |
administrativeAreaName | اختیاری : زیرمجموعه اداری سطح بالای این کشور" مثالها: ایالت ایالات متحده، منطقه فناوری اطلاعات، استان CN، استان JP." |
postalCodeNumber | اختیاری : با وجود نام، مقادیر postalCodeNumber اغلب حروف عددی هستند. مثالها: "94043"، "SW1W"، "SW1W 9TQ". |
countryCode | اختیاری : کد کشور آدرس مشتری، انتظار می رود ISO-3166-1 Alpha-2 باشد. |
phone | اختیاری : شماره تلفن مشتری. |
emailAddress | اختیاری : آدرس ایمیل مشتری. |
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 منقضی شده است. |