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

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

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

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

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

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

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

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

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

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

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

الطلب

الحقول
gspAuthenticationRequest AuthenticationRequest

طلب المصادقة

gspAssociationId string

تتضمّن هذه العلامة، في حال توفّرها، معرّفًا تستخدمه شركة عملية الدمج للاطّلاع على هذه البيانات. بيانات الاعتماد للمستخدم الذي يواجه إعاقة. إذا لم يكن هذا موجودًا، يتوفّر للمستخدم خيار تغيير تعريف الحساب.

الرد

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

...
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 أنّ النشاط الأول الذي يتم إطلاقه يتبع هذا الإجراء. غير أن أي أنشطة فرعية يتم إطلاقها يجب أن تتبع أيضًا النمط. إذا لم يتم إجراء ذلك، قد لا تنجح عمليات الشراء التي يجريها مطوّرو البرامج التابعون لجهات خارجية.