مرجع العميل

تتضمّن 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 API

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 كسلسلة بتنسيق 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.