Referință client

Documentația com.google.android.gms.wallet conține documentația completă a bibliotecii pentru mai multe versiuni ale API-ului Google Pay. Mai jos este un rezumat al obiectelor și metodelor cele mai aplicabile celei mai recente versiuni a API-ului Google Pay: versiunea 2.0

Portofel

Generați un PaymentsClient pentru un mediu de testare sau de producție.

Exemplu

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

ClientPlăți

Un client pentru interacțiunea cu API-urile Google Pay.

esteGataDePlată(CerereEsteGataDePlată)

Folosește metoda isReadyToPay(IsReadyToPayRequest) pentru a determina capacitatea unui utilizator de a returna o formă de plată din API-ul Google Pay.

Dacă dispozitivul este compatibil cu Google Pay și utilizatorul fie a salvat deja o metodă de plată, fie poate adăuga una, IsReadyToPay returnează true . Pentru a determina dacă utilizatorul a salvat deja o metodă de plată în Google Pay, setați IsReadyToPayRequest.existingPaymentMethodRequired la true .

loadPaymentData(CerereDataPayment)

Prezentați o foaie de plată Google Pay care permite selectarea unei metode de plată și configurarea opțională a parametrilor.

Cerere GataDePlată

Construiți un obiect Java IsReadyToPayRequest potrivit pentru utilizare cu PaymentsClient.isReadyToPay() .

din Json(java.lang.String)

Creați un obiect Java IsReadyToPayRequest dintr-un șir formatat JSON. Consultați referința obiectului IsReadyToPayRequest pentru structura așteptată a șirului formatat JSON furnizat.

Cerere de date de plată

Construiți un obiect Java PaymentDataRequest potrivit pentru utilizare cu PaymentsClient.loadPaymentData .

din Json(java.lang.String)

Creați un obiect Java PaymentDataRequest dintr-un șir formatat JSON. Consultați referința obiectului PaymentDataRequest pentru structura așteptată a șirului formatat JSON furnizat.

Date de plată

Gestionați un răspuns în format JSON al API-ului Google Pay pentru utilizare în aplicația dvs.

cătreJson()

Returnează un răspuns Google Pay API ca șir de caractere în format JSON. Consultați referința obiectului PaymentData pentru mai multe informații despre structura obiectului JSON.

Buton de plată

public void inițializează(ButonOpțiune butonOpțiuni)

Metoda de confort este utilizată pentru a inițializa un buton de plată Google Pay cu cel mai recent design de branding Google Pay.

Argumente

Nume Descriere
buttonOptions Un obiect care configurează butonul de plată Google Pay. Consultați ButtonOptions pentru proprietăți configurabile.

Exemplu: Inițializați butonul de plată cu configurații personalizate:

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( Vizualizare vizualizare)

Metoda de comoditate setează vizibilitatea butonului de plată.

Argumente

Nume Descriere
View

View.VISIBLE setează butonul de plată la vizibil (implicit).

View.GONE ascunde butonul de la utilizatori.

Exemplu:

payButton.setVisibility(View.VISIBLE);

public void setOnClickListener( View.OnClickListener ascultător)

Metoda este apelată atunci când utilizatorul dă clic pe butonul de plată Google Pay.

Argumente

Nume Descriere
listener O funcție de apel invers pentru ascultarea de evenimente, care trebuie apelată atunci când un eveniment de clic este livrat butonului de plată Google Pay.

Serviciu de apeluri inverse pentru date de plată de bază

Clasa de servicii de bază care găzduiește apelurile inverse pentru datele de plată inițiate de serviciile Google Play într-un flux PaymentsClient.loadPaymentData(PaymentDataRequest) .

Extindeți acest serviciu în aplicația dvs. și declarați-l în fișierul AndroidManifest.xml cu permisiunea com.google.android.gms.permission.BIND_PAYMENTS_CALLBACK_SERVICE și un filtru de intenție pentru com.google.android.gms.wallet.callback.PAYMENT_DATA_CALLBACKS .

