Obiecte de răspuns

Această referință descrie opțiunile obiectului de răspuns Google Pay API pe care le puteți utiliza cu site-ul dvs. web. Obiectele de răspuns sunt obiecte returnate de metodele clientului Google Pay API.

Este gata de platăRăspuns

Acest obiect oferă informații despre capacitatea unui vizitator al site-ului web de a furniza informații de plată site-ului care le solicită.

Proprietate Tip Există întotdeauna Descriere
result boolean Da Vizitatorul actual poate furniza informații de plată site-ului care le solicită. Capacitatea unui vizitator de a plăti poate fi legată de capacitatea browserului său web de a afișa componentele necesare pentru metodele de plată specificate. Aceasta include și momentul în care se conectează la un Cont Google și furnizează o metodă de plată.
paymentMethodPresent boolean Nu

Dacă true , vizitatorul are una sau mai multe metode de plată, așa cum este specificat în proprietatea allowedPaymentMethods a formularului furnizat. Cerere GataDePlată .

Există numai când existingPaymentMethodRequired a fost setat la true în Cerere GataDePlată .

Dacă PaymentsClient este inițializat cu o proprietate environment de TEST , o metodă de plată este întotdeauna considerată prezentă.

Exemplu

Următorul exemplu vă arată când vizitatorul curent poate furniza informații de plată site-ului care le solicită.

{
  "result": true
}

Date de plată

Acesta este un obiect de răspuns returnat de Google după ce un plătitor aprobă plata.

Proprietate Tip Există întotdeauna Descriere
apiVersion număr Da Versiune API majoră. Valoarea din răspuns corespunde cu valoarea furnizată în PaymentDataRequest .
apiVersionMinor număr Da Versiune API minoră. Valoarea din răspuns corespunde cu valoarea furnizată în PaymentDataRequest .
paymentMethodData Date despre metoda de plată Da Date despre metoda de plată selectată.
email şir Nu Adresă de e-mail, dacă emailRequired este setată la true în CerereDatePlăți .Dacă o altă cerere are proprietatea setată la true , nu are niciun efect.
shippingAddress Adresa Nu Adresa de livrare, dacă shippingAddressRequired este setată la true în CerereDatePlăți .

Exemplu

Acest exemplu de răspuns pentru Google Pay API versiunea 2.0 prezintă o metodă de plată CARD selectată în foaia de plată Google Pay. Un token al metodei de plată a fost generat pentru gateway-ul example .

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "paymentMethodData": {
    "type": "CARD",
    "description": "Visa •••• 1234",
    "info": {
      "cardNetwork": "VISA",
      "cardDetails": "1234",
      "cardFundingSource": "CREDIT"
    },
    "tokenizationData": {
      "type": "PAYMENT_GATEWAY",
      "token": "examplePaymentMethodToken"
    }
  }
}

Date de plată intermediară

Acest obiect este returnat de inputul onPaymentDataChanged() din API-ul Google Pay atunci când adresa sau opțiunile de livrare sunt modificate în foaia de plată.

Proprietate Tip Necesitate Descriere
callbackTrigger Şir Opțional

Descrie motivul pentru care a fost invocată apelarea inversă a datelor de plată.

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • OFFER
offerData Datele ofertei Opțional Codul promoțional furnizat de utilizator.
shippingAddress Adresă intermediară Opțional Adresa selectată în foaia de plată.
shippingOptionData SelecțieOpțiuneDate Opțional Opțiunea de livrare selectată în foaia de plată.

Exemplu

Acest exemplu prezintă sarcina utilă intermediară returnată de API-ul Google Pay.

{
  "callbackTrigger": "SHIPPING_ADDRESS",
  "offerData": {
    "redemptionCode": "exampleCode"
  },
  "shippingAddress": {
    "administrativeArea": "NY",
    "countryCode": "US",
    "locality": "New York",
    "postalCode": "10011"
  },
  "shippingOptionData": {
    "id": "shipping-001"
  }
}

Date despre metoda de plată

Acest obiect furnizează date pentru o metodă de plată selectată.

Proprietate Tip Există întotdeauna Descriere
type şir Da PaymentMethod type selectat în foaia de plată Google Pay.
description şir Da

Mesaj orientat către utilizator care descrie metoda de plată ce finanțează această tranzacție.

info obiect Da Valoarea acestei proprietăți depinde de type metodei de plată returnate. Pentru CARD , consultați CardInfo .
tokenizationData Metodă de platăTokenizareDate Nu Date de tokenizare a plății pentru metoda de plată selectată.

