Method: getOrderDetails

obtenir une commande qui constitue la base des partenaires Google pour facturer les utilisateurs finaux ;

Si le point de terminaison rencontre une erreur lors du traitement de la requête, sa réponse est de type ErrorResponse.

Les réponses à cette requête peuvent être vides si cette méthode ne renvoie pas de code HTTP 200. Le corps de la réponse est vide dans les cas où un ErrorResponse avec une description claire pourrait être utilisé pour aider un pirate informatique à comprendre l'identifiant de compte de l'intégrateur de paiement d'autres intégrateurs. Dans les cas où la clé de signature ne correspond pas, l'identifiant de l'intégrateur de paiement est introuvable ou la clé de chiffrement est inconnue, cette méthode renvoie une erreur HTTP 404 avec un corps vide. Si la signature de la requête a pu être vérifiée, des informations supplémentaires concernant l'erreur sont renvoyées dans le corps de la réponse.

Voici un exemple de requête:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "HsKv5pvtQKTtz7rdcw1YqE",
    "requestTimestamp": "1519996751331"
  },
  "paymentIntegratorAccountId": "IntegratorFakeAccount",
  "orderLookupCriteria": {
    "googleTransactionReferenceNumberCriteria": {
      "googleTransactionReferenceNumber": "714545417102363157911822",
      "authorizationCode": "111111"
    }
  },
  "requestOriginator": {
    "organizationId": "ISSUER_256",
    "organizationDescription": "Community Bank of Some City"
  }
}

Voici un exemple de réponse:


{
  "responseHeader": {
    "responseTimestamp": "1519996752221"
  },
  "result": "SUCCESS",
  "order": {
    "timestamp": "1517992525972",
    "orderId": "UPG.DEFC.X6F4.MEOM.CDWF",
    "currencyCode": "USD",
    "subTotalAmount": "399000000",
    "totalAmount": "459000000",
    "taxes": [],
    "items": [
      {
        "description": "YouTube TV membership",
        "merchant": "fake org",
        "googleProductName": "YouTube TV",
        "quantity": "1",
        "totalPrice": "399000000"
      },
      {
        "description": "Showtime",
        "merchant": "fake org",
        "googleProductName": "YouTube TV",
        "quantity": "1",
        "totalPrice": "6000000"
      }
    ]
  }
}

Requête HTTP

POST https://vgw.googleapis.com/secure-serving/gsp/v1/getOrderDetails/:PIAID

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "orderLookupCriteria": {
    object (OrderLookupCriteria)
  },
  "requestOriginator": {
    object (RequestOriginator)
  }
}
Champs
requestHeader

object (RequestHeader)

OBLIGATOIRE: en-tête commun à toutes les requêtes.

paymentIntegratorAccountId

string

OBLIGATOIRE: identifiant de compte de l'intégrateur de paiement qui identifie l'appelant et les contraintes contractuelles associées à cette interaction.

orderLookupCriteria

object (OrderLookupCriteria)

REQUIRED: critères indiquant la commande à rechercher.

requestOriginator

object (RequestOriginator)

FACULTATIF: informations sur l'organisation ou le sous-groupe d'organisation à l'origine de la requête (si l'intégrateur nous appelle au nom d'une autre organisation).

Corps de la réponse

Charge utile de réponse pour la méthode getOrderDetails.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (GetOrderDetailsResultCode),
  "order": {
    object (Order)
  }
}
Champs
responseHeader

object (ResponseHeader)

OBLIGATOIRE: en-tête commun à toutes les réponses.

result

enum (GetOrderDetailsResultCode)

OBLIGATOIRE: résultat de cet appel.

order

object (Order)

FACULTATIF: informations concernant la commande pour laquelle le paiement a été effectué. (Présent si et seulement si result a la valeur SUCCÈS.)

RequestHeader

Objet d'en-tête défini sur toutes les requêtes envoyées au serveur.

Représentation JSON
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
Champs
requestId

string

OBLIGATOIRE: Identifiant unique de la requête.

Il s'agit d'une chaîne d'une longueur maximale de 100 caractères qui ne contient que les caractères "a-z", "A-Z", "0-9", ":", "-" et "_".

requestTimestamp

string (int64 format)

