Développeurs

Accepter le paiement par virement sur votre site e-commerce

Intégrer le paiement par virement dans une boutique en ligne : parcours acheteur, création de facture par API, webhook de confirmation et erreurs à éviter.

Publié le 6 min de lecture

Sur une boutique en ligne, le paiement par carte passe par une passerelle qui répond « payé » ou « refusé » en quelques secondes. Le virement fonctionne autrement : il est exécuté par l'acheteur dans sa banque, après la commande. Voici comment l'intégrer sans risque.

Ce qui change par rapport à la carte

  • Pas de page de paiement hébergée, pas de redirection. L'acheteur reste sur votre site.
  • Pas de réponse « payé » immédiate. L'appel API qui crée la facture répond que la commande est engagée.
  • La confirmation arrive plus tard, par webhook, quand la banque de l'acheteur confirme le virement.

Autrement dit : la commande n'est libérée que sur ce webhook.

Le parcours en cinq étapes

  1. L'acheteur choisit « payer par virement.tn » sur votre page de paiement.
  2. Votre formulaire lui demande deux champs : son numéro de téléphone et son code de validation (6 caractères, à usage unique, valable 24 h, disponible dans son espace virement.tn). Ce code remplace la saisie d'un numéro de carte : il prouve le consentement.
  3. Votre serveur crée la facture via l'API, en authentifiant l'appel avec votre clé dans l'en-tête X-Api-Key. La réponse indique que la facture est confirmée : la commande est engagée.
  4. L'acheteur exécute le virement depuis l'application de sa banque, vers votre RIB vérifié.
  5. La banque confirme, virement.tn envoie le webhook signé à votre serveur. C'est le signal de libérer la commande.

Ce qu'il faut avoir avant de commencer

  • Un compte marchand virement.tn actif.
  • Un RIB vérifié : sans lui, la création de facture est refusée.
  • Une clé API, générée depuis Paramètres → Clés API (rôle Gérant requis). La clé et le secret de signature du webhook ne s'affichent qu'une fois : conservez-les côté serveur.

Les erreurs à éviter

  • Libérer la commande à la réponse de l'API. C'est l'erreur la plus grave : le virement n'a pas encore eu lieu.
  • Appeler l'API depuis le navigateur. Votre clé API doit rester sur votre serveur.
  • Ne pas vérifier la signature du webhook. Sans cela, n'importe qui peut simuler une confirmation.
  • Ne pas rendre le traitement idempotent. Par prudence, faites en sorte que recevoir deux fois la même confirmation ne casse rien (libérer une commande déjà libérée doit être sans effet).
  • Oublier le cas « jamais payé ». Prévoyez l'expiration ou l'annulation des commandes en attente de virement.

Pourquoi proposer le virement en plus de la carte

  • Aucun frais de carte.
  • Aucune donnée de carte à manipuler ni à protéger.
  • Une option naturelle pour les clients qui préfèrent ne pas saisir leur carte en ligne.

Vous n'avez pas à choisir : le virement peut compléter la carte. Notre comparatif virement, carte ou prélèvement aide à décider selon vos ventes.

Pour aller plus loin

La page d'intégration résume le principe. La référence technique complète — endpoints, formats, environnement sandbox — est fournie directement aux partenaires en cours d'intégration.

Questions fréquentes

Quand libérer une commande payée par virement ?

À la réception du webhook de confirmation, jamais à la réponse de l'appel de création de facture. À la fin de cet appel, la commande est engagée mais pas encore payée.

L'acheteur doit-il saisir un numéro de carte ?

Non. Il fournit son numéro de téléphone et un code de validation qu'il trouve dans son espace virement.tn, puis règle par virement depuis sa banque.

Combien de temps un code de validation reste-t-il valable ?

24 heures. Il est à usage unique.

Prêt à essayer virement.tn ?

Le pack Gratuit permet d'émettre jusqu'à 10 factures par mois sans engagement, pour tester le parcours de bout en bout.

Créer un compte gratuit