مرجع العميل

تحتوي مستندات 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

View.VISIBLE يضبط زر الدفع على مرئي (تلقائي).

View.GONE يخفي الزر عن المستخدمين.

مثال:

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.