- Requête HTTP
- Corps de la requête
- Corps de la réponse
- RequestHeader
- Version
- PaymentLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- RequestOriginator
- GetDisputeInquiryReportResultCode
- PurchaseReport
- CustomerAccount
- Commande
- Adresse
- Élément
- Taxes
- Paiement
- Remboursement
- PaymentCardDetails
- AuthResult
Obtenez un rapport qui fournit des informations permettant de faciliter une conversation avec le service client avec un utilisateur au sujet d'une contestation potentielle d'un paiement.
Si le point de terminaison rencontre une erreur lors du traitement de la requête, la réponse de ce point de terminaison sera 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
avec une description claire pourrait être utilisé pour aider un pirate informatique à comprendre l'identifiant de compte d'intégrateur de paiement d'autres intégrateurs. Dans les cas où la clé de signature ne correspond pas, que l'identifiant de l'intégrateur de paiement est introuvable ou que la clé de chiffrement est inconnue, cette méthode renvoie une réponse HTTP 404 avec un corps vide. Si la signature de la requête a pu être vérifiée, des informations supplémentaires sur l'erreur sont renvoyées dans le corps de la réponse.ErrorResponse
Voici un exemple de requête:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "HsKv5pvtQKTtz7rdcw1YqE",
"requestTimestamp": "1519996751331"
},
"paymentIntegratorAccountId": "InvisiCashUSA",
"paymentLookupCriteria": {
"googleTransactionReferenceNumberCriteria": {
"googleTransactionReferenceNumber": "714545417102363157911822",
"authorizationCode": "111111"
}
},
"existingGoogleClaimId": "138431383281",
"requestOriginator": {
"organizationId": "ISSUER_256",
"organizationDescription": "Community Bank of Some City",
"agentId": "982749"
}
}
Voici un exemple de réponse:
{
"responseHeader": {
"responseTimestamp": "1519996752221"
},
"result": "SUCCESS",
"googleClaimId": "138431383281",
"report": {
"customerAccount": {
"customerEmail": "example@gmail.com",
"customerName" : "Example Customer"
},
"order": {
"timestamp": "1517992525972",
"orderId": "SOP.8976-1234-1234-123456..99",
"currencyCode": "USD",
"subTotalAmount": "206990000",
"totalAmount": "212990000",
"shippingAddress": {
"name": "Example Customer",
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"taxes": [
{
"description": "Colorado Sales Tax",
"amount": "6000000"
}
],
"items": [
{
"description": "Super cool gizmo",
"merchant": "HTC",
"googleProductName": "Google Store",
"quantity": "2",
"totalPrice": "198000000"
},
{
"description": "Gizmo charger",
"merchant": "HTC",
"googleProductName": "Google Store",
"quantity": "1",
"totalPrice": "8990000"
}
]
},
"payment": {
"billingAddress" : {
"name": "Example Customer",
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"amount": "100000000",
"refunds": [
{
"amount": "9250000",
"initiatedTimestamp": "1518811245384"
}
],
"cardDetails": {
"authResult": "APPROVED"
}
}
}
}
Requête HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getDisputeInquiryReport/: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 ( |
Champs | |
---|---|
requestHeader |
OBLIGATOIRE: en-tête commun pour toutes les requêtes. |
paymentIntegratorAccountId |
OBLIGATOIRE: identifiant de compte de l'intégrateur de paiement qui identifie l'appelant et les contraintes contractuelles associées à cette interaction. |
paymentLookupCriteria |
OBLIGATOIRE: critères indiquant le paiement à rechercher pour cette demande. |
existingGoogleClaimId |
FACULTATIF: chaîne générée par Google, renvoyée par un appel précédent à S'il n'est pas indiqué, un nouvel ID de revendication est généré. L'appelant peut fournir un L'ID de revendication renseigné ici ou généré est renvoyé dans le champ Fournir un |
requestOriginator |
OBLIGATOIRE: informations sur l'organisation ou le sous-groupe organisationnelle à l'origine de la requête. |
Corps de la réponse
Charge utile de réponse pour la méthode getDisputeInquiryReport
.
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 ( |
Champs | |
---|---|
responseHeader |
OBLIGATOIRE: en-tête commun pour toutes les réponses. |
result |
OBLIGATOIRE: résultat de cet appel. |
googleClaimId |
FACULTATIF: chaîne générée par Google qui identifie de manière unique le litige avec le client. (présent uniquement si la valeur de Si |
report |
FACULTATIF: informations concernant la contestation du paiement identifié dans la demande. (présent uniquement si la valeur de |
RequestHeader
Objet d'en-tête qui est défini sur toutes les requêtes envoyées au serveur.
Représentation JSON |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
Champs | |
---|---|
requestId |
OBLIGATOIRE: Identifiant unique de cette 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 |
REQUIRED: horodatage de cette requête représenté en millisecondes depuis l'epoch. Le récepteur doit vérifier que ce code temporel correspond à environ 60 secondes de "now" (maintenant). Cet horodatage de requête n'est pas idempotent lors de nouvelles tentatives. |
userLocale |
OBSOLÈTE: code de langue ISO 639-2 Alpha 3 à deux ou trois lettres suivi éventuellement d'un tiret et du code pays ISO 3166-1 Alpha-2 (par exemple, "pt", "pt-BR", "fil" ou "fil-PH"). Utilisez-le pour faciliter le fonctionnement des champs |
protocolVersion |
OBLIGATOIRE: version de cette requête. |
Version
Un objet Version, qui est une forme structurée de la structure de version a.b.c
classique La compatibilité des versions majeures du même nombre est garantie. Notez que les modifications mineures et révisions peuvent être fréquemment modifiées sans préavis. L'intégrateur doit accepter toutes les requêtes liées à la même version majeure.
Représentation JSON |
---|
{ "major": integer, "minor": integer, "revision": integer } |
Champs | |
---|---|
major |
OBLIGATOIRE: version majeure. Cette option n'est pas garantie pour les demandes de compatibilité avec différentes versions. |
minor |
OBLIGATOIRE: version mineure. Cela indique des corrections de bugs importantes. |
revision |
OBLIGATOIRE: version mineure. Cela indique des corrections de bugs mineurs. |
PaymentLookupCriteria
Conteneur pour les critères permettant de rechercher un paiement de manière unique. Un (et un seul) champ de membre doit être renseigné.
Représentation JSON |
---|
{ // Union field |
Champs | |
---|---|
Champ d'union
|
|
arnCriteria |
FACULTATIF: Recherche basée sur le numéro de référence de l'acquéreur (ARN). |
googleTransactionReferenceNumberCriteria |
FACULTATIF: effectuez une recherche à l'aide 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 |
OBLIGATOIRE: numéro de référence de l'acquéreur qui identifie le paiement de manière unique. Doit comporter 23 chiffres. |
authorizationCode |
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 |
OBLIGATOIRE: numéro de référence de la transaction généré par Google, qui identifie le paiement de manière unique. |
authorizationCode |
OBLIGATOIRE: code d'autorisation de la transaction. |
RequestOriginator
Informations sur l'organisation ou le sous-groupe d'organisations, et éventuellement sur l'employé à l'origine de la demande. Cela permet à Google d'identifier les problèmes ou les utilisations abusives, et de mettre en œuvre des contrôles à un niveau plus précis que paymentIntegratorAccountId
. Cela est particulièrement utile lorsque l'appelant est un fournisseur de services intermédiaire qui s'approvisionne en requêtes de plusieurs clients externes.
Représentation JSON |
---|
{ "organizationId": string, "organizationDescription": string, "agentId": string } |
Champs | |
---|---|
organizationId |
OBLIGATOIRE: identifiant de l'entreprise, de l'organisation ou du groupe organisationnelle d'où provient cette requête. Doit être unique dans cet |
organizationDescription |
OBLIGATOIRE: nom ou description lisible de l'organisation, qui peut être utilisé pour faciliter la communication entre les employés de Google et l'intégrateur au sujet de cette organisation. |
agentId |
FACULTATIF: identifiant unique de l'agent (employé) spécifique de l'organisation identifié par |
GetDisputeInquiryReportResultCode
Résultat de l'appel de la méthode getDisputeInquiryReport
.
Enums | |
---|---|
UNKNOWN_RESULT |
Ne définissez jamais cette valeur par défaut. |
SUCCESS |
Le paiement a été trouvé, et un rapport est disponible. |
PAYMENT_NOT_FOUND |
Le paiement demandé est introuvable. |
PAYMENT_TOO_OLD |
Le paiement demandé a été trouvé, mais aucun rapport n'a été fourni en raison de l'ancienneté du paiement. |
ORDER_CANNOT_BE_RETURNED |
Le paiement demandé appartient à une commande qui existe, mais ne peut pas être retournée. Il peut s'agir, par exemple, de cas où l'ordonnance a été supprimée à la demande de son propriétaire. |
NO_ADDITIONAL_DETAILS |
Le paiement demandé a été trouvé, mais aucun rapport n'est disponible. |
PurchaseReport
Rapport contenant des détails pertinents sur l'achat associé au paiement demandé.
Représentation JSON |
---|
{ "customerAccount": { object ( |
Champs | |
---|---|
customerAccount |
OBLIGATOIRE: informations concernant le client et son compte. |
order |
OBLIGATOIRE: informations concernant la commande sur laquelle le paiement a été effectué. |
payment |
FACULTATIF: informations concernant le paiement. Remarque: Il est possible de payer plusieurs paiements sur une même commande, mais cette liste ne contiendra que les informations relatives au paiement identifié dans la demande initiale. Non disponible pour tous les types de commandes. |
CustomerAccount
Informations sur le compte du client
Représentation JSON |
---|
{ "customerEmail": string, "customerName": string } |
Champs | |
---|---|
customerEmail |
OBLIGATOIRE: adresse e-mail associée au compte Google du client. |
customerName |
OBLIGATOIRE: nom du client. |
Commande
Informations sur la commande.
Représentation JSON |
---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "shippingAddress": { object ( |
Champs | |
---|---|
timestamp |
FACULTATIF: code temporel du moment où la commande a été passée, exprimé en millisecondes écoulées depuis l'epoch. Non disponible pour tous les types de commandes. |
orderId |
FACULTATIF: chaîne identifiant la commande de manière unique. Non disponible pour tous les types de commandes. |
currencyCode |
FACULTATIF: code de devise ISO 4217 à trois lettres pour tous les montants de la commande. Non disponible pour tous les types de commandes. |
subTotalAmount |
FACULTATIF: montant total hors taxes de la commande, exprimé en micros dans la devise indiquée dans le fichier |
totalAmount |
FACULTATIF: montant total de la commande, taxes incluses, exprimé en micros dans la devise indiquée dans le fichier |
shippingAddress |
FACULTATIF: adresse de livraison des articles physiques de cette commande. |
items[] |
OBLIGATOIRE: liste des éléments qui faisaient partie de cet ordre. |
taxes[] |
OBLIGATOIRE: liste des éléments qui faisaient partie de cet ordre. Cette liste peut être vide. |
Adresse
Structure contenant des informations sur une adresse.
Représentation JSON |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
Champs | |
---|---|
name |
FACULTATIF: Nom complet du client. |
addressLine[] |
FACULTATIF: contient du texte d'adresse non structuré. |
localityName |
FACULTATIF: ce terme est vague, mais il désigne généralement la partie ville d'une adresse. Dans les régions du monde où les localités ne sont pas bien définies ou ne s'intègrent pas bien dans cette structure (par exemple, le Japon et la Chine), laissez le champ LocalNameName (Nom de la ville) vide et utilisez addressLine. Exemples : une "city" aux États-Unis, une "comune" en Italie, une "post town" au Royaume-Uni. |
administrativeAreaName |
FACULTATIF : Sous-division administrative de niveau supérieur du pays ("État des États-Unis", "Région IT", "Province du CN", "Préfecture du Japon"). |
postalCodeNumber |
FACULTATIF: Malgré le nom, les valeurs "postalCodeNumber" sont souvent alphanumériques. Exemples: "94043", "SW1W", "SW1W 9TQ". |
countryCode |
FACULTATIF: Code pays de l'adresse du client, qui doit être ISO-3166-1 Alpha-2. |
Article
Informations sur un article de la commande.
Représentation JSON |
---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": string, "googleProductName": string } |
Champs | |
---|---|
description |
FACULTATIF: description de l'article acheté. Non disponible pour tous les types de commandes. |
merchant |
OBLIGATOIRE: vendeur, artiste ou fabricant de l'article. |
quantity |
FACULTATIF: quantité commandée pour cet article. Ce champ est omis si les quantités entières ne sont pas applicables au produit (les produits facturés au compteur peuvent avoir des quantités fractionnaires, par exemple). |
totalPrice |
FACULTATIF: prix total de l'article, exprimé en micros dans la devise spécifiée dans le fichier |
googleProductName |
OBLIGATOIRE: nom du service produit Google associé à l'article. |
Taxes
Informations sur les taxes qui s'appliquent à cette commande.
Représentation JSON |
---|
{ "description": string, "amount": string } |
Champs | |
---|---|
description |
OBLIGATOIRE: description de la taxe. |
amount |
OBLIGATOIRE: montant de la taxe, exprimé en micros de la devise spécifiée dans le champ |
Paiement
Informations sur le paiement.
Représentation JSON |
---|
{ "billingAddress": { object ( |
Champs | |
---|---|
billingAddress |
OBLIGATOIRE: adresse de facturation pour ce paiement. |
amount |
OBLIGATOIRE: montant de ce paiement, exprimé en micros dans la devise spécifiée dans le champ |
refunds[] |
OBLIGATOIRE: liste des remboursements effectués pour ce paiement. Cette liste peut être vide. |
Champ d'union
|
|
cardDetails |
FACULTATIF: détails de paiement spécifiques aux modes de paiement associés à des cartes de crédit et de débit. |
Remboursement
Informations sur un remboursement effectué pour un paiement.
Représentation JSON |
---|
{ "amount": string, "initiatedTimestamp": string } |
Champs | |
---|---|
amount |
OBLIGATOIRE: montant remboursé (nombre positif en micros de la devise spécifiée dans le champ |
initiatedTimestamp |
OBLIGATOIRE: horodatage du lancement du remboursement, exprimé en millisecondes écoulées depuis l'epoch. |
PaymentCardDetails
Détails de paiement spécifiques aux cartes de crédit et de débit.
Représentation JSON |
---|
{
"authResult": enum ( |
Champs | |
---|---|
authResult |
OBLIGATOIRE: résultat de l'authentification de paiement. |
AuthResult
Résultats de l'authentification de paiement.
Enums | |
---|---|
UNKNOWN_RESULT |
Ne définissez jamais cette valeur par défaut. |
APPROVED |
Authentification approuvée. |
DENIED |
Authentification refusée. |
NOT_ATTEMPTED |
Échec de l'authentification. |