Method: getDisputeInquiryReport

Obtenez un rapport fournissant des informations pour faciliter la discussion avec le service client en cas de contestation potentielle d'un paiement.

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

Les réponses à cette requête peuvent être vides si cette méthode ne renvoie pas de réponse HTTP 200. Le corps de la réponse est vide dans les situations où un élément ErrorResponse 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 ces situations, lorsque 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 peut être validée, des informations supplémentaires sur l'erreur seront renvoyées dans le corps de la réponse.

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

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 (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "paymentLookupCriteria": {
    object (PaymentLookupCriteria)
  },
  "existingGoogleClaimId": string,
  "requestOriginator": {
    object (RequestOriginator)
  }
}
Champs
requestHeader

object (RequestHeader)

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

paymentIntegratorAccountId

string

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

paymentLookupCriteria

object (PaymentLookupCriteria)

OBLIGATOIRE: critères indiquant le paiement à rechercher pour cette demande.

existingGoogleClaimId

string

FACULTATIF: chaîne générée par Google et renvoyée par un appel précédent à getDisputeInquiryReport qui identifie de manière unique cette revendication de contestation du client.

S'il est absent, un nouvel ID de revendication est généré. L'appelant peut fournir un googleClaimId qui a été renvoyé par un appel précédent à getDisputeInquiryReport s'il s'agit d'une continuation du même litige client.

L'ID de revendication renseigné ou généré est renvoyé dans le champ googleClaimId de la réponse.

La valeur googleClaimId n'a pas été renvoyée lors d'un appel précédent à getDisputeInquiryReport. Le cas échéant, une requête HTTP 400 incorrecte est renvoyée.

requestOriginator

object (RequestOriginator)

OBLIGATOIRE: informations sur l'organisation ou le sous-groupe organisationnel à l'origine de cette requête.

Corps de la réponse

Charge utile de la 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 (ResponseHeader)
  },
  "result": enum (GetDisputeInquiryReportResultCode),
  "googleClaimId": string,
  "report": {
    object (PurchaseReport)
  }
}
Champs
responseHeader

object (ResponseHeader)

REQUIRED: en-tête commun pour toutes les réponses.

result

enum (GetDisputeInquiryReportResultCode)

REQUIRED: résultat de cet appel.

googleClaimId

string

FACULTATIF: chaîne générée par Google qui identifie de manière unique cette contestation de client. (uniquement si result a réussi.)

Si existingGoogleClaimId a été renseigné dans la requête, la valeur sera identique. Sinon, il s'agira d'une nouvelle valeur générée. Cette valeur pourra être fournie dans de futures demandes getDisputeInquiryReport si elles font partie du même litige de client.

report

object (PurchaseReport)

FACULTATIF: informations relatives à la contestation du paiement identifié dans la demande. (uniquement si result a réussi.)

Critère de paiement

Conteneur pour les critères permettant de rechercher un paiement de manière unique. Vous devez renseigner un (et un seul) champ de type membre.

Représentation JSON
{

  // Union field criteria can be only one of the following:
  "arnCriteria": {
    object (ArnCriteria)
  },
  "googleTransactionReferenceNumberCriteria": {
    object (GoogleTransactionReferenceNumberCriteria)
  },
  "captureRequestCriteria": {
    object (CaptureRequestCriteria)
  }
  // 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 :

arnCriteria

object (ArnCriteria)

FACULTATIF: Recherche basée sur le numéro de référence d'acquisition (ARN).

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

FACULTATIF: Recherche basée sur le numéro de référence de la transaction Google.

captureRequestCriteria

object (CaptureRequestCriteria)

FACULTATIF: Recherche basée sur l'ID de la requête de capture.

Critères d'ARN

Critères de recherche pour les paiements en fonction du 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

REQUIRED: code d'autorisation pour la transaction.

GoogleTransactionReferenceNumberCriteria

Critères de recherche pour les paiements en fonction du 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 et qui identifie de manière unique le paiement.

authorizationCode

string

REQUIRED: code d'autorisation pour la transaction.

CaptureRequestCritère

Critères de recherche de paiements en fonction de la demande de capture d'origine.

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

string

REQUIRED: identifiant unique pour cette transaction. Il s'agit de l'requestId généré par Google lors de l'appel capture.

RequestOriginator

Informations sur l'organisation ou le sous-groupe organisationnel, et éventuellement sur l'employé d'où provient cette requête. Google peut ainsi identifier les problèmes ou les abus et implémenter des contrôles plus précis que paymentIntegratorAccountId. Cela est particulièrement utile lorsque l'appelant est un fournisseur de services intermédiaire qui obtient les requêtes de plusieurs clients externes.

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

string

REQUIRED: identifiant de l'entreprise, de l'organisation ou du groupe d'organisation à l'origine de cette requête. Doit être unique dans ce paymentIntegratorAccountId.

organizationDescription

string

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

agentId

string

FACULTATIF: identifiant unique de l'agent (employé) de l'organisation identifié par organizationId à l'origine de cette requête. Doit être unique dans ce organizationId.

GetContestInquiryReportResultCode

Résultat de l'appel de 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 fourni.
PAYMENT_NOT_FOUND Le paiement demandé est introuvable.
PAYMENT_TOO_OLD Le paiement demandé a été trouvé, mais vous n'avez pas reçu de rapport 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. Cela peut s'expliquer par le fait que la commande 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.

Rapport sur les achats

Rapport contenant des détails pertinents sur l'achat associé au paiement demandé.

Représentation JSON
{
  "customerAccount": {
    object (CustomerAccount)
  },
  "order": {
    object (Order)
  },
  "payment": {
    object (Payment)
  }
}
Champs
customerAccount

object (CustomerAccount)

OBLIGATOIRE: informations sur le client et son compte.

order

object (Order)

OBLIGATOIRE: informations concernant la commande sur laquelle le paiement a été effectué.

payment

object (Payment)

FACULTATIF: Informations concernant le paiement. Remarque: Il est possible d'effectuer plusieurs paiements sur une seule commande, mais celui-ci contiendra uniquement les informations du paiement identifié dans la demande initiale. Non disponible pour certains types de commandes.

CompteClient

Informations sur le compte du client

Représentation JSON
{
  "customerEmail": string,
  "customerName": string
}
Champs
customerEmail

string

OBLIGATOIRE: adresse e-mail associée au compte Google du client.

customerName

string

REQUIRED: nom du client.

Commande

Informations sur la commande.

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

string (int64 format)

FACULTATIF: horodatage de la commande, exprimé en millisecondes depuis l'epoch. Non disponible pour certains types de commandes.

orderId

string

FACULTATIF: chaîne identifiant de façon unique cette commande. Non disponible pour certains types de commandes.

currencyCode

string

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

subTotalAmount

string (Int64Value format)

FACULTATIF: montant total de la commande hors taxes, exprimé en micros de la devise spécifiée dans order.currencyCode. Cela équivaut à SUM(items.totalPrice). Non disponible pour certains types de commandes.

totalAmount

string (Int64Value format)

FACULTATIF: Montant total de la commande, taxes comprises, exprimé en micros de la devise spécifiée dans order.currencyCode. Cela équivaut à subTotalAmount + SUM(taxes.amount). Non disponible pour certains types de commandes.

shippingAddress

object (Address)

FACULTATIF: adresse de livraison des produits physiques commandés.

items[]

object (Item)

REQUIRED: liste des articles inclus dans cette commande.

taxes[]

object (Tax)

REQUIRED: liste des articles inclus dans cette commande. Cette liste est 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

string

FACULTATIF: Nom complet du client.

addressLine[]

string

OPTIONAL: contient le texte d'adresse non structuré.

localityName

string

FACULTATIF: ce terme est flou, mais fait généralement référence à la ville. 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 la localitéName vide et utilisez addressLine.

Exemples : une "city" aux États-Unis, une "comune" en Italie, une "post town" au Royaume-Uni.

administrativeAreaName

string

FACULTATIF: subdivision administrative de niveau supérieur de ce pays. Exemples: État des États-Unis, région informatique, province du CN, préfecture du Japon.

postalCodeNumber

string

FACULTATIF: malgré leur nom, les valeurs "postalCodeNumber" sont souvent alphanumériques. Exemples: "94043", "SW1W", "SW1W 9TQ".

countryCode

string

FACULTATIF: Le code pays de l'adresse du client 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

string

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

merchant

string

REQUIRED: vendeur, artiste ou fabricant de l'article.

quantity

string (Int64Value format)

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 être divisés en plusieurs fois, par exemple).

totalPrice

string (Int64Value format)

FACULTATIF: prix total de cet article, exprimé en micros, dans la devise spécifiée dans order.currencyCode. Si l'attribut quantity est renseigné, il s'agit du prix total de la quantité totale. Non disponible pour certains types de commandes.

googleProductName

string

REQUIRED: nom du service de produits Google pour l'article.

Taxes

Informations sur les taxes applicables à cette commande.

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

string

REQUIRED: description de la taxe.

amount

string (Int64Value format)

OBLIGATOIRE: montant des taxes, représenté par le micro de la devise spécifiée dans order.currencyCode.

Le paiement

Informations sur le paiement.

Représentation JSON
{
  "billingAddress": {
    object (Address)
  },
  "amount": string,
  "refunds": [
    {
      object (Refund)
    }
  ],

  // Union field fopDetails can be only one of the following:
  "cardDetails": {
    object (PaymentCardDetails)
  }
  // End of list of possible types for union field fopDetails.
}
Champs
billingAddress

object (Address)

OBLIGATOIRE: adresse de facturation pour ce paiement.

amount

string (Int64Value format)

OBLIGATOIRE: montant de ce paiement, exprimé en micros de la devise spécifiée dans order.currencyCode. Remarque: Cette valeur peut être différente de order.totalAmount si la commande a été réglée via plusieurs paiements.

refunds[]

object (Refund)

OBLIGATOIRE: liste des remboursements effectués pour ce paiement. Cette liste est peut-être vide.

Champ d'union fopDetails.

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

cardDetails

object (PaymentCardDetails)

FACULTATIF: Informations de paiement spécifiques aux modes de paiement.

Remboursement

Informations sur un remboursement effectué pour un paiement.

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

string (Int64Value format)

OBLIGATOIRE: montant remboursé, soit un nombre positif de micros de la devise spécifiée dans order.currencyCode.

initiatedTimestamp

string (int64 format)

REQUIRED: horodatage de l'émission du remboursement (en millisecondes depuis l'epoch).

Détails de la carte de paiement

Informations de paiement spécifiques aux cartes de crédit et de débit.

Représentation JSON
{
  "authResult": enum (AuthResult)
}
Champs
authResult

enum (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 Tentative d'authentification impossible.