Objets de réponse

Cette référence décrit les options de l'objet de réponse de l'API Google Pay à utiliser avec votre site Web. Les objets de réponse sont des objets renvoyés par les méthodes client de l'API Google Pay.

IsReadyToPayResponse

Cet objet fournit des informations sur la capacité d'un visiteur de site Web à fournir des informations de paiement au site qui les demande.

Propriété Type Existe toujours Description
result booléen Oui Le visiteur actuel peut fournir des informations de paiement au site qui les demande. La capacité d'un visiteur à payer peut être liée à la capacité de son navigateur Web à afficher les composants requis pour les modes de paiement spécifiés. Cela inclut le moment où ils se connectent à un compte Google et fournissent un mode de paiement.
paymentMethodPresent booléen Non

Si la valeur est true, le visiteur dispose d'un ou de plusieurs modes de paiement, comme spécifié dans la propriété allowedPaymentMethods de l'objet IsReadyToPayRequest fourni.

N'existe que lorsque existingPaymentMethodRequired est défini sur true dans IsReadyToPayRequest.

Si PaymentsClient est initialisé avec une propriété environment de TEST, un mode de paiement est toujours considéré comme présent.

Exemple

L'exemple suivant montre quand le visiteur actuel est en mesure de fournir des informations de paiement au site qui les demande.

{
  "result": true
}

PaymentData

Il s'agit d'un objet de réponse renvoyé par Google après qu'un payeur a approuvé un paiement.

PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.
Propriété Type Existe toujours Description
apiVersion nombre Oui Version majeure de l'API. La valeur de la réponse correspond à celle fournie dans PaymentDataRequest.
apiVersionMinor nombre Oui Version mineure de l'API. La valeur de la réponse correspond à celle fournie dans PaymentDataRequest.
paymentMethodData PaymentMethodData Oui Données sur le mode de paiement sélectionné.
email chaîne Non Adresse e-mail, si emailRequired est défini sur true dans PaymentDataRequest. Si une autre requête a défini la propriété sur true, cela n'a aucun effet.
shippingAddress Adresse Non Adresse de livraison, si shippingAddressRequired est défini sur true dans PaymentDataRequest.

Exemple

Cet exemple de réponse pour la version 2.0 de l'API Google Pay montre un mode de paiement CARD sélectionné dans la feuille de paiement Google Pay. Un jeton de mode de paiement a été généré pour la passerelle 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

Cet objet est renvoyé par l'entrée onPaymentDataChanged() de l'API Google Pay lorsque l'adresse de livraison ou les options de livraison sont modifiées dans la feuille de paiement.

Propriété Type Nécessité Description
callbackTrigger Chaîne Facultatif

Décrit la raison pour laquelle le rappel des données de paiement a été invoqué.

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • OFFER
offerData OfferData Facultatif Code promotionnel fourni par l'utilisateur.
shippingAddress IntermediateAddress Facultatif Adresse sélectionnée dans la feuille de paiement.
shippingOptionData SelectionOptionData Facultatif Option de livraison sélectionnée dans la feuille de paiement.

Exemple

Cet exemple montre la charge utile intermédiaire renvoyée par l'API Google Pay.

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

PaymentMethodData

Cet objet fournit des données pour un mode de paiement sélectionné.

Propriété Type Existe toujours Description
type chaîne Oui PaymentMethod type sélectionné dans la feuille de paiement Google Pay.
description chaîne Oui

Message destiné à l'utilisateur pour décrire le mode de paiement qui finance cette transaction.

info objet Oui La valeur de cette propriété dépend du mode de paiement type renvoyé. Pour CARD, consultez CardInfo.
tokenizationData PaymentMethodTokenizationData Non Données de tokenisation du paiement pour le mode de paiement sélectionné.

Exemple

Cet exemple de réponse montre comment un mode de paiement CARD sélectionné dans la feuille de paiement Google Pay génère un jeton de mode de paiement pour la passerelle example.

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

CardInfo

Cet objet fournit des informations sur la carte de paiement sélectionnée.

Propriété Type Existe toujours Description
cardDetails chaîne Oui Informations sur la carte. Cette valeur correspond généralement aux quatre derniers chiffres du numéro de compte de paiement sélectionné.
assuranceDetails AssuranceDetailsSpecifications Oui Cet objet fournit des informations sur la validation effectuée sur les données de paiement renvoyées si assuranceDetailsRequired est défini sur true dans CardParameters.
cardNetwork chaîne Oui

Réseau de la carte de paiement du paiement sélectionné. Les valeurs renvoyées correspondent au format de allowedCardNetworks dans CardParameters de .

Cette valeur de réseau de carte ne doit pas être affichée à l'acheteur. Il est utilisé lorsque les informations de la carte d'un acheteur sont nécessaires. Par exemple, si le service client a besoin de cette valeur pour identifier la carte utilisée par un acheteur pour sa transaction. Pour une description visible par l'utilisateur, utilisez plutôt la propriété description de PaymentMethodData.

billingAddress Adresse Non Adresse de facturation associée au mode de paiement fourni, si billingAddressRequired est défini sur true dans CardParameters.
cardFundingSource chaîne Oui

Source de financement de la carte pour le mode de paiement sélectionné.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

Exemple

Cet exemple montre une carte sur le réseau Visa.

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

AssuranceDetailsSpecifications

Cet objet fournit des informations sur la validation effectuée sur les identifiants de paiement renvoyés afin que les vérifications appropriées des risques liés aux instruments puissent être appliquées.