Exemplu

Acest exemplu de răspuns arată cum o metodă de plată CARD selectată în foaia de plată Google Pay generează un token de metodă de plată pentru gateway- example .

{
  "type": "CARD",
  "description": "Visa •••• 1234",
  "info": {
    "cardNetwork": "VISA",
    "cardDetails": "1234"
  },
  "tokenizationData": {
    "type": "PAYMENT_GATEWAY",
    "token": "examplePaymentMethodToken"
  }
}

Informații card

Acest obiect oferă informații despre cardul de plată selectat.

Proprietate Tip Există întotdeauna Descriere
cardDetails şir Da Detaliile despre card. Această valoare este de obicei reprezentată de ultimele patru cifre ale numărului contului de plată selectat.
assuranceDetails Detalii privind asigurareaSpecificații Da Acest obiect oferă informații despre validarea efectuată asupra datelor de plată returnate dacă assuranceDetailsRequired este setat la true în ParametriCard .
cardNetwork şir Da

Rețeaua de carduri de plată pentru plata selectată. Valorile returnate corespund formatului allowedCardNetworks din ParametriCard .

Această valoare a rețelei de carduri nu ar trebui afișată cumpărătorului. Este utilizată atunci când sunt necesare detaliile cardului unui cumpărător. De exemplu, dacă serviciul de asistență pentru clienți are nevoie de această valoare pentru a identifica cardul pe care un cumpărător l-a folosit pentru tranzacția sa. Pentru o descriere vizibilă utilizatorului, utilizați proprietatea description a PaymentMethodData .

billingAddress Adresa Nu Adresa de facturare asociată metodei de plată furnizate, dacă billingAddressRequired este setat la true în ParametriCard .
cardFundingSource şir Da

Sursa de alimentare a cardului pentru metoda de plată selectată.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

Exemplu

Acest exemplu prezintă un card din rețeaua Visa.

{
  "cardNetwork": "VISA",
  "cardDetails": "1234",
  "cardFundingSource": "CREDIT",
  "assuranceDetails": {
    "cardHolderAuthenticated": false,
    "accountVerified": true
  }
}

Detalii privind asigurareaSpecificații

Acest obiect oferă informații despre validarea efectuată asupra acreditărilor de plată returnate, astfel încât să se poată aplica verificările adecvate ale riscului instrumentului.

Nume Tip Descriere
accountVerified boolean Dacă true , indică faptul că validarea posesiei Cardholder a fost efectuată pe acreditările de plată returnate.
cardHolderAuthenticated boolean

Dacă true , indică faptul că s-au efectuat identificări și verificări (ID&V) asupra acreditării de plată returnate.

Dacă este false , se poate efectua aceeași autentificare bazată pe risc ca și în cazul tranzacțiilor cu cardul. Această autentificare bazată pe risc poate include, dar fără a se limita la, trecerea la protocolul 3D Secure, dacă este cazul.

Puteți primi și procesa răspunsul Object chiar dacă nu utilizați câmpul assuranceDetails . Pentru a primi acest obiect, includeți assuranceDetailsRequired: true în câmpul Request al obiectului. ParametriCard .

Metodă de platăTokenizareDate

Acest obiect furnizează date de tokenizare pentru metoda de plată.

Proprietate Tip Există întotdeauna Descriere
type şir Da Tipul de tokenizare care va fi aplicat metodei de plată selectate. Această valoare corespunde type setat în PaymentMethodTokenizationSpecification .
token şir Nu

Tokenul metodei de plată generat.

Exemplu

Acesta este un exemplu de răspuns tokenizat pregătit pentru gateway-ul example .

{
  "type": "PAYMENT_GATEWAY",
  "token": "examplePaymentMethodToken"
}

Rezultatul autorizării plății

Acest obiect oferă informații despre rezultatul autorizării plății.

Proprietate Tip Necesitate Descriere
transactionState Şir Necesar Starea tranzacției este rezolvată de unul dintre următoarele rezultate comerciale:
  • SUCCESS
  • ERROR
error Eroare Date Plată Opțional Eroarea care va fi afișată în foaia de plată pentru utilizator atunci când este necesar să se încerce din nou plata.

Exemplu

Următorul exemplu prezintă rezultatul plății returnat după procesarea unei plăți:

{
  "transactionState": "ERROR",
  "error": {
    "reason": "PAYMENT_DATA_INVALID",
    "message": "Cannot pay with payment credentials",
    "intent": "PAYMENT_AUTHORIZATION"
  }
}

