Rembourse une partie ou l'intégralité de la transaction lancée via capture
La combinaison de requestId
dans l'en-tête et paymentIntegratorAccountId
est la clé d'idempotence, qui identifie de manière unique cette transaction.
Si le point de terminaison rencontre une erreur lors du traitement de la requête, le corps de la réponse de ce point de terminaison doit être de type
.ErrorResponse
Exemple de requête:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "liUrreQY233839dfFFb24gaQM",
"requestTimestamp": "1502220434778"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"currencyCode": "INR",
"refundAmount": "208000000"
}
Exemple de réponse:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorRefundId": "cmVmdW5kIGlkZW50aWZpZXINCg"
}
Requête HTTP :
POST https://www.integratorhost.example.com/v1/refund
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 |
REQUIRED: en-tête commun à toutes les requêtes. |
paymentIntegratorAccountId |
REQUIRED: ID de compte d'intégrateur de paiement qui définit les contraintes contractuelles liées à cette transaction. |
captureRequestId |
REQUIRED: identifiant unique pour cette transaction. Il s'agit de l' |
currencyCode |
OBLIGATOIRE: code de devise à trois lettres ISO 4217 |
refundAmount |
OBLIGATOIRE: montant du remboursement, soit un nombre positif de micros unités de la devise. |
Corps de la réponse
Objet de réponse pour le mode de remboursement.
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 |
REQUIRED: en-tête commun pour toutes les réponses. |
paymentIntegratorRefundId |
FACULTATIF: 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 |
result |
OBLIGATOIRE: Résultat de ce remboursement. |
rawResult |
FACULTATIF: Résultat brut de ce remboursement. Permet de guider le moteur de gestion des risques et les analyses de Google. Dans les situations de mappage de code refusé, les données sont parfois perdues. L'intégrateur peut choisir de donner à Google un code brut. Par exemple, une passerelle de carte de crédit (l'intégrateur) peut utiliser ce champ pour indiquer à Google le code de refus exact reçu par le réseau VISA. Dans ce cas, le Cette valeur est obligatoire si l'élément |
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 de la v1.refund. Il ne reste aucune somme 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. |