support
Retour à la documentation
Rechercher
Catégories
Tags
Paramètres principauxtout montrer
uuid
requis
options générales
amount
currency
resolutionMode
comment
options relatives à la méthode de paiement
transactionOptions
cardOptions
manualValidation
captureDelay
mid
Testez moi
Documentation

Web service Transaction/CancelOrRefund

POSThttps://api.systempay.fr/api-payment/V4/Transaction/CancelOrRefund

Le Web Service REST Transaction/CancelOrRefund permet d'annuler totalement une transaction ou d'effectuer un remboursement (total ou partiel si l'acquéreur le supporte).

Une annulation totale sera réalisée si le statut de la transaction fait parti de la liste ci-dessous:

  • AUTHORISED_TO_VALIDATE (A valider)
  • WAITING_AUTHORISATION_TO_VALIDATE (A valider et autoriser)
  • WAITING_AUTHORISATION (En attente d’autorisation)
  • AUTHORISED (En attente de remise)

Si detailedStatus vaut CAPTURED, alors l'opération sera un remboursement. Dans ce cas, si le montant transmis dans la requête est égal au montant de la transaction, alors le remboursement sera total. Si le montant transmis est inférieur au montant de la transaction, alors le remboursement sera partiel.

Vous pouvez rembourser partiellement plusieurs fois une transaction, jusqu'à son remboursement total.

Cas des impayés: Toute tentative de remboursement sur une transaction impayée sera refusée.

Cas de refus de remboursement:

C' est la banque de l' acheteur qui s' oppose à la demande de remboursement. Vous devez rembourser votre acheteur par un autre moyen de paiement (chèque, virement...).

Pour le réseau CB, nous indiquons le code et le motif du refus renvoyés par la banque de l' acheteur. Le code de refus se trouve dans le detailedErrorCode. Par exemple, si la demande de remboursement se fait sur une carte en opposition, le code et le motif du refus sera "59: suspicion de fraude" pour certains acquéreurs. Consultez la liste des codes de retour spécifiques au réseau CB pour plus de détails.

Cas de l'annulation partielle

Utilisez le Web Service Transaction /Update si vous souhaitez modifier le montant d'une transaction dont le statut fait parti de la liste ci-dessous:

  • AUTHORISED_TO_VALIDATE (A valider)
  • WAITING_AUTHORISATION_TO_VALIDATE (A valider et autoriser)
  • WAITING_AUTHORISATION (En attente d’autorisation)
  • AUTHORISED (En attente de remise)

Pour plus de détails sur les statuts, consultez l'article suivant : Cycle de vie d'une transaction.

Si la transaction a déjà été remboursée totalement, le Web Service retourne un code PSP_104.

Si la transaction a déjà été annulée, le Web Service retourne un code PSP_105.

Paramètres de la requête

uuid

Référence unique de la transaction générée par la plateforme de paiement.

Format

amount

Montant du paiement dans sa plus petite unité monétaire (le centime pour l'euro).

Exemple: 30050 pour 300, 50 EUR.

Format

currency

Devise du paiement. Code alphabétique en majuscule selon la norme ISO 4217 alpha-3.

Exemple: "EUR" pour l'euro.

Format

Valeurs possibles

Les valeurs possibles sont les suivantes:

Devise CODIFICATION ISO 4217 Unité fractionnaire
Dollar australien (036) AUD 2
Lev Bulgare (975) BGN 2
Real du Brésil (986) BRL 2
Dollar canadien (124) CAD 2
Franc suisse (756) CHF 2
Renminbi yuan chinois (156) CNY 1
Couronne tchèque (203) CZK 2
Couronne danoise (208) DKK 2
Euro (978) EUR 2
Livre Sterling (826) GBP 2
Dollar de Hong Kong (344) HKD 2
Kuna Croate (191) HRK 2
Forint hongrois (348) HUF 2
Roupie Indienne (356) INR 2
Roupie indonésienne (360) IDR 2
Yen (392) JPY 0
Riel Cambodgien (116) KHR 0
Won Sud Coréen (410) KRW 0
Peso mexicain (484) MXN 2
Ringgit malais (458) MYR 2
Dollar néo-zélandais (554) NZD 2
Couronne norvégienne (578) NOK 2
Peso philippin (608) PHP 2
Zloty polonais (985) PLN 2
Leu Roumain (946) RON 2
Rouble russe (643) RUB 2
Dollar de Singapour (702) SGD 2
Couronne suédoise (752) SEK 2
Baht thailandais (764) THB 2
Lire turque (949) TRY 2
Nouveau dollar de Taïwan (901) TWD 2
Dollar des États-Unis (840) USD 2
Franc CFP (953) XPF 0
Rand sud-africain (710) ZAR 2

resolutionMode

Une transaction peut être autorisée et en attente de remise en banque, ou remise en banque. En fonction du status de remise, plusieurs opérations sont possibles :

Si la transaction est en attente de remise :

Dans ce cas, il est possible d'annuler la transaction. La remise en banque n'aura pas lieu. Les nouveaux status de la transaction seront :

status UNPAID
detailedStatus CANCELLED

Si la transaction est remisée :

Dans ce cas, il n'est plus possible d'annuler la transaction.

Il faut créer une nouvelle transaction de remboursement (ou refund en anglais).

Que fait réllement Transaction/CancelOrRefund :

le Web Service REST Transaction/CancelOrRefund choisit l'opération à effectuer automatiquement.

Mais il est possible de forcer le type d'opération grace au paramètre resolutionMode.

Si le champ est envoyé à vide, la valeur par défaut sera AUTO.

Valeurs possibles

Les valeurs possibles sont les suivantes:

Valeur Description
AUTO Remboursement autorisé si le statut de la transaction le permet.
CANCELLATION_ONLY Effectue une annulation. Si la transaction est remisée, une erreur est retournée.
REFUND_ONLY Effectue un remboursement. Si la transaction n'est pas remisée, une erreur est retournée.

Format

Pour aller plus loin

Pour plus de détails sur le concept de remise, consulter l'article Annuler / rembourser une transaction

comment

Commentaire libre.

Format

manualValidation

Chemin: transactionOptions.cardOptions.manualValidation

Mode de validation de la transaction.

Format

Valeurs possibles

Les valeurs possibles sont les suivantes:

Valeur Description
NO Validation automatique par la plateforme de paiement.
YES Validation manuelle par le marchand.
null Configuration par défaut de la boutique retenue (paramétrable dans le Back Office Marchand).

captureDelay

Chemin: transactionOptions.cardOptions.captureDelay

Délai à appliquer à la date de capture.

Description

Indique le délai en nombre de jours avant remise en banque.

Si ce paramètre n’est pas transmis, alors la valeur par défaut définie dans le Back Office Marchand sera utilisée.

Cette dernière est paramétrable dans le Back Office Marchand par toutes les personnes dûment habilitées.

Si le délai avant remise est supérieur à 365 jours dans la requête de paiement, il est automatiquement repositionné à 365 jours.

Format

mid

Numéro de contrat commerçant. Ce champ ne peut pas être utilisé et doit être null.

Référence de la réponse

Le web service retourne l'objet suivant:

Réponse Contexte
Transaction Objet contenant les informations de la transaction.

Voir la référence de la réponse pour plus de détails.