يمكن أن تتم عملية إضافة الرصيد في ثلاث بيئات مختلفة:
- تطبيق Android لجهة تكامل الدفعات
- الموقع الإلكتروني للأجهزة الجوّالة لجهة تكامل الدفع
- الموقع الإلكتروني المتوافق مع أجهزة الكمبيوتر المكتبي لجهة تكامل الدفعات
وبغضّ النظر عن مسار العملية، تسلِّم Google تفاعل المستخدم إلى قسم "الدفع". شركة التكامل. شركة تكامل عمليات الدفع تضع واجهة مستخدم تبدو مألوفة للمستخدم، ولكن يجب أن يكون التدفق مخصصًا خصيصًا لإضافة رصيد المستخدم، أي يجب توجيه المستخدم خلال عملية إضافة رصيد بدلاً من إدراجها في واجهة مستخدم للأغراض العامة حيث يُتوقع منك الانتقال أكثر إلى تدفق رصيد.
وتنتج جميع التدفقات لدى شركة الدمج TopUpRedirectResponse. تم توقيع هذا الردّ وإرساله. إلى Google.
يجب أن تتبع مواقع الويب المتوافقة مع الأجهزة الجوّالة وأجهزة الكمبيوتر المكتبية مواصفات Web Top Up API بينما يجب أن يتّبع سير تطبيق Android مواصفات واجهة برمجة التطبيقات Android Top Up API.
على جهات الدمج تنفيذ حل حزمة APK لنظام التشغيل Android لمصادقة المستخدم. ثم توجيههم من خلال تدفق حيث يمكنهم إضافة رصيد. هذا النمط إلا أنه يتم استخدام طريقة مختلفة، ولكن الغرض نفسه كعملية إضافة الرصيد الـ إضافة رصيد على الويب
يدخل أحد المستخدمين المسار في تطبيق تكامل الدفع من خلال نشاط Android: يمكن استدعاء هدف إضافة الرصيد مباشرةً من تطبيق Play الذي يكون المستخدم فيه التي تنوي إجراء عملية شراء فيها. لمنع Android من إنهاء Play في خلفيته أثناء إكمال عملية الدمج، يجب على مسؤول الدمج تضمين ما يلي في موضوع النشاط.
<item name="android:windowIsTranslucent">true</item>
تعريف الطريقة
يجب أن تتوفّر السمات التالية في الغرض:
خصائص الطريقة | |
---|---|
الإجراء |
com.google.android.payments.standard.TOPUP_V1 |
الفئة | android.intent.category.DEFAULT |
الطلب
الحقول | |
---|---|
gspTopUpRequest
|
TopUpRedirectRequest
طلب إضافة رصيد |
gspAssociationId
|
string
تحتوي على معرّف تستخدمه جهة الدمج للبحث عن بيانات الاعتماد للحساب الذي يضيفه المستخدم. هذا هو رقم تعريف الربط التي يتم إرسالها أثناء ربط الحسابات في AffiliateAccountRequest. |
الرد
بعد أن يكمل المستخدم تدفق الرصيد، يحتاج تطبيقك إلى إرسال نية الشراء إلى Google. إذا نجحت عمليات إضافة الرصيد، فأنشئ هدفًا إضافة gspTopUpResponse وredirectRequestId كعناصر إضافية بترميز مشفّر. بعد ذلك، اضبط النشاط إلى رمز النتيجة المناسب.
...
result.setExtra("gspTopUpResponse", gspTopUpResponse);
result.setExtra("redirectRequestId", redirectRequestId);
setResult(Activity.RESULT_OK, result);
...
finish();
النتيجة
الحقول | |||||||
---|---|---|---|---|---|---|---|
نتيجة |
int
|
المحتوى الإضافي
الحقول | |
---|---|
gspTopUpResponse |
TopUpRedirectResponse
مطلوب: ردّ إضافة رصيد. ويجب ألا تتجاوز هذه القيمة المرمّزة 1 كيلوبايت. |
redirectRequestId |
string مطلوبة: مبلغ requestId المُرسَل في طلب الدفع الأصلي/بدء إعادة التوجيه. ستتحقّق Google من تطابق الحقل "requestId " الذي تم إرساله، وسيتعذّر إتمام عملية إعادة التوجيه الكاملة في حال عدم التطابق.
|
متطلبات النشاط الأخرى
يجب أن يكون النشاط الذي يتوافق مع إجراء TOPUP_V1
المذكور أعلاه
عليك أيضًا التحقّق من أنّ المتصلين بواجهة برمجة التطبيقات لا يأتون إلا من التطبيقات الموقَّعة من Google.
سيساعد هذا في منع التطبيقات الأخرى من محاولة استدعاء نشاطك
واسترداد بيانات المستخدم. ويمكن إجراء ذلك باستخدام
StandardPaymentUtils.verifyCallingActivityIsGoogleSigned
بعد الحدث مباشرةً
super.onCreate
ضمن
النشاط
التنفيذ.
في ما يلي عينة:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StandardPaymentsUtils.verifyCallingActivityIsGoogleSigned(this);
....
}
يجب أن توفر جميع الأنشطة التي تم استدعاؤها خلال عملية إضافة الرصيد نشاطًا
مظهر يحتوي على windowIsTranslucent=true
. يجب أن يتم ذلك باستخدام
سمة AndroidManifest android:theme ولا تستخدم Context.setTheme()
.
برمجيًا، لا يعمل تعيين المظهر بشكل صحيح للنافذة
وشفافية. ستفرض Google أنّ النشاط الأول الذي يتم إطلاقه يتبع هذا الإجراء.
غير أن أي أنشطة فرعية يتم إطلاقها يجب أن تتبع أيضًا
النمط. إذا لم يتم إجراء ذلك، قد لا تنجح عمليات الشراء التي يجريها مطوّرو البرامج التابعون لجهات خارجية.