Rembourse une partie ou l'intégralité de la transaction effectuée via le capture
. La combinaison de requestId
dans l'en-tête et de paymentIntegratorAccountId
est la clé d'idempotence, qui identifie cette transaction de manière unique.
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
Voici un 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"
}
Voici un 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 |
OBLIGATOIRE: en-tête commun à toutes les requêtes. |
paymentIntegratorAccountId |
OBLIGATOIRE: numéro de compte de l'intégrateur de paiement qui définit les contraintes contractuelles liées à cette transaction. |
captureRequestId |
OBLIGATOIRE: Identifiant unique de cette transaction. Il s'agit du |
currencyCode |
OBLIGATOIRE: code de devise ISO 4217 à trois lettres |
refundAmount |
OBLIGATOIRE: Montant du remboursement. Il s'agit d'un nombre positif de micros correspondant à l'unité monétaire. |
Corps de la réponse
Objet de réponse pour la méthode 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 |
OBLIGATOIRE: en-tête commun à 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 par lequel l'intégrateur connaît le remboursement. Pour plus de commodité, cet identifiant est inclus dans les détails du versement. |
result |
OBLIGATOIRE: résultat de ce remboursement. |
rawResult |
FACULTATIF: résultat brut de ce remboursement. Permet d'informer le moteur de risques et les analyses de Google. En cas de mise en correspondance de code de refus, des données sont parfois perdues. L'intégrateur peut choisir de fournir à Google un code brut. Par exemple, une passerelle de carte de crédit (l'intégrateur) peut utiliser ce champ pour communiquer à Google le code de refus exact envoyé par le réseau VISA. Dans ce cas, le Cette valeur est obligatoire si |
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 de v1.refund. Il ne reste plus d'argent pour 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é. |