Method: refundResultNotification

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

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

La valeur refundResult étant idempotente pour ce refundRequestId, elle ne peut 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 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": "1481855928301"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
  "paymentIntegratorRefundId": "invisi/Id::xx__1243",
  "refundResult": "SUCCESS"
}

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)

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

paymentIntegratorAccountId

string

OBLIGATOIRE: identifiant de compte d'intégrateur de paiement sur lequel le remboursement a eu lieu.

refundRequestId

string

OBLIGATOIRE: identifiant unique pour ce remboursement, établi dans le champ requestId lors de l'appel de la méthode refund.

refundResult

enum (RefundResultCode)

OBLIGATOIRE: Résultat de ce remboursement.

paymentIntegratorRefundId

string

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

Pour plus de commodité, cet identifiant est inclus dans les informations de paiement

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)

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

result

enum (RefundResultNotificationResultCode)

REQUIRED: résultat de cet appel.

PaymentResultCode (Code de résultat du remboursement)

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

Enums
UNKNOWN_RESULT Ne définissez jamais cette valeur par défaut.
SUCCESS Remboursement effectué.
NO_MONEY_LEFT_ON_TRANSACTION Échec du remboursement. Il ne reste plus d'argent sur la transaction. En général, cela représente un bug entre l'intégrateur et Google. Google ne doit pas demander le remboursement d'un montant supérieur à celui de la capture d'origine.
ACCOUNT_CLOSED

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

Si vous renvoyez cette valeur, l'instrument de l'utilisateur sera fermé avec Google. L'utilisateur sera contraint d'ajouter un nouvel instrument en suivant à nouveau le flux d'association.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

Le compte de l'utilisateur associé à l'intégrateur a été clôturé. Il risque d'être piraté.

Si vous renvoyez cette valeur, l'instrument de l'utilisateur sera fermé avec Google. L'utilisateur sera contraint d'ajouter un nouvel instrument en suivant à nouveau le flux d'association.

ACCOUNT_CLOSED_FRAUD

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

Si vous renvoyez cette valeur, l'instrument de l'utilisateur sera fermé avec Google. L'utilisateur sera contraint d'ajouter un nouvel instrument en suivant à nouveau le flux d'association.

ACCOUNT_ON_HOLD Le compte de l'utilisateur est actuellement suspendu et ne peut pas accepter le remboursement. Il pourra par la suite accepter le remboursement. Google pourra demander un nouveau remboursement ultérieurement, mais avec un nouveau requestId. Cette demande devrait donc être considérée comme terminée.
REFUND_EXCEEDS_MAXIMUM_BALANCE Le remboursement ne peut pas être effectué pour le moment, car cela entraînerait un dépassement du montant maximal autorisé. Google pourra demander un nouveau remboursement ultérieurement, mais avec un nouveau requestId. Cette demande devrait donc être considérée comme terminée.
REFUND_WINDOW_EXCEEDED Impossible de traiter le remboursement, car la demande est en dehors de la période de remboursement autorisée.

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 de remboursement a bien été envoyée.