Eroare Date Plată

Proprietate Tip Necesitate Descriere
reason Şir Necesar

Listă de motive de eroare predefinite:

  • OFFER_INVALID
  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message Şir Necesar Mesaj de eroare pentru utilizator afișat într-o casetă de dialog.
intent Şir Necesar

Intenția erorii. Aceasta trebuie să fie una înregistrată în PaymentDataRequest de la începutul fluxului.

  • OFFER
  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

Exemplu

Acest exemplu prezintă intenția erorii și mesajul care va fi afișat în foaia de plată.

{
  "error": {
    "reason": "SHIPPING_OPTION_INVALID",
    "message": "This shipping option is invalid for the given address",
    "intent": "SHIPPING_OPTION"
  }
}

Adresa

Acest obiect oferă informații despre o adresă poștală solicitată. Toate proprietățile sunt șiruri de caractere.

Adresele pot fi returnate în formatele MIN , FULL și FULL-ISO3166 . Proprietățile aparținând fiecărui format pot fi văzute în tabelul următor.

Proprietate Formatul adresei Descriere
name MIN , FULL , FULL-ISO3166 Numele complet al destinatarului.
postalCode MIN , FULL , FULL-ISO3166 Codul poștal sau ZIP.
countryCode MIN , FULL , FULL-ISO3166 Codul țării ISO 3166-1 alpha-2.
phoneNumber MIN , FULL , FULL-ISO3166 Un număr de telefon, dacă phoneNumberRequired este setat la true în CerereDatePlăți .
address1 FULL , FULL-ISO3166 Prima linie a adresei.
address2 FULL , FULL-ISO3166 A doua linie a adresei.
address3 FULL , FULL-ISO3166 A treia linie a adresei.
locality FULL , FULL-ISO3166 Oraș, sat, cartier sau suburbie.
administrativeArea FULL , FULL-ISO3166 O subdiviziune a unei țări, cum ar fi un stat sau o provincie.
sortingCode FULL , FULL-ISO3166 Codul de sortare.
iso3166AdministrativeArea FULL-ISO3166 Codul de zonă administrativă ISO 3166-2 corespunzător zonei administrative.

Exemplu

Acesta este un exemplu de adresă în format FULL-ISO3166 din Statele Unite, cu mai multe rânduri de date despre adresa stradală.

{
  "name": "John Doe",
  "address1": "c/o Google LLC",
  "address2": "1600 Amphitheatre Pkwy",
  "address3": "Building 40",
  "locality": "Mountain View",
  "administrativeArea": "CA",
  "countryCode": "US",
  "postalCode": "94043",
  "sortingCode": ""
  "iso3166AdministrativeArea": "US-CA"
}

Adresă intermediară

Proprietate Tip Necesitate Descriere
administrativeArea Şir Necesar O subdiviziune a unei țări, cum ar fi un stat sau o provincie.
countryCode Şir Necesar Codul țării ISO 3166-1 alpha-2.
locality Şir Necesar Oraș, sat, cartier sau suburbie.
postalCode Şir Necesar Codul poștal redactat în funcție de țară. Pentru Canada și Regatul Unit, acesta conține doar primele trei caractere. Pentru SUA, acesta conține primele cinci cifre.
iso3166AdministrativeArea Şir Opțional Codul de zonă administrativă ISO 3166-2 corespunzător zonei administrative. Prezent numai dacă formatul adresei de livrare este FULL-ISO3166 .

Exemplu

Acest exemplu vă arată adresa selectată în foaia de plată.

{
  "administrativeArea": "NY",
  "countryCode": "US",
  "locality": "New York",
  "postalCode": "10011"
  "iso3166AdministrativeArea": "US-NY"
}

SelecțieOpțiuneDate

Proprietate Tip Necesitate Descriere
id Şir Necesar Se potrivește cu SelectionOption.id

Exemplu

Acest exemplu vă prezintă opțiunea de livrare selectată în foaia de plată.

{
  "id": "shipping-001"
}

Datele ofertei

Acest obiect oferă informații despre un cod de ofertă introdus în foaia de plată.

Proprietate Tip Necesitate Descriere
redemptionCodes matrice Există întotdeauna Setul de coduri promoționale introduse în foaia de plată. Include coduri care au fost deja aprobate.

Exemplu

Următorul exemplu prezintă un obiect OfferData cu o matrice redemptionCodes .

"offerData": {
    "redemptionCodes": ["PROMOTIONALCODE"]
}