تحتوي مستندات com.google.android.gms.wallet documentation على مستندات كاملة للمكتبة في إصدارات متعدّدة من Google Pay API. في ما يلي ملخّص للكائنات والطرق الأكثر ملاءمة لأحدث إصدار من Google Pay API: الإصدار 2.0
محفظة Google
يمكنك إنشاء PaymentsClient لبيئة اختبار أو بيئة التشغيل الفعلي.
مثال
mPaymentsClient = Wallet.getPaymentsClient( this, new Wallet.WalletOptions.Builder() .setEnvironment(WalletConstants.ENVIRONMENT_TEST) .build() );
PaymentsClient
هو عميل للتفاعل مع Google Pay APIs.
isReadyToPay(IsReadyToPayRequest)
استخدِم طريقة isReadyToPay(IsReadyToPayRequest) لتحديد قدرة المستخدم على
إرجاع طريقة دفع من Google Pay API.
إذا كان الجهاز متوافقًا مع Google Pay، وكان المستخدم قد حفظ طريقة دفع أو كان بإمكانه إضافة طريقة دفع، IsReadyToPay تعرض القيمة true. لتحديد ما إذا كان المستخدم
قد حفظ طريقة دفع في Google Pay، اضبط
IsReadyToPayRequest.existingPaymentMethodRequired
على true.
loadPaymentData(PaymentDataRequest)
يمكنك عرض ورقة دفع Google Pay التي تتيح اختيار طريقة دفع ومعلّمات تم ضبطها اختياريًا.
IsReadyToPayRequest
يمكنك إنشاء كائن Java من IsReadyToPayRequest مناسب للاستخدام مع PaymentsClient.isReadyToPay().
fromJson(java.lang.String)
يمكنك إنشاء كائن Java من IsReadyToPayRequest من سلسلة بتنسيق JSON. راجِع مرجع كائن
IsReadyToPayRequest
للاطّلاع على البنية المتوقّعة للسلسلة المقدَّمة بتنسيق JSON.
PaymentDataRequest
يمكنك إنشاء كائن Java من PaymentDataRequest مناسب للاستخدام مع PaymentsClient.loadPaymentData.
fromJson(java.lang.String)
يمكنك إنشاء كائن Java من PaymentDataRequest من سلسلة بتنسيق JSON. راجِع
مرجع كائن PaymentDataRequest
للاطّلاع على البنية المتوقّعة للسلسلة المقدَّمة بتنسيق JSON.
PaymentData
يمكنك معالجة استجابة بتنسيق JSON من Google Pay API لاستخدامها في تطبيقك.
toJson()
يمكنك عرض استجابة من Google Pay API كسلسلة بتنسيق JSON. راجِع مرجع كائن PaymentData لمزيد من المعلومات حول بنية كائن JSON.
PayButton
public void initialize(ButtonOption buttonOptions)
تُستخدَم هذه الطريقة المريحة لتهيئة زر دفع Google Pay مصمَّم باستخدام أحدث علامة تجارية لـ Google Pay.
الوسيطات
| الاسم | الوصف |
|---|---|
buttonOptions |
كائن يضبط زر دفع Google Pay راجِع ButtonOptions للاطّلاع على الخصائص القابلة للضبط. |
مثال: تهيئة زر الدفع باستخدام إعدادات مخصّصة:
PayButton googlePayPaymentButton = layoutBinding.googlePayPaymentButton; JSONArray paymentMethods = new JSONArray().put(getBaseCardPaymentMethod()); googlePayPaymentButton.initialize( ButtonOptions.newBuilder() .setButtonTheme(ButtonConstants.ButtonTheme.DARK) .setButtonType(ButtonConstants.ButtonType.BUY) .setCornerRadius(100) .setAllowedPaymentMethods(paymentMethods.toString()) .build() );
public void setVisibility(View view)
تضبط هذه الطريقة المريحة مستوى ظهور زر الدفع.
الوسيطات
| الاسم | الوصف |
|---|---|
View |
|
مثال:
payButton.setVisibility(View.VISIBLE);
public void setOnClickListener(View.OnClickListener listener)
يتم استدعاء هذه الطريقة عندما ينقر المستخدم على زر دفع Google Pay.
الوسيطات
| الاسم | الوصف |
|---|---|
listener |
متتبِّع أحداث معاودة الاتصال لاستدعائه عندما يتم تسليم حدث ناتج عن النقر إلى زر دفع Google Pay |
BasePaymentDataCallbacksService
هو فئة خدمة أساسية تستضيف عمليات معاودة الاتصال ببيانات الدفع التي تبدأها "خدمات Google Play"
ضمن مسار PaymentsClient.loadPaymentData(PaymentDataRequest).
يمكنك توسيع هذه الخدمة في تطبيقك والإعلان عنها في AndroidManifest.xml باستخدام الإذن com.google.android.gms.permission.BIND_PAYMENTS_CALLBACK_SERVICE وفلتر الأهداف لـ com.google.android.gms.wallet.callback.PAYMENT_DATA_CALLBACKS.
createPaymentDataCallbacks()
تعرض هذه الطريقة عملية تنفيذ BasePaymentDataCallbacks
لمعالجة أحداث معاودة الاتصال الواردة. ويتم استدعاؤها مرة واحدة لكل حدث معاودة اتصال.
BasePaymentDataCallbacks
هي صنف أساسي مجرّد يحتوي على برامج معالجة معاودة الاتصال ببيانات الدفع التي ينفّذها التاجر لدعم تعديلات الأسعار الديناميكية وإذن الدفع.
onPaymentDataChanged(intermediatePaymentData, onCompleteListener)
تعالج هذه الطريقة تغييرات بيانات الدفع في ورقة الدفع، مثل عنوان الشحن و خيارات الشحن.
الوسيطات
| الاسم | النوع | الوصف |
|---|---|---|
intermediatePaymentData |
IntermediatePaymentData |
كائن يحتوي على العنوان وخيار الشحن المحدّدين في
ورقة الدفع للحصول على التفاصيل،
راجِع IntermediatePaymentData. |
onCompleteListener |
OnCompleteListener<PaymentDataRequestUpdate> |
برنامج معالجة لحلّ المشكلة باستخدام معلومات المعاملة وخيارات الشحن وأخطاء بيانات الدفع المعدَّلة مرِّر مثيلاً من
PaymentDataRequestUpdate إلى complete(). |
مثال
override fun onPaymentDataChanged( intermediatePaymentData: IntermediatePaymentData, onCompleteListener: OnCompleteListener<PaymentDataRequestUpdate> ) { val paymentDataRequestUpdateJson = handlePaymentDataChanged(intermediatePaymentData.toJson()) val update = PaymentDataRequestUpdate.fromJson(paymentDataRequestUpdateJson.toString()) onCompleteListener.complete(update) }
onPaymentAuthorized(paymentData, onCompleteListener)
يتم استدعاء هذه الطريقة عندما يتم إذن الدفع في ورقة الدفع.
الوسيطات
| الاسم | النوع | الوصف |
|---|---|---|
paymentData |
PaymentData |
كائن يحتوي على بيانات المتسوّق المطلوبة للحصول على التفاصيل،
راجِع PaymentData. |
onCompleteListener |
OnCompleteListener<PaymentAuthorizationResult> |
برنامج معالجة لحلّ المشكلة باستخدام نتيجة الإذن مرِّر مثيلاً من
PaymentAuthorizationResult إلى complete(). |
مثال
override fun onPaymentAuthorized( paymentData: PaymentData, onCompleteListener: OnCompleteListener<PaymentAuthorizationResult> ) { val paymentAuthorizationResultJson = handlePaymentAuthorized(paymentData.toJson()) val result = PaymentAuthorizationResult.fromJson(paymentAuthorizationResultJson.toString()) onCompleteListener.complete(result) }
IntermediatePaymentData
يمكنك معالجة بيانات معاودة الاتصال الوسيطة التي يتم تمريرها إلى BasePaymentDataCallbacks.onPaymentDataChanged.
toJson()
تعرض هذه الطريقة بيانات طلب معاودة الاتصال كسلسلة بتنسيق JSON. راجِع مرجع كائن IntermediatePaymentData لمزيد من المعلومات حول بنية كائن JSON.
getLastSavedState()
تعرض هذه الطريقة Bundle الذي يحتوي على الحالة التي تم حفظها أثناء تكرار معاودة الاتصال السابق.
PaymentDataRequestUpdate
يمكنك إنشاء كائن Java من PaymentDataRequestUpdate لعرضه في
BasePaymentDataCallbacks.onPaymentDataChanged.
fromJson(java.lang.String)
يمكنك إنشاء كائن Java من PaymentDataRequestUpdate من سلسلة بتنسيق JSON. راجِع مرجع كائن
PaymentDataRequestUpdate
للاطّلاع على البنية المتوقّعة للسلسلة المقدَّمة بتنسيق JSON.
withUpdatedSavedState(Bundle)
يمكنك إرفاق Bundle حالة معدَّلة لتستمر بين عمليات استدعاء معاودة الاتصال.
PaymentAuthorizationResult
يمكنك إنشاء كائن Java من PaymentAuthorizationResult لعرضه في
BasePaymentDataCallbacks.onPaymentAuthorized.
fromJson(java.lang.String)
يمكنك إنشاء كائن Java من PaymentAuthorizationResult من سلسلة بتنسيق JSON. راجِع
مرجع كائن استجابة PaymentAuthorizationResult
للاطّلاع على البنية المتوقّعة للسلسلة المقدَّمة بتنسيق JSON.