ربط حساب العميل بالجهة المسؤولة عن معالجة المعاملات بوسيلة 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 |
اختياري: |
otpVerification |
اختياري: البيانات اللازمة لإثبات صحة كلمة المرور لمرة واحدة (OTP) التي تم إنشاؤها من |
نص الاستجابة
كائن استجابة لطريقة الحساب المرتبط.
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
تمثيل JSON |
---|
{ "responseHeader": { object ( |
الحقول | |
---|---|
responseHeader |
مطلوب: عنوان مشترك لجميع الردود. |
paymentIntegratorAssociateAccountId |
مطلوب: هذا المعرّف مخصّص لشركة الدمج ويتم إنشاؤه من خلال شركة الدمج. ويتم استخدامه لأغراض تصحيح الأخطاء فقط لتحديد هذا الطلب. تمثّل هذه السمة المعرّف الذي تستخدمه المسؤول عن عملية الدمج هذه للمكالمة. |
tokenExpirationTime |
اختياري: مللي ثانية منذ انتهاء صلاحية الرمز المميّز. استخدِم |
accountId |
مطلوب: رقم تعريف الحساب لدى المستخدم لدى شركة الدمج. وتُستخدَم هذه البيانات لمساعدة العملاء في فهم أسباب إعادة استخدام الحسابات وعلاقاتها بحسابات العملاء ووكلاء عمليات العملاء في 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 |
اختياري: يُعدّ هذا اسمًا غير واضح، ولكنه يشير بشكل عام إلى جزء المدينة/البلدة من العنوان. في مناطق العالم التي لم يتم تعريف المناطق المحلية فيها بشكل جيد أو لا تتناسب مع هذا الهيكل جيدًا (مثل اليابان والصين)، اترك localName فارغًا واستخدم addressLine. أمثلة: مدينة في الولايات المتحدة، بلدية تكنولوجيا المعلومات، مدينة البريد في المملكة المتحدة. |
administrativeAreaName |
اختياري: قسم فرعي إداري عالي المستوى في هذا البلد" أمثلة: ولاية أمريكية أو منطقة تكنولوجيا المعلومات أو مقاطعة كولومبيا أو محافظة اليابان". |
postalCodeNumber |
اختياري: على الرغم من الاسم، غالبًا ما تكون قيم الرمز البريدي أحرف أبجدية رقمية. أمثلة: "94043"، "SW1W"، "SW1W 9TQ". |
countryCode |
اختياري: رمز بلد عنوان العميل، ومن المتوقّع أن يكون ISO-3166-1 Alpha-2. |
phone |
اختياري: رقم هاتف العميل. |
emailAddress |
اختياري: عنوان البريد الإلكتروني للعميل. |
AssociateAccountResultCode
رموز النتائج للحساب المرتبط.
عمليات التعداد | |
---|---|
UNKNOWN_RESULT |
لا تضبط هذه القيمة التلقائية مطلقًا. |
SUCCESS |
تم الربط بنجاح. |
USER_AUTHENTICATION_FAILED |
على الرغم من عرض حزمة مصادقة الحساب، تعذّرت مصادقة المستخدم. |
NOT_ELIGIBLE |
حساب المستخدم غير مؤهَّل لهذه الخدمة. |
OTP_NOT_MATCHED |
لم تتطابق كلمة المرور لمرة واحدة (OTP) مع تلك التي أرسلتها شركة الدمج. |
OTP_ALREADY_USED |
سبق أن تم استخدام كلمة المرور لمرة واحدة (OTP). |
OTP_LIMIT_REACHED |
طلب المستخدم أو حاول التحقق من كلمات المرور لمرة واحدة (OTP) أكثر من اللازم. |
OTP_EXPIRED |
انتهت صلاحية كلمة المرور لمرة واحدة (OTP). |