Method: refundResultNotification

Informer Google du résultat d'un remboursement après un appel de méthode refund

Les remboursements doivent être gérés de manière synchrone lors de l'appel de la méthode refund. Toutefois, cette méthode fournit à Google un signal de secours rapide au cas où l'appel synchrone échouerait après avoir effectué l'action, mais avant de pouvoir renvoyer un résultat. Cela évite le délai introduit par Google pour planifier une nouvelle tentative.

La valeur refundResult est idempotente pour cet élément refundRequestId. Elle ne peut donc pas être modifiée par un appel ultérieur à cette méthode.

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": "1481855928301"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
  "paymentIntegratorRefundId": "invisi/Id::xx__1243",
  "refundResult": "SUCCESS"
}

Voici un exemple de réponse:


{
  "responseHeader": {
    "responseTimestamp": "1481855928376"
  },
  "result": "SUCCESS"
}

Requête HTTP

POST https://vgw.googleapis.com/secure-serving/gsp/v1/refundResultNotification/: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,
  "refundRequestId": string,
  "refundResult": enum (RefundResultCode),
  "paymentIntegratorRefundId": string
}
Champs
requestHeader

object (RequestHeader)

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

paymentIntegratorAccountId

string

OBLIGATOIRE: identifiant du compte de l'intégrateur de paiement sur lequel le remboursement a été effectué.

refundRequestId

string

OBLIGATOIRE: identifiant unique de ce remboursement, défini par le champ requestId lors de l'appel de la méthode refund.

refundResult

enum (RefundResultCode)

OBLIGATOIRE: résultat de ce remboursement.

paymentIntegratorRefundId

string

OBLIGATOIRE: cet identifiant est spécifique à l'intégrateur et est généré par celui-ci. Il s'agit de l'identifiant par lequel l'intégrateur connaît le remboursement.

Pour plus de commodité, cet identifiant est inclus dans les détails du versement.

Corps de la réponse

Objet de réponse pour la méthode refundResultNotification.

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 (RefundResultNotificationResultCode)
}
Champs
responseHeader

object (ResponseHeader)

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

result

enum (RefundResultNotificationResultCode)

OBLIGATOIRE: résultat de cet appel.

RefundResultCode

Les codes de résultat uniques sont remboursés.

Enums
UNKNOWN_RESULT Ne définissez jamais cette valeur par défaut.
SUCCESS Remboursement réussi.
NO_MONEY_LEFT_ON_TRANSACTION Échec du remboursement. Il ne reste plus d'argent sur la transaction. Il s'agit généralement d'un bug entre l'intégrateur et Google. Google ne doit pas demander de remboursement d'un montant supérieur à celui de l'enregistrement d'origine.
ACCOUNT_CLOSED

Le compte détenu par l'intégrateur a été clôturé.

Le renvoi de cette valeur entraîne la clôture du mode de paiement de l'utilisateur auprès de Google. L'utilisateur sera obligé d'ajouter un nouvel instrument en reprenant le flux d'association.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

Le compte de l'utilisateur associé à l'intégrateur a été clôturé. Le compte a probablement été piraté.

Le renvoi de cette valeur entraîne la clôture du mode de paiement de l'utilisateur auprès de Google. L'utilisateur sera obligé d'ajouter un nouvel instrument en reprenant le flux d'association.

ACCOUNT_CLOSED_FRAUD

Le compte de l'utilisateur détenu par l'intégrateur a été clôturé pour fraude.

Le renvoi de cette valeur entraîne la clôture du mode de paiement de l'utilisateur auprès de Google. L'utilisateur sera obligé d'ajouter un nouvel instrument en reprenant le flux d'association.

ACCOUNT_ON_HOLD Le compte de l'utilisateur est actuellement suspendu et ne peut pas accepter le remboursement. Toutefois, le compte de l'utilisateur pourra peut-être le faire ultérieurement. Google pourra demander un autre remboursement à l'avenir, mais procédera avec un nouveau requestId. Cette demande doit donc être considérée comme traitée.
REFUND_EXCEEDS_MAXIMUM_BALANCE Impossible de traiter le remboursement pour le moment, car le solde de l'utilisateur risquerait de dépasser le montant maximal autorisé. Google pourra demander un autre remboursement à l'avenir, mais procédera avec un nouveau requestId. Cette demande doit donc être considérée comme traitée.
REFUND_WINDOW_EXCEEDED Impossible de traiter le remboursement, car la demande est en dehors du délai de remboursement autorisé.

RefundResultNotificationResultCode

Codes de résultat pour la méthode refundResultNotification.

Enums
UNKNOWN_RESULT Ne définissez jamais cette valeur par défaut.
SUCCESS La notification de résultat du remboursement a bien été envoyée.