ربط حساب العميل بالجهة المسؤولة عن معالجة المعاملات بأداة 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 |
اختياري: البيانات اللازمة للتحقّق من كلمة المرور لمرة واحدة التي تم إنشاؤها من |
نص الاستجابة
عنصر الاستجابة لطريقة الحساب المرتبطة
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
تمثيل JSON |
---|
{ "responseHeader": { object ( |
الحقول | |
---|---|
responseHeader |
مطلوب: عنوان مشترك لجميع الردود. |
paymentIntegratorAssociateAccountId |
مطلوب: هذا المعرّف خاص بالشركة المدمَجة ويتمّ إنشاؤه بواسطة الشركة المدمَجة. يتم استخدامه لأغراض تصحيح الأخطاء فقط من أجل تحديد هذا الاستدعاء. هو المعرّف الذي تعرف شركة الدمج هذه المكالمة من خلاله. |
tokenExpirationTime |
اختياري: بالملي ثانية منذ تاريخ انتهاء صلاحية الرمز المميّز استخدِم |
accountId |
مطلوب: رقم تعريف الحساب لدى المستخدم مع شركة الدمج. تُستخدَم هذه الخطوة لتحديد المخاطر التي تهدّد Google عند إعادة استخدام الحسابات والعلاقات مع الحسابات الأخرى وموظّفي دعم عمليات العملاء في Google لمساعدة العملاء في تشخيص المشاكل. يجب أن يتمكّن المستخدم من التعرّف على هذا المعرّف (على سبيل المثال، يعرف المستخدم هذا المعرّف لأنّه يظهر في كشف الحساب أو يظهر على الموقع الإلكتروني بعد تسجيل الدخول إلى الحساب). ويجب أن تكون هذه القيمة غير قابلة للتغيير طوال عمر الحساب. |
userMessage |
تم إيقافها: وصف النتيجة التي سيتم عرضها للمستخدم إذا لم تكن النتيجة |
userInformation |
مطلوبة: معلومات المستخدم التي تعرفها شركة الدمج وتشاركها مع Google حول هذا العميل يتم استخدامه لمعلومات المخاطرة ومعالجة التعبئة التلقائية. |
result |
مطلوب: نتيجة عملية الربط هذه. |
حقل الاتحاد يمكن أن يكون |
|
accountNickname |
OPTIONAL: سلسلة يعرف المستخدم من خلالها هذا الحساب لأغراض العرض. هذه لاحقة من لقب الحساب. على سبيل المثال، الأرقام الأربعة الأخيرة من رقم الهاتف. ستشير Google في واجهة المستخدم إلى أنّ هذه ليست سوى لاحقة من اللقب. وسيتمّ عرض هذه القيمة في واجهات المستخدم، مثل مسار الشراء، ليتمكّن المستخدم من التفريق بين طرق الدفع المختلفة. |
fullAccountNickname |
OPTIONAL: سلسلة يعرف المستخدم من خلالها هذا الحساب لأغراض العرض. على عكس وسيتمّ عرض هذه القيمة في واجهات المستخدم، مثل مسار الشراء، ليتمكّن المستخدم من التفريق بين طرق الدفع المختلفة. |
UserInformation
هيكل يحتوي على معلومات حول مستخدم.
تمثيل JSON |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string, "phone": string, "emailAddress": string } |
الحقول | |
---|---|
name |
اختياري: الاسم الكامل للعميل |
addressLine[] |
OPTIONAL: يحتوي على نص العنوان غير المنظَّم. |
localityName |
اختياري: يستخدم هذا المصطلح مصطلحًا غامضًا، ولكنه يشير بشكل عام إلى جزء من المدينة أو البلدة من العنوان. في مناطق العالم التي يكون فيها المناطق المحلية غير محددة بشكل جيد أو لا تتناسب مع هذه البنية بشكل جيد (على سبيل المثال، اليابان والصين)، اترك LocalName فارغًا واستخدم addressLine. أمثلة: مدينة في الولايات المتحدة، بلدية تكنولوجيا المعلومات، بلدة بريد المملكة المتحدة. |
administrativeAreaName |
OPTIONAL: تقسيم فرعي إداري من المستوى الأعلى لهذا البلد" أمثلة: ولاية أمريكية، ومنطقة تكنولوجيا المعلومات، ومقاطعة CN، ومحافظة اليابان". |
postalCodeNumber |
OPTIONAL: على الرغم من الاسم، إنّ قيم mailCodeNumber غالبًا ما تكون أبجدية رقمية. أمثلة: "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_ALREADY_USED |
سبق أن تم استخدام كلمة المرور لمرة واحدة (OTP). |
OTP_LIMIT_REACHED |
طلب المستخدم أو حاول التحقّق من عدد كبير جدًا من كلمات المرور لمرة واحدة (OTP). |
OTP_EXPIRED |
انتهت صلاحية كلمة المرور لمرة واحدة. |