Nom Type Description
accountVerified booléen Si la valeur est true, cela indique que la validation de la possession Cardholder a été effectuée sur l'identifiant de paiement renvoyé.
cardHolderAuthenticated booléen

Si la valeur est true, cela indique que l'identification et la validation (ID&V) ont été effectuées sur le moyen de paiement renvoyé.

Si false, la même authentification basée sur le risque peut être effectuée que pour les transactions par carte. Cette authentification basée sur les risques peut inclure, sans s'y limiter, une authentification renforcée avec le protocole 3D Secure, le cas échéant.

Vous pouvez recevoir et traiter l'objet de réponse même si vous n'utilisez pas le champ assuranceDetails. Pour recevoir cet objet, incluez assuranceDetailsRequired: true dans l'objet Request CardParameters.

PaymentMethodTokenizationData

Cet objet fournit des données de tokenisation pour le mode de paiement.

Propriété Type Existe toujours Description
type chaîne Oui Type de tokenisation à appliquer au mode de paiement sélectionné. Cette valeur correspond à type défini dans PaymentMethodTokenizationSpecification.
token chaîne Non

Jeton de mode de paiement généré.

Exemple

Voici un exemple de réponse tokenisée préparée pour la passerelle example.

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

PaymentAuthorizationResult

Cet objet fournit des informations sur le résultat de l'autorisation de paiement.

Propriété Type Nécessité Description
transactionState Chaîne Obligatoire L'état de la transaction est résolu par l'un des résultats de marchand suivants :
  • SUCCESS
  • ERROR
error PaymentDataError Facultatif Erreur à afficher dans la feuille de paiement pour l'utilisateur lorsqu'il est nécessaire de réessayer le paiement.

Exemple

L'exemple suivant montre le résultat du paiement renvoyé après le traitement d'un paiement :

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

PaymentDataError

Propriété Type Nécessité Description
reason Chaîne Obligatoire

Voici la liste des motifs d'erreur prédéfinis :

  • OFFER_INVALID
  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message Chaîne Obligatoire Message d'erreur affiché à l'utilisateur dans une boîte de dialogue.
intent Chaîne Obligatoire

Intention de l'erreur. Il doit s'agir d'un ID enregistré dans PaymentDataRequest au début du flux.

  • OFFER
  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

Exemple

Cet exemple montre l'intent d'erreur et le message à afficher dans la feuille de paiement.

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

Adresse

Cet objet fournit des informations sur une adresse postale demandée. Toutes les propriétés sont des chaînes.

Les adresses peuvent être renvoyées aux formats MIN, FULL et FULL-ISO3166. Les propriétés appartenant à chaque format sont indiquées dans le tableau suivant.

Propriété Format de l'adresse Description
name MIN, FULL, FULL-ISO3166 Nom complet du destinataire.
postalCode MIN, FULL, FULL-ISO3166 Code postal.
countryCode MIN, FULL, FULL-ISO3166 Code pays ISO 3166-1 alpha-2.
phoneNumber MIN, FULL, FULL-ISO3166 Un numéro de téléphone, si phoneNumberRequired est défini sur true dans PaymentDataRequest.
address1 FULL et FULL-ISO3166 Première ligne de l'adresse.
address2 FULL et FULL-ISO3166 Seconde ligne de l'adresse.
address3 FULL et FULL-ISO3166 Troisième ligne de l'adresse.
locality FULL et FULL-ISO3166 Ville, quartier ou banlieue.
administrativeArea FULL et FULL-ISO3166 Subdivision d'un pays, comme un État ou une province.
sortingCode FULL et FULL-ISO3166 Code de tri.
iso3166AdministrativeArea FULL-ISO3166 Code de zone administrative ISO 3166-2 correspondant à administrativeArea.

Exemple

Voici un exemple d'adresse au format FULL-ISO3166 aux États-Unis avec plusieurs lignes de données d'adresse.

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

Propriété Type Nécessité Description
administrativeArea Chaîne Obligatoire Subdivision d'un pays, comme un État ou une province.
countryCode Chaîne Obligatoire Code pays ISO 3166-1 alpha-2.
locality Chaîne Obligatoire Ville, quartier ou banlieue.
postalCode Chaîne Obligatoire Code postal masqué en fonction du pays. Pour le Canada et le Royaume-Uni, il ne contient que les trois premiers caractères. Pour les États-Unis, il contient les cinq premiers chiffres.
iso3166AdministrativeArea Chaîne Facultatif Code de zone administrative ISO 3166-2 correspondant à administrativeArea. Présent uniquement si le format de l'adresse de livraison est FULL-ISO3166.

Exemple

Cet exemple montre l'adresse sélectionnée dans la feuille de paiement.

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

SelectionOptionData

Propriété Type Nécessité Description
id Chaîne Obligatoire Correspondances avec SelectionOption.id

Exemple

Cet exemple montre l'option de livraison sélectionnée dans la feuille de paiement.

{
  "id": "shipping-001"
}

OfferData

Cet objet fournit des informations sur un code promotionnel saisi dans la feuille de paiement.

Propriété Type Nécessité Description
redemptionCodes tableau Existe toujours Ensemble des codes promotionnels saisis dans la feuille de paiement. Inclut les codes qui ont déjà été approuvés.

Exemple

L'exemple suivant montre un objet OfferData avec un tableau redemptionCodes.

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