Oggetti risposta

Questo riferimento descrive le opzioni dell'oggetto di risposta dell'API Google Pay da utilizzare con il tuo sito web. Gli oggetti di risposta sono oggetti restituiti dai metodi client dell'API Google Pay.

IsReadyToPayResponse

Questo oggetto fornisce informazioni sulla capacità di un visitatore del sito web di fornire i dati di pagamento al sito che li richiede.

Proprietà Tipo Esiste sempre Descrizione
result booleano Il visitatore corrente è in grado di fornire i dati di pagamento al sito che li richiede. La capacità di pagamento di un visitatore potrebbe essere legata alla capacità del browser web di visualizzare i componenti richiesti per i metodi di pagamento specificati. Ciò include l'accesso a un Account Google e la fornitura di un metodo di pagamento.
paymentMethodPresent booleano No

Se true, il visitatore ha uno o più metodi di pagamento come specificato nella proprietà allowedPaymentMethods del IsReadyToPayRequest fornito.

Esiste solo quando existingPaymentMethodRequired è stato impostato su true in IsReadyToPayRequest.

Se PaymentsClient viene inizializzato con una proprietà environment di TEST, un metodo di pagamento viene sempre considerato presente.

Esempio

L'esempio seguente mostra quando il visitatore corrente è in grado di fornire i dati di pagamento al sito che li richiede.

{
  "result": true
}

PaymentData

Si tratta di un oggetto di risposta restituito da Google dopo che un pagatore approva il pagamento.

PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.
Proprietà Tipo Esiste sempre Descrizione
apiVersion numero Versione principale dell'API. Il valore nella risposta corrisponde al valore fornito in PaymentDataRequest.
apiVersionMinor numero Versione secondaria dell'API. Il valore nella risposta corrisponde al valore fornito in PaymentDataRequest.
paymentMethodData PaymentMethodData Dati sul metodo di pagamento selezionato.
email stringa No Indirizzo email, se emailRequired è impostato su true in PaymentDataRequest. Se un'altra richiesta ha la proprietà impostata su true, non ha alcun effetto.
shippingAddress Indirizzo No Indirizzo di spedizione, se shippingAddressRequired è impostato su true in PaymentDataRequest.

Esempio

Questa risposta di esempio per la versione 2.0 dell'API Google Pay mostra un metodo di pagamento CARD selezionato nel foglio di pagamento di Google Pay. È stato generato un token del metodo di pagamento per il gateway example.

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

IntermediatePaymentData

Questo oggetto viene restituito dall'input onPaymentDataChanged() dell'API Google Pay quando l'indirizzo di spedizione o le opzioni di spedizione vengono modificati nel foglio di pagamento.

Proprietà Tipo Necessità Descrizione
callbackTrigger Stringa Facoltativo

Descrive il motivo per cui è stato richiamato il callback dei dati di pagamento.

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • OFFER
offerData OfferData Facoltativo Il codice promozionale fornito dall'utente.
shippingAddress IntermediateAddress Facoltativo L'indirizzo selezionato nel foglio di pagamento.
shippingOptionData SelectionOptionData Facoltativo L'opzione di spedizione selezionata nel foglio di pagamento.

Esempio

Questo esempio mostra il payload intermedio restituito dall'API Google Pay.

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

PaymentMethodData

Questo oggetto fornisce i dati per un metodo di pagamento selezionato.

Proprietà Tipo Esiste sempre Descrizione
type stringa PaymentMethod type selezionato nel modulo di pagamento di Google Pay.
description stringa

Messaggio rivolto all'utente per descrivere il metodo di pagamento che finanzia questa transazione.

info oggetto Il valore di questa proprietà dipende dal metodo di pagamento type restituito. Per CARD, vedi CardInfo.
tokenizationData PaymentMethodTokenizationData No Dati di tokenizzazione del pagamento per il metodo di pagamento selezionato.

Esempio

Questa risposta di esempio mostra come un metodo di pagamento CARD selezionato nel foglio di pagamento di Google Pay genera un token del metodo di pagamento per il gateway example.

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

CardInfo

Questo oggetto fornisce informazioni sulla carta di pagamento selezionata.

Proprietà Tipo Esiste sempre Descrizione
cardDetails stringa I dettagli della carta. Questo valore corrisponde in genere alle ultime quattro cifre del numero di conto pagamenti selezionato.
assuranceDetails AssuranceDetailsSpecifications Questo oggetto fornisce informazioni sulla convalida eseguita sui dati di pagamento restituiti se assuranceDetailsRequired è impostato su true in CardParameters.
cardNetwork stringa

Il circuito della carta di pagamento del pagamento selezionato. I valori restituiti corrispondono al formato di allowedCardNetworks in CardParameters.

Questo valore della rete di carte non deve essere mostrato all'acquirente. Viene utilizzato quando sono necessari i dettagli della carta di un acquirente. Ad esempio, se l'assistenza clienti ha bisogno di questo valore per identificare la carta utilizzata da un acquirente per la transazione. Per una descrizione visibile all'utente, utilizza invece la proprietà description di PaymentMethodData.

billingAddress Indirizzo No L'indirizzo di fatturazione associato al metodo di pagamento fornito, se billingAddressRequired è impostato su true in CardParameters.
cardFundingSource stringa

Fonte di finanziamento della carta per il metodo di pagamento selezionato.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

Esempio

Questo esempio mostra una carta sul circuito Visa.

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

AssuranceDetailsSpecifications

Questo oggetto fornisce informazioni sulla convalida eseguita sulle credenziali di pagamento restituite in modo che possano essere applicati controlli del rischio dello strumento appropriati.

Nome Tipo Descrizione
accountVerified booleano Se true, indica che è stata eseguita la convalida del possesso di Cardholder sulle credenziali di pagamento restituite.
cardHolderAuthenticated booleano

Se true, indica che l'identificazione e le verifiche (ID&V) sono state eseguite sulla credenziale di pagamento restituita.

Se false, è possibile eseguire la stessa autenticazione basata sul rischio che per le transazioni con carta. Questa autenticazione basata sul rischio può includere, a titolo esemplificativo, la verifica con il protocollo 3D Secure, se applicabile.

Puoi ricevere ed elaborare l'oggetto risposta anche se non utilizzi il campo assuranceDetails. Per ricevere questo oggetto, includi assuranceDetailsRequired: true nell'oggetto Request CardParameters.

PaymentMethodTokenizationData

Questo oggetto fornisce i dati di tokenizzazione per il metodo di pagamento.

Proprietà Tipo Esiste sempre Descrizione
type stringa Il tipo di tokenizzazione da applicare al metodo di pagamento selezionato. Questo valore corrisponde a type impostato in PaymentMethodTokenizationSpecification.
token stringa No

Il token del metodo di pagamento generato.

Esempio

Questo è un esempio di risposta tokenizzata preparata per il gateway example.

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

PaymentAuthorizationResult

Questo oggetto fornisce informazioni sul risultato dell'autorizzazione di pagamento.

Proprietà Tipo Necessità Descrizione
transactionState Stringa Obbligatorio Lo stato della transazione viene risolto da uno dei seguenti risultati del commerciante:
  • SUCCESS
  • ERROR
error PaymentDataError Facoltativo L'errore da visualizzare nel foglio di pagamento per l'utente quando è necessario riprovare il pagamento.

Esempio

L'esempio seguente mostra il risultato restituito dopo l'elaborazione di un pagamento:

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

PaymentDataError

Proprietà Tipo Necessità Descrizione
reason Stringa Obbligatorio

Elenco dei motivi di errore predefiniti:

  • OFFER_INVALID
  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message Stringa Obbligatorio Messaggio di errore visualizzato in una finestra di dialogo.
intent Stringa Obbligatorio

Qual è l'intento dell'errore; Deve essere un indirizzo registrato in PaymentDataRequest dall'inizio del flusso.

  • OFFER
  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

Esempio

Questo esempio mostra l'intent e il messaggio di errore da visualizzare nella scheda di pagamento.

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

Indirizzo

Questo oggetto fornisce informazioni su un indirizzo postale richiesto. Tutte le proprietà sono stringhe.

Gli indirizzi possono essere restituiti nei formati MIN,FULL e FULL-ISO3166. Le proprietà appartenenti a ciascun formato sono riportate nella tabella seguente.

Proprietà Formato dell'indirizzo Descrizione
name MIN, FULL, FULL-ISO3166 Il nome completo del destinatario.
postalCode MIN, FULL, FULL-ISO3166 Il codice postale o CAP.
countryCode MIN, FULL, FULL-ISO3166 Codice paese ISO 3166-1 alpha-2.
phoneNumber MIN, FULL, FULL-ISO3166 Un numero di telefono, se phoneNumberRequired è impostato su true in PaymentDataRequest.
address1 FULL, FULL-ISO3166 La prima riga dell'indirizzo.
address2 FULL, FULL-ISO3166 La seconda riga dell'indirizzo.
address3 FULL, FULL-ISO3166 La terza riga dell'indirizzo.
locality FULL, FULL-ISO3166 Città, paese, quartiere o periferia.
administrativeArea FULL, FULL-ISO3166 Una suddivisione di un paese, ad esempio uno stato o una provincia.
sortingCode FULL, FULL-ISO3166 Il codice di smistamento.
iso3166AdministrativeArea FULL-ISO3166 Codice area amministrativa ISO 3166-2 corrispondente ad administrativeArea.

Esempio

Questo è un esempio di indirizzo in formato FULL-ISO3166 negli Stati Uniti con più righe di dati dell'indirizzo stradale.

{
  "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"
}

IntermediateAddress

Proprietà Tipo Necessità Descrizione
administrativeArea Stringa Obbligatorio Una suddivisione di un paese, ad esempio uno stato o una provincia.
countryCode Stringa Obbligatorio Codice paese ISO 3166-1 alpha-2.
locality Stringa Obbligatorio Città, paese, quartiere o periferia.
postalCode Stringa Obbligatorio Il codice postale oscurato in base al paese. Per il Canada e il Regno Unito, contiene solo i primi tre caratteri. Per gli Stati Uniti, contiene le prime cinque cifre.
iso3166AdministrativeArea Stringa Facoltativo Codice area amministrativa ISO 3166-2 corrispondente ad administrativeArea. Presente solo se il formato dell'indirizzo di spedizione è FULL-ISO3166.

Esempio

Questo esempio mostra l'indirizzo selezionato nel foglio di pagamento.

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

SelectionOptionData

Proprietà Tipo Necessità Descrizione
id Stringa Obbligatorio Corrispondenze con SelectionOption.id

Esempio

Questo esempio mostra l'opzione di spedizione selezionata nel foglio di pagamento.

{
  "id": "shipping-001"
}

OfferData

Questo oggetto fornisce informazioni su un codice offerta inserito nel foglio di pagamento.

Proprietà Tipo Necessità Descrizione
redemptionCodes matrice Esiste sempre Il set di codici promozionali inseriti nel foglio di pagamento. Sono inclusi i codici che sono già stati approvati.

Esempio

L'esempio seguente mostra un oggetto OfferData con un array redemptionCodes.

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