การอ้างอิงไคลเอ็นต์

เอกสารประกอบของ com.google.android.gms.wallet documentation มีเอกสารประกอบฉบับเต็มสำหรับไลบรารีใน Google Pay API หลายเวอร์ชัน ด้านล่างนี้คือข้อมูลสรุปของออบเจ็กต์และเมธอดที่เกี่ยวข้องมากที่สุดกับ Google Pay API เวอร์ชันล่าสุด: ซึ่งก็คือเวอร์ชัน 2.0

Wallet

สร้าง 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 ดูโครงสร้างที่คาดไว้ของสตริงในรูปแบบ JSON ที่ระบุได้ที่ ข้อมูลอ้างอิงออบเจ็กต์ IsReadyToPayRequest

PaymentDataRequest

สร้างออบเจ็กต์ Java PaymentDataRequest ที่เหมาะสำหรับการใช้กับ PaymentsClient.loadPaymentData

fromJson(java.lang.String)

สร้างออบเจ็กต์ Java PaymentDataRequest จากสตริงในรูปแบบ JSON ดูโครงสร้างที่คาดไว้ของสตริงในรูปแบบ JSON ที่ระบุได้ที่ ข้อมูลอ้างอิงออบเจ็กต์ PaymentDataRequest

PaymentData

จัดการการตอบสนองในรูปแบบ JSON ของ Google Pay API เพื่อใช้ในแอป

toJson()

แสดงผลการตอบสนองของ Google Pay API เป็นสตริงในรูปแบบ JSON ดูข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างของออบเจ็กต์ JSON ได้ที่ ข้อมูลอ้างอิงออบเจ็กต์ PaymentData

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 Callback ของ Listener เหตุการณ์ที่จะเรียกเมื่อมีการส่งกิจกรรมการคลิกไปยังปุ่มการชำระเงินของ Google Pay

BasePaymentDataCallbacksService

คลาสบริการพื้นฐานซึ่งโฮสต์การเรียกกลับของข้อมูลการชำระเงินที่เริ่มต้นโดยบริการ 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 เพื่อจัดการเหตุการณ์การเรียกกลับที่เข้ามา เรียก 1 ครั้งต่อเหตุการณ์การเรียกกลับ

BasePaymentDataCallbacks

คลาสพื้นฐานแบบแอบสแตรกต์ที่มีตัวจัดการการเรียกกลับของข้อมูลการชำระเงินซึ่งผู้ขายใช้งานเพื่อรองรับการอัปเดตราคาแบบไดนามิกและการให้สิทธิ์การชำระเงิน

onPaymentDataChanged(intermediatePaymentData, onCompleteListener)

เมธอดนี้จัดการการเปลี่ยนแปลงข้อมูลการชำระเงินในชีตการชำระเงิน เช่น ที่อยู่สำหรับจัดส่งและ ตัวเลือกการจัดส่ง

อาร์กิวเมนต์

ชื่อ ประเภท คำอธิบาย
intermediatePaymentData IntermediatePaymentData ออบเจ็กต์ที่มีที่อยู่ที่เลือกและตัวเลือกการจัดส่งใน ชีตการชำระเงิน ดูรายละเอียดได้ที่ IntermediatePaymentData
onCompleteListener OnCompleteListener<PaymentDataRequestUpdate> Listener สำหรับแก้ไขด้วยข้อมูลธุรกรรม ตัวเลือกการจัดส่ง และข้อผิดพลาดของข้อมูลการชำระเงินที่อัปเดตแล้ว ส่งอินสแตนซ์ 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> Listener สำหรับแก้ไขด้วยผลการให้สิทธิ์ ส่งอินสแตนซ์ 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 ดูข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างของออบเจ็กต์ JSON ได้ที่ ข้อมูลอ้างอิงออบเจ็กต์ IntermediatePaymentData

getLastSavedState()

แสดงผล Bundle ที่มีสถานะที่บันทึกไว้ระหว่างการวนซ้ำการเรียกกลับครั้งก่อน

PaymentDataRequestUpdate

สร้างออบเจ็กต์ Java PaymentDataRequestUpdate เพื่อแสดงผลใน BasePaymentDataCallbacks.onPaymentDataChanged

fromJson(java.lang.String)

สร้างออบเจ็กต์ Java PaymentDataRequestUpdate จากสตริงในรูปแบบ JSON ดูโครงสร้างที่คาดไว้ของสตริงในรูปแบบ JSON ที่ระบุได้ที่ข้อมูลอ้างอิงออบเจ็กต์ PaymentDataRequestUpdate

withUpdatedSavedState(Bundle)

แนบ Bundle สถานะที่อัปเดตแล้วเพื่อคงอยู่ระหว่างการเรียกใช้การเรียกกลับ

PaymentAuthorizationResult

สร้างออบเจ็กต์ Java PaymentAuthorizationResult เพื่อแสดงผลใน BasePaymentDataCallbacks.onPaymentAuthorized

fromJson(java.lang.String)

สร้างออบเจ็กต์ Java PaymentAuthorizationResult จากสตริงในรูปแบบ JSON ดูโครงสร้างที่คาดไว้ของสตริงในรูปแบบ JSON ที่ระบุได้ที่ข้อมูลอ้างอิงออบเจ็กต์การตอบสนอง PaymentAuthorizationResult