createPaymentDataCallbacks()

Returnează o implementare a funcției BasePaymentDataCallbacks pentru a gestiona evenimentele de apel invers primite. Apelată o dată per eveniment de apel invers.

Reacții de apel pentru datele de plată de bază

Clasă de bază abstractă care conține rutinele de gestionare a apelurilor inverse pentru datele de plată implementate de comerciant pentru a suporta actualizările dinamice ale prețurilor și autorizarea plății.

onPaymentDataChanged(intermediatePaymentData, onCompleteListener)

Această metodă gestionează modificările datelor de plată din foaia de plată, cum ar fi adresa de livrare și opțiunile de livrare.

Argumente

Nume Tip Descriere
intermediatePaymentData IntermediatePaymentData Un obiect care conține adresa și opțiunea de livrare selectate în foaia de plată. Pentru detalii, consultați IntermediatePaymentData .
onCompleteListener OnCompleteListener<PaymentDataRequestUpdate> Un listener pentru a rezolva erorile cu informațiile actualizate despre tranzacție, opțiunile de livrare și datele de plată. Transmiteți o instanță PaymentDataRequestUpdate către complete() .

Exemplu

override fun onPaymentDataChanged(
    intermediatePaymentData: IntermediatePaymentData,
    onCompleteListener: OnCompleteListener<PaymentDataRequestUpdate>
) {
    val paymentDataRequestUpdateJson = handlePaymentDataChanged(intermediatePaymentData.toJson())
    val update = PaymentDataRequestUpdate.fromJson(paymentDataRequestUpdateJson.toString())
    onCompleteListener.complete(update)
}

onPaymentAutorized(paymentData, onCompleteListener)

Această metodă este apelată atunci când o plată este autorizată în foaia de plată.

Argumente

Nume Tip Descriere
paymentData PaymentData Un obiect care conține datele solicitate despre cumpărător. Pentru detalii, consultați PaymentData .
onCompleteListener OnCompleteListener<PaymentAuthorizationResult> Un ascultător care să rezolve rezultatul autorizării. Transmiteți o instanță PaymentAuthorizationResult către complete() .

Exemplu

override fun onPaymentAuthorized(
    paymentData: PaymentData,
    onCompleteListener: OnCompleteListener<PaymentAuthorizationResult>
) {
    val paymentAuthorizationResultJson = handlePaymentAuthorized(paymentData.toJson())
    val result = PaymentAuthorizationResult.fromJson(paymentAuthorizationResultJson.toString())
    onCompleteListener.complete(result)
}

Date de plată intermediară

Gestionează datele de apel invers intermediare transmise către BasePaymentDataCallbacks.onPaymentDataChanged .

cătreJson()

Afișează datele cererii de apel invers ca șir de caractere formatat JSON. Consultați referința obiectului IntermediatePaymentData pentru mai multe informații despre structura obiectului JSON.

obțineUltimaStareSalvată()

Returnează Bundle care conține starea salvată în timpul iterației anterioare de apel invers.

Actualizare Cerere Date Plată

Construiți un obiect Java PaymentDataRequestUpdate care să fie returnat în BasePaymentDataCallbacks.onPaymentDataChanged .

din Json(java.lang.String)

Creați un obiect Java PaymentDataRequestUpdate dintr-un șir formatat JSON. Consultați referința obiectului PaymentDataRequestUpdate pentru structura așteptată a șirului formatat JSON furnizat.

cuStareSalvatăActualizată(Pachet)

Atașează un Bundle de stare actualizat pentru a persista între invocările de apel invers.

Rezultatul autorizării plății

Construiți un obiect Java PaymentAuthorizationResult care să fie returnat în BasePaymentDataCallbacks.onPaymentAuthorized .

din Json(java.lang.String)

Creați un obiect Java PaymentAuthorizationResult dintr-un șir formatat JSON. Consultați referința obiectului de răspuns PaymentAuthorizationResult pentru structura așteptată a șirului formatat JSON furnizat.