Objets de réponse

Cette documentation de 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 clientes de l'API Google Pay.

IsReadyToPayResponse

Cet objet fournit des informations sur la capacité d'un visiteur du 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 les cas 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.

existingPaymentMethodRequired n'existe que s'il a été 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 peut 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 une fois que le payeur a approuvé le 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 la propriété définie 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 l'API Google Pay version 2.0 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é effectué.

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • PAYMENT_METHOD
  • OFFER
offerData OfferData Facultatif Code promotionnel fourni par l'utilisateur.
shippingAddress IntermediateAddress Facultatif L'adresse sélectionnée dans la feuille de paiement.
shippingOptionData SelectionOptionData Facultatif Option de livraison sélectionnée dans la feuille de paiement.
paymentMethodData IntermediatePaymentMethodData Facultatif Données du mode de paiement sélectionné dans la feuille de paiement.

Exemples

Cet exemple montre la charge utile intermédiaire renvoyée par l'API Google Pay pour les modifications d'adresse de livraison.

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

Cet exemple montre la charge utile intermédiaire renvoyée lorsque le mode de paiement change.

{
  "callbackTrigger": "PAYMENT_METHOD",
  "paymentMethodData": {
    "type": "CARD",
    "info": {
      "cardNetwork": "VISA",
      "cardFundingSource": "CREDIT",
      "billingAddress": {
        "administrativeArea": "NY",
        "countryCode": "US",
        "locality": "New York",
        "postalCode": "10011"
      }
    }
  }
}

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 visible par l'utilisateur décrivant 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 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 Détails de 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 les CardParameters de .
cardNetwork chaîne Oui

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

Cette valeur de réseau de cartes ne doit pas être présenté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 qu'un acheteur a utilisée 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 du 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 contrôles de risque appropriés puissent être appliqués.

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

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

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 CardParameters de l'objet Request.

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 à l'élément 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 suivants du marchand :
  • 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

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é dans une boîte de dialogue.
intent Chaîne Obligatoire

L'intent de l'erreur. Il doit s'agir d'un intent enregistré dans PaymentDataRequest depuis le 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. Le tableau suivant présente les propriétés de chaque format.

Propriété Format d'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 de PaymentDataRequest.
address1 FULL, FULL-ISO3166 Première ligne de l'adresse.
address2 FULL, FULL-ISO3166 Deuxième ligne de l'adresse.
address3 FULL, FULL-ISO3166 Troisième ligne de l'adresse.
locality FULL, FULL-ISO3166 Ville, commune, quartier ou banlieue.
administrativeArea FULL, FULL-ISO3166 Subdivision d'un pays, comme un État ou une province.
sortingCode FULL, FULL-ISO3166 Le code guichet.
iso3166AdministrativeArea FULL-ISO3166 Code de région 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 postale.

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

L'adresse intermédiaire contient une adresse de livraison masquée (sans les lignes d'adresse au niveau de la rue ni les noms des destinataires) pour permettre le calcul des taxes et des options de livraison applicables avant que l'utilisateur n'autorise le paiement.

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, commune, 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 région administrative ISO 3166-2 correspondant à administrativeArea. (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 de 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"]
}

IntermediatePaymentMethodData

Cet objet contient des informations limitées sur le mode de paiement sélectionné pour les rappels des développeurs.

Propriété Type Nécessité Description
type chaîne Obligatoire Type de mode de paiement. Seul CARD est accepté pour ce rappel.
info IntermediateCardInfo Facultatif Informations sur la carte sélectionnée. Présent uniquement si type est défini sur CARD.

IntermediateCardInfo

Cet objet contient des informations limitées sur la carte sélectionnée, utilisées dans les rappels des développeurs.

Propriété Type Nécessité Description
billingAddress IntermediateAddress Facultatif L'adresse de facturation associée à la carte. Renseigné uniquement lorsque l'adresse de facturation est définie comme obligatoire.
cardNetwork chaîne Facultatif

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

Cette valeur de réseau de cartes ne doit pas être présentée à l'acheteur.

cardFundingSource chaîne Facultatif

Source de financement de la carte de paiement sélectionnée.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID