Method: getDisputeInquiryReport

Obtenez un rapport contenant des informations pour faciliter la conversation avec le service client avec un utilisateur concernant la contestation potentielle d'un paiement.

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

paymentLookupCriteria

object (PaymentLookupCriteria)

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

existingGoogleClaimId

string

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

Sinon, un nouvel ID de revendication sera généré. L'appelant peut fournir un googleClaimId qui a été renvoyé par un appel précédent à getDisputeInquiryReport s'il fait suite à la même contestation du client.

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

Il n'est pas valide de fournir un googleClaimId qui n'a pas été renvoyé par un appel précédent à getDisputeInquiryReport. Dans ce cas, l'erreur HTTP 400 (Requête incorrecte) est renvoyée.

requestOriginator

object (RequestOriginator)

OBLIGATOIRE: informations sur l'organisation ou le sous-groupe d'organisations à l'origine de cette 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 (ResponseHeader)
  },
  "result": enum (GetDisputeInquiryReportResultCode),
  "googleClaimId": string,
  "report": {
    object (PurchaseReport)
  }
}
Champs
responseHeader

object (ResponseHeader)

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

result

enum (GetDisputeInquiryReportResultCode)

OBLIGATOIRE: résultat de cet appel.

googleClaimId

string

FACULTATIF: chaîne générée par Google identifiant de façon unique la contestation effectuée par le client. (Présent si et seulement si result a la valeur SUCCÈS.)

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

report

object (PurchaseReport)

FACULTATIF: informations concernant la contestation du paiement identifié dans la demande. (Présent si et seulement si result a la valeur SUCCÈS.)

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 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 de l'acquéreur (ARN).

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

FACULTATIF: Effectuez la recherche en fonction du numéro de référence de la transaction Google.

captureRequestCriteria

object (CaptureRequestCriteria)

FACULTATIF: Recherche basée sur l'ID de demande de capture.

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.

CaptureRequestCriteria

Critères de recherche de paiement en fonction de la demande de capture initiale.

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

string

OBLIGATOIRE: Identifiant unique de cette transaction. Il s'agit du requestId généré par Google lors de l'appel capture en cours de recherche.

RequestOriginator

Informations sur l'organisation ou le sous-groupe d'organisation, et éventuellement sur l'employé, 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,
  "agentId": 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.

agentId

string

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

GetDisputeInquiryReportResultCode

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 aucun rapport n'a été fourni en raison de son ancienneté.
ORDER_CANNOT_BE_RETURNED Le paiement demandé appartient à une commande qui existe, mais ne peut pas être retourné. Il peut s'agir, par exemple, d'une ordonnance qui 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

Un 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 concernant le client et son compte.

order

object (Order)

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

payment

object (Payment)

FACULTATIF: informations concernant le paiement. Remarque: Vous pouvez effectuer plusieurs paiements pour une même commande, mais celle-ci 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

string

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

customerName

string

OBLIGATOIRE: 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, 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 micros 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 micros dans la devise spécifiée dans order.currencyCode. Cela équivaut à subTotalAmount + SUM(taxes.amount). Non disponible pour tous les types de commandes.

shippingAddress

object (Address)

FACULTATIF: adresse de livraison des articles physiques de cette commande.

items[]

object (Item)

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

taxes[]

object (Tax)

OBLIGATOIRE: liste des éléments inclus dans cette commande. 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

string

FACULTATIF: nom complet du client.

addressLine[]

string

FACULTATIF: contient du texte d'adresse non structuré.

localityName

string

FACULTATIF: ce terme manque généralement de précision, mais il fait généralement référence à la partie ville/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 (Japon et Chine, par exemple), laissez le champ localityName 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 d'Italie, province du CN, préfecture du Japon.

postalCodeNumber

string

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

countryCode

string

FACULTATIF: code pays de l'adresse du client, au format ISO-3166-1 Alpha-2.

É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 micros de la devise spécifiée dans order.currencyCode.

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 du paiement, représenté par des micros de la devise spécifiée dans order.currencyCode. Remarque: Il est possible que cette valeur ne corresponde pas à la valeur order.totalAmount si la commande a été payée par le biais de plusieurs paiements.

refunds[]

object (Refund)

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

Champ d'union fopDetails.

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

cardDetails

object (PaymentCardDetails)

FACULTATIF: détails du paiement spécifiques aux crédits et modes de paiement pour cartes de débit.

Remboursement

Informations sur le remboursement d'un paiement.

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

string (Int64Value format)

OBLIGATOIRE: Montant remboursé. Il s'agit d'un nombre positif de micros dans la devise spécifiée dans order.currencyCode.

initiatedTimestamp

string (int64 format)

OBLIGATOIRE: horodatage (en millisecondes depuis l'epoch) du lancement du remboursement.

PaymentCardDetails

Détails des paiements spécifiques au crédit et cartes de débit.

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

enum (AuthResult)

OBLIGATOIRE: résultat de l'autorisation de paiement.

AuthResult

Résultats de l'autorisation de paiement.

Enums
UNKNOWN_RESULT Ne définissez jamais cette valeur par défaut.
APPROVED Authentification approuvée.
DENIED Authentification refusée.
NOT_ATTEMPTED Aucune tentative d'authentification.