واجهة برمجة تطبيقات مصادقة حزمة تطبيقات Android

يمكن أن تتم المصادقة في ثلاث بيئات مختلفة:

  • تطبيق Android الخاص بشركة تكامل الدفع
  • الموقع الإلكتروني المتوافق مع الأجهزة الجوّالة لشركة تكامل الدفع
  • الموقع الإلكتروني المتوافق مع أجهزة الكمبيوتر المكتبي لشركة تكامل الدفع

وبغض النظر عن المسار، تُسلِّم Google تفاعل المستخدم إلى برنامج عملية دمج الدفعات. يمكن لشركة تكامل الدفع اختيار عرض واجهة للمستخدم أو العودة ببساطة على الفور إذا كانت لديها البيانات المناسبة. تؤدي جميع العمليات إلى أن توفّر عملية الدمج استجابة للمصادقة. تم التوقيع على هذا الرد وإرساله إلى Google.

يجب أن تتّبع المواقع الإلكترونية المتوافقة مع الأجهزة الجوّالة وأجهزة الكمبيوتر المكتبي مواصفات واجهة برمجة التطبيقات WebRedirect API ، بينما يجب أن يتّبع مسار تطبيق Android مواصفات واجهة برمجة تطبيقات المصادقة Android.

على الشركات المتعهّدة تنفيذ حل APK لنظام التشغيل Android لمصادقة المستخدمين. وتُعدّ هذه المصادقة طريقة مختلفة، ولكنها تمثل الغرض نفسه من المصادقة المُقدَّمة من خلال مصادقة الويب.

يقوم المستخدم بالمصادقة مع الجهة المسؤولة عن دمج عمليات الدفع من خلال نشاط Android. يتم استدعاء الغرض من المصادقة أثناء ربط الحساب ولتحديات المستخدم. لمنع Android من إنهاء العمل في الخلفية أثناء المصادقة، على الشركة التي تُجري عملية الدمج تضمين ما يلي في موضوع النشاط.

<item name="android:windowIsTranslucent">true</item>

تعريف الطريقة

يجب أن يتضمن الغرض السمات التالية:

خصائص الطريقة
الإجراء com.google.android.payments.standard.AUTHENTICATE_V1
الفئة android.intent.category.DEFAULT

الطلب

الحقول
gspAuthenticationRequest AuthenticationRequest

طلب مصادقة.

gspAssociationId string

وعند توفّر هذه السمة، تحتوي على معرّف تستخدمه جهة الدمج للبحث عن بيانات الاعتماد الخاصة بالمستخدم المطلوب إجراء عملية الدمج. في حال عدم توفّر هذه السمة، يمكن للمستخدم تغيير تعريف الحساب.

الإجابة

بعد أن يُكمل المستخدم المصادقة، يحتاج تطبيقك إلى إرسال نتيجة النتيجة إلى Google. إذا نجحت المصادقة، أنشئ هدفًا وأضِف رمز gspAuthResponse المشفّر كإجراء إضافي. بعد ذلك، اضبط نتيجة النشاط على رمز النتيجة المناسب.

...
result.setExtra("gspAuthenticationResponse", gspAuthenticationResponse);
setResult(Activity.RESULT_OK, result);
...
finish();

النتيجة

الحقول
نتيجة int

Activity.RESULT_OK
تمت المصادقة بنجاح.
Activity.RESULT_CANCELED ألغى المستخدم المسار يدويًا ويجب إلغاء هذا التدفق.
Activity.RESULT_FIRST_USER تعذّرت المصادقة لسبب خطير ويجب إلغاء التدفق. عرض خادم IE استجابة HTTP 500 عند تسجيل الدخول.

محتوى إضافي

الحقول
gspAuthenticationResponse AuthenticationResponse

استجابة المصادقة. يجب ألا يتجاوز حجم هذه القيمة المشفرة 1 كيلوبايت.

متطلبات النشاط الأخرى

يجب أيضًا أن يتحقّق النشاط الذي يتوافق مع إجراء AUTHENTICATE_V1 المذكور أعلاه من أنّ مستخدمي واجهة برمجة التطبيقات مصدرهم تطبيقات موقَّعة من Google فقط. سيساعد هذا الإجراء في منع التطبيقات الأخرى من محاولة استدعاء نشاطك واسترداد رموز الهوية. ويمكن إجراء ذلك باستخدام العنصر المُقدَّم StandardPaymentUtils.verifyCallingActivityIsGoogleSigned بعد super.onCreate مباشرةً ضمن عملية تنفيذ النشاط.

في ما يلي عينة:


@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  StandardPaymentsUtils.verifyCallingActivityIsGoogleSigned(this);

  ....
}

يجب أن توفر جميع الأنشطة التي تم استدعاؤها ضمن تدفق authenticate مظهر نشاط يحتوي على windowIsTranslucent=true. ويجب إجراء ذلك باستخدام سمة AndroidManifest android:theme وليس باستخدام Context.setTheme(). وبشكل آلي، لا يعمل ضبط المظهر بشكل صحيح مع شفافية النوافذ. ستفرض Google أن النشاط الأول الذي تم إطلاقه يتبع هذا النمط ولكن أي أنشطة فرعية يتم إطلاقها أيضًا يجب أن تتبع هذا النمط أيضًا. إذا لم يكن الأمر كذلك، قد لا تنجح عمليات الشراء من مطوّرين تابعين لجهات خارجية.