REQUIRED: horodatage de cette requête représenté en millisecondes depuis l'epoch. Le récepteur doit vérifier que cet horodatage correspond à ± 60 secondes du "now" (maintenant). Cet horodatage de requête n'est pas idempotent lors des nouvelles tentatives.

userLocale
(deprecated)

string

OBSOLÈTE: code de langue ISO 639-2 Alpha 3 à deux ou trois lettres, éventuellement suivi d'un trait d'union et d'un code pays ISO 3166-1 Alpha-2, par exemple "pt", "pt-BR", "fil" ou "fil-PH". Utilisez-le pour définir les champs userMessage dans la réponse.

protocolVersion

object (Version)

OBLIGATOIRE: version de cette requête.

Version

Objet de version, qui est une forme structurée de la structure de version a.b.c classique. La compatibilité des versions majeures du même numéro est garantie. Notez que les révisions mineures et les révisions peuvent changer fréquemment et sans préavis. L'intégrateur doit prendre en charge toutes les requêtes concernant la même version majeure.

Représentation JSON
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
Champs
major

integer

OBLIGATOIRE: version majeure. Ceci est indiqué pour les demandes de compatibilité avec différentes versions. Leur compatibilité n'est pas garantie.

minor

integer

OBLIGATOIRE: version mineure. Cela indique des corrections de bugs importantes.

revision

integer

OBLIGATOIRE: version mineure. Cela indique des corrections de bugs mineures.

OrderLookupCriteria

Critères de recherche de commande.

Représentation JSON
{

  // Union field criteria can be only one of the following:
  "dcb3CorrelationId": string,
  "arnCriteria": {
    object (ArnCriteria)
  },
  "googleTransactionReferenceNumberCriteria": {
    object (GoogleTransactionReferenceNumberCriteria)
  }
  // End of list of possible types for union field criteria.
}
Champs

Champ d'union criteria.

criteria ne peut être qu'un des éléments suivants :

dcb3CorrelationId

string

Recherche basée sur l'ID de corrélation de facturation directe par l'opérateur généré par Google qui identifie le paiement de manière unique. Cette valeur a été générée par Google et envoyée à l'intégrateur de paiement pour la facturation par l'opérateur lors de l'appel d'authentification.

arnCriteria

object (ArnCriteria)

Recherche basée sur le numéro de référence de l'acquéreur (ARN).

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

Effectuez la recherche sur la base du numéro de référence de la transaction Google.

ArnCriteria

Critères de recherche de paiement basés sur le numéro de référence de l'acquéreur (ARN).

Représentation JSON
{
  "acquirerReferenceNumber": string,
  "authorizationCode": string
}
Champs
acquirerReferenceNumber

string

OBLIGATOIRE: numéro de référence de l'acquéreur (ARN) qui identifie de manière unique le paiement. Doit comporter 23 chiffres.

authorizationCode

string

OBLIGATOIRE: code d'autorisation de la transaction.

GoogleTransactionReferenceNumberCriteria

Critères de recherche de paiement basés sur le Numéro de référence de la transaction généré par Google.

Représentation JSON
{
  "googleTransactionReferenceNumber": string,
  "authorizationCode": string
}
Champs
googleTransactionReferenceNumber

string

OBLIGATOIRE: numéro de référence de la transaction généré par Google qui identifie de façon unique le paiement.

authorizationCode

string

OBLIGATOIRE: code d'autorisation de la transaction.

RequestOriginator

Informations sur l'organisation ou le sous-groupe d'organisation d'où provient cette requête. Cela permet à Google d'identifier les problèmes ou les abus, et de mettre en place des contrôles plus précis que le paymentIntegratorAccountId. Elle est particulièrement utile lorsque l'appelant est un fournisseur de services intermédiaire qui génère des requêtes auprès de plusieurs clients externes.

Représentation JSON
{
  "organizationId": string,
  "organizationDescription": string
}
Champs
organizationId

string

OBLIGATOIRE: identifiant de l'entreprise, de l'organisation ou du groupe organisationnel d'où provient cette requête. Doit être unique dans ce paymentIntegratorAccountId.

organizationDescription

string

OBLIGATOIRE: nom lisible ou description de l'organisation pouvant être utilisé pour faciliter la communication entre les employés de Google et l'intégrateur concernant cette organisation.

ResponseHeader

Objet d'en-tête défini sur toutes les réponses envoyées par le serveur.

Représentation JSON
{
  "responseTimestamp": string
}
Champs
responseTimestamp

string (int64 format)

REQUIRED: horodatage de cette réponse représenté en millisecondes depuis l'epoch. Le récepteur doit vérifier que cet horodatage correspond à ± 60 secondes du "now" (maintenant).

GetOrderDetailsResultCode

Résultat de l'appel de méthode getOrderDetails.

Enums
GET_ORDER_DETAILS_RESULT_CODE_UNKNOWN Ne définissez jamais cette valeur par défaut.
SUCCESS La commande a été trouvée et renvoyée.
ORDER_CANNOT_BE_RETURNED

La commande demandée existe, mais ne peut pas être retournée. Il peut s'agir, par exemple, d'une ordonnance qui a été supprimée à la demande de son propriétaire.

PAYMENT_TOO_OLD Le paiement demandé a été trouvé, mais les détails de la commande n'ont pas été fournis en raison de l'ancienneté du paiement.
PAYMENT_NOT_FOUND Le paiement demandé est introuvable.
NO_ADDITIONAL_DETAILS Le paiement demandé a été trouvé, mais les détails de la commande ne sont pas disponibles.

Commande

Informations sur la commande.

Représentation JSON
{
  "timestamp": string,
  "orderId": string,
  "currencyCode": string,
  "subTotalAmount": string,
  "totalAmount": string,
  "items": [
    {
      object (Item)
    }
  ],
  "taxes": [
    {
      object (Tax)
    }
  ]
}
Champs
timestamp

string (int64 format)

FACULTATIF: horodatage de la commande, représenté en millisecondes depuis l'epoch. Non disponible pour tous les types de commandes.

orderId

string

FACULTATIF: chaîne identifiant de manière unique cet ordre. Non disponible pour tous les types de commandes.

currencyCode

string

FACULTATIF: code de devise ISO 4217 à trois lettres pour tous les montants de cette commande. Non disponible pour tous les types de commandes.

subTotalAmount

string (Int64Value format)

FACULTATIF: montant total de la commande hors taxes, représenté en micro-unités de la devise spécifiée dans order.currencyCode. Cela équivaut à SUM(items.totalPrice). Non disponible pour tous les types de commandes.

totalAmount

string (Int64Value format)

FACULTATIF: montant total de la commande, taxes comprises, représenté en micro-unités de la devise indiquée dans order.currencyCode. Cela équivaut à subTotalAmount + SUM(taxes.amount). Non disponible pour tous les types de commandes.

items[]

object (Item)

OBLIGATOIRE: liste des éléments inclus dans cette commande.

taxes[]

object (Tax)

FACULTATIF: liste des taxes incluses dans cette commande.

Élément

Informations sur un article de la commande.

Représentation JSON
{
  "description": string,
  "merchant": string,
  "quantity": string,
  "totalPrice": string,
  "googleProductName": string
}
Champs
description

string

FACULTATIF: description de l'article acheté. Non disponible pour tous les types de commandes.

merchant

string

OBLIGATOIRE: Vendeur, artiste ou fabricant de l'article.

quantity

string (Int64Value format)

FACULTATIF: quantité commandée de cet article.

Ce champ sera omis si les quantités entières ne sont pas applicables au produit (les produits mesurés peuvent avoir des quantités fractionnaires, par exemple).

totalPrice

string (Int64Value format)

FACULTATIF: prix total de cet article, représenté en micros de la devise spécifiée dans order.currencyCode. Si la valeur quantity est renseignée, le prix total pour l'intégralité de la quantité est indiqué. Non disponible pour tous les types de commandes.

googleProductName

string

OBLIGATOIRE: nom du service produit Google pour l'article.

Taxes

Informations sur une taxe qui s'applique à cette commande.

Représentation JSON
{
  "description": string,
  "amount": string
}
Champs
description

string

OBLIGATOIRE: description de la taxe.

amount

string (Int64Value format)

OBLIGATOIRE: Montant de la taxe, représenté en micro-unités de la devise spécifiée dans order.currencyCode.