مرجع مشتری

مستندات com.google.android.gms.wallet شامل مستندات کامل برای کتابخانه در نسخه‌های مختلف Google Pay API است. در زیر خلاصه‌ای از اشیاء و روش‌هایی که بیشترین کاربرد را در جدیدترین نسخه Google Pay API دارند، آورده شده است: نسخه ۲.۰

کیف پول

یک PaymentsClient برای محیط آزمایشی یا عملیاتی ایجاد کنید.

مثال

mPaymentsClient = Wallet.getPaymentsClient(
  this,
  new Wallet.WalletOptions.Builder()
      .setEnvironment(WalletConstants.ENVIRONMENT_TEST)
      .build()
);

پرداخت‌هامشتری

یک کلاینت برای تعامل با APIهای گوگل پی.

آماده پرداخت (درخواست آماده پرداخت)

از متد isReadyToPay(IsReadyToPayRequest) برای تعیین توانایی کاربر در بازگرداندن یک نوع پرداخت از API گوگل پی استفاده کنید.

اگر دستگاه از Google Pay پشتیبانی کند و کاربر قبلاً روش پرداختی را ذخیره کرده باشد یا بتواند آن را اضافه کند، IsReadyToPay true را برمی‌گرداند. برای تعیین اینکه آیا کاربر قبلاً روش پرداختی را در Google Pay ذخیره کرده است یا خیر، IsReadyToPayRequest.existingPaymentMethodRequired را روی true تنظیم کنید.

بارگذاری داده‌های پرداخت (درخواست داده‌های پرداخت)

یک برگه پرداخت Google Pay ارائه دهید که امکان انتخاب روش پرداخت و پارامترهای پیکربندی‌شده اختیاری را فراهم می‌کند.

درخواست آماده پرداخت

یک شیء جاوا به نام IsReadyToPayRequest بسازید که برای استفاده با PaymentsClient.isReadyToPay() مناسب باشد.

از Json(java.lang.String)

یک شیء جاوا از نوع IsReadyToPayRequest از یک رشته با فرمت JSON ایجاد کنید. برای ساختار مورد انتظار رشته با فرمت JSON ارائه شده، به مرجع شیء IsReadyToPayRequest مراجعه کنید.

درخواست داده‌های پرداخت

یک شیء جاوا PaymentDataRequest مناسب برای استفاده با PaymentsClient.loadPaymentData بسازید.

از Json(java.lang.String)

یک شیء جاوای PaymentDataRequest از یک رشته با فرمت JSON ایجاد کنید. برای ساختار مورد انتظار رشته با فرمت JSON ارائه شده، به مرجع شیء PaymentDataRequest مراجعه کنید.

داده‌های پرداخت

یک پاسخ با فرمت JSON از API گوگل پی را برای استفاده در برنامه خود مدیریت کنید.

به جیسون()

یک پاسخ API گوگل پی را به صورت رشته‌ای با فرمت JSON خروجی می‌دهد. برای اطلاعات بیشتر در مورد ساختار شیء JSON به مرجع شیء PaymentData مراجعه کنید.

دکمه پرداخت

مقداردهی اولیه از درجه اعتبار ساقط عمومی(گزینه‌های دکمه)

از روش راحتی برای مقداردهی اولیه دکمه پرداخت Google Pay که با جدیدترین برند Google Pay طراحی شده است، استفاده می‌شود.

استدلال‌ها

نام توضیحات
buttonOptions شیء‌ای که دکمه پرداخت گوگل پی را پیکربندی می‌کند. برای ویژگی‌های قابل پیکربندی به 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.VISIBLE دکمه پرداخت را روی حالت قابل مشاهده (پیش‌فرض) تنظیم می‌کند.

View.GONE دکمه را از کاربران پنهان می‌کند.

مثال:

payButton.setVisibility(View.VISIBLE);

public void setOnClickListener( شنونده View.OnClickListener )

این متد زمانی فراخوانی می‌شود که کاربر روی دکمه پرداخت گوگل پی کلیک کند.

استدلال‌ها

نام توضیحات
listener یک تابع فراخوانی شنونده رویداد (event listener) که هنگام ارسال یک رویداد کلیک به دکمه پرداخت گوگل پی (Google Pay) فراخوانی می‌شود.

سرویس تماس‌های برگشتی داده‌ی پرداخت پایه

کلاس سرویس پایه که میزبان فراخوانی‌های داده‌های پرداخت آغاز شده توسط سرویس‌های Google Play در جریان PaymentsClient.loadPaymentData(PaymentDataRequest) است.

این سرویس را در برنامه خود گسترش دهید و آن را در AndroidManifest.xml خود با مجوز com.google.android.gms.permission.BIND_PAYMENTS_CALLBACK_SERVICE و یک فیلتر intent برای com.google.android.gms.wallet.callback.PAYMENT_DATA_CALLBACKS تعریف کنید.

تابع ()createPaymentDataCallbacks

یک پیاده‌سازی از BasePaymentDataCallbacks را برای مدیریت رویدادهای callback ورودی برمی‌گرداند. در هر رویداد callback یک بار فراخوانی می‌شود.

فراخوانی‌های پایه پرداخت داده‌ها

کلاس پایه انتزاعی شامل کنترل‌کننده‌های فراخوانی داده‌های پرداخت که توسط فروشنده برای پشتیبانی از به‌روزرسانی‌های پویای قیمت و مجوز پرداخت پیاده‌سازی شده‌اند.

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)
}

داده‌های پرداخت میانی

داده‌های فراخوانی میانی ارسال شده به BasePaymentDataCallbacks.onPaymentDataChanged را مدیریت می‌کند.

به جیسون()

داده‌های درخواست فراخوانی را به صورت یک رشته با فرمت JSON خروجی می‌دهد. برای اطلاعات بیشتر در مورد ساختار شیء JSON به مرجع شیء IntermediatePaymentData مراجعه کنید.

تابع ()getLastSavedState

Bundle حاوی حالتی که در طول تکرار فراخوانی قبلی ذخیره شده است را برمی‌گرداند.

به‌روزرسانی درخواست پرداخت

یک شیء جاوا به نام PaymentDataRequestUpdate بسازید تا مقدار BasePaymentDataCallbacks.onPaymentDataChanged را برگرداند.

از Json(java.lang.String)

یک شیء جاوای PaymentDataRequestUpdate از یک رشته با فرمت JSON ایجاد کنید. برای ساختار مورد انتظار رشته با فرمت JSON ارائه شده، به مرجع شیء PaymentDataRequestUpdate مراجعه کنید.

با وضعیت ذخیره‌شده‌ی به‌روز شده (بسته)

یک Bundle وضعیت به‌روزرسانی‌شده را ضمیمه می‌کند تا بین فراخوانی‌های فراخوانی برگشتی باقی بماند.

نتیجه مجوز پرداخت

یک شیء جاوا به PaymentAuthorizationResult بسازید تا مقدار BasePaymentDataCallbacks.onPaymentAuthorized را برگرداند.

از Json(java.lang.String)

یک شیء جاوا با نام PaymentAuthorizationResult از یک رشته با فرمت JSON ایجاد کنید. برای ساختار مورد انتظار رشته با فرمت JSON ارائه شده، به مرجع شیء پاسخ PaymentAuthorizationResult مراجعه کنید.