Post-vente

Les flux MangoPay

PayIn, Transfer, PayOut — l'argent entre, se répartit, puis sort vers une vraie banque, avec KYC/SCA et webhooks.

Les flux MangoPay

MangoPay est l'établissement de paiement qui héberge les « portefeuilles » (wallets) où transite l'argent. Trois opérations suffisent à tout comprendre : PayIn (l'argent entre), Transfer (l'argent se répartit), PayOut (l'argent sort vers une vraie banque).

L'image du vestiaire. Imaginez MangoPay comme un vestiaire sécurisé avec des casiers nominatifs : chaque acheteur a un casier (wallet payeur), chaque vendeur a un casier (wallet propriétaire), et la plateforme a ses casiers à elle (commissions). L'acheteur dépose l'argent dans son casier (PayIn), le personnel répartit le contenu entre les casiers du vendeur et de la plateforme (Transfers), puis le vendeur fait virer le contenu de son casier vers sa banque (PayOut). À aucun moment l'argent ne se mélange.

L'architecture des comptes

Chaque organisation (société acheteuse ou vendeuse) possède un MangopayAccount qui regroupe :

ÉlémentRôle
payerAccount (catégorie PAYER)Le compte « acheteur » : utilisateur MangoPay + wallet(s) où arrivent ses paiements (un wallet par shop dans le format multi-shop).
ownerAccount (catégorie OWNER)Le compte « vendeur » : utilisateur MangoPay + wallet(s) où arrive sa part des ventes.
auctioneerWalletIdWallet dédié au mode commissaire-priseur.
virtualAccountL'IBAN virtuel de l'acheteur : un vrai IBAN, personnel, sur lequel il peut virer depuis sa banque. Statuts : PENDING, ACTIVE, BLOCKED, CLOSED.
recipientsLes IBAN de destination enregistrés (et validés par authentification forte) pour les reversements : owner (vendeur) et auctioneer. Statuts : PENDING, ACTIVE, CANCELED, DEACTIVATED.
kycLes documents d'identification (voir section KYC).

Côté plateforme, le shop possède ses wallets techniques (config meta.secure.mangopay) : platformCourtageCommissionWallet (commissions de courtage et frais acheteur), platformCPCommissionWallet (commissions commissaire-priseur), platformVatCautionWallet (caution TVA), et platformBankAccount (le compte bancaire réel de la plateforme).

Les utilisateurs MangoPay sont typés : NATURAL (personne physique) ou LEGAL (personne morale : BUSINESS, ORGANIZATION, SOLETRADER, PARTNERSHIP).

1. PayIn — l'argent entre

Deux moyens de paiement (PAYMENT_TYPES) :

💳 CARD (carte)🏦 BANK_WIRE (virement)
CommentL'acheteur clique sur l'URL de paiement (3-D Secure). Cartes CB/Visa/Mastercard/Amex/Maestro.L'acheteur vire sur son IBAN virtuel personnel.
RapprochementCertain : la PaymentRequest liait déjà les factures au paiement (matchBankMovement avec les invoiceShortIds).Quasi-automatique : l'IBAN virtuel identifie l'acheteur (findByWalletId → organisation), puis autoMatchBankMovement par montant/date.
WebhookPAYIN_NORMAL_SUCCEEDED → création du mouvement bancaire IN (statut NEW) avec la trace MangoPay (indexedMeta.mangopay.payinId, wallet crédité, wire reference) → rapprochement → facture PAID.(idem carte : même webhook)

2. Transfer — l'argent se répartit

Une fois la vente confirmée et la commission validée, des transferts déplacent l'argent du wallet de l'acheteur vers les bons destinataires. Les types (TransferTypes) :

TypeDe → VersQuoi
PAY_IN_BROKERAGEWallet acheteur → wallet vendeurLa part du vendeur (vente en courtage)
PAY_IN_AUCTIONEERWallet acheteur → wallet commissaire-priseurLa vente en mode commissaire-priseur
COMMISSIONWallet acheteur → wallet plateformeLa commission de courtage
BUYER_FEESWallet acheteur → wallet plateformeLes frais acheteur
VAT_CAUTION(réservé)Caution TVA — prévu, non utilisé actuellement
💰 Exemple chiffré (courtage, FEES_DEDUCTION). Lot adjugé 10 000 € HT, frais acheteur 15 %, commission vendeur 10 %, TVA 21 % :
  • L'acheteur paie 13 915 € (10 000 + 2 100 de TVA + 1 500 de frais + 315 de TVA sur frais) → tout arrive dans son wallet.
  • Transfer PAY_IN_BROKERAGE : la part vendeur part vers le wallet du vendeur.
  • Transfers BUYER_FEES et COMMISSION : frais acheteur et commission partent vers le wallet plateforme.
  • Le vendeur touchera au final prix de vente TTC − commission TTC (déduction des frais).
(Montants illustratifs — les taux réels viennent du contrat.)

Au webhook TRANSFER_NORMAL_SUCCEEDED, le système : marque le mouvement d'origine SETTLED, crée automatiquement le mouvement OUT du reversement et enchaîne directement sur le PayOut (voir ci-dessous). En cas de TRANSFER_NORMAL_FAILED : mouvement REJECTED, pas de payout, intervention manuelle.

3. PayOut — l'argent sort vers une vraie banque

Le payout vide le wallet vers un IBAN réel, préalablement enregistré et validé (recipient). Les types (PayoutTypes) :

TypeDe → VersDéclenché par
PAY_OUT_BROKERAGEWallet vendeur → IBAN du vendeurSuite du transfer PAY_IN_BROKERAGE
PAY_OUT_AUCTIONEERWallet CP → IBAN du commissaire-priseurSuite du transfer PAY_IN_AUCTIONEER
PAY_OUT_SHOPWallet plateforme → compte bancaire plateformeSuite des transfers COMMISSION/BUYER_FEES

Le cycle, suivi par webhooks : PAYOUT_NORMAL_CREATED (mouvement EXPORTED) → PAYOUT_NORMAL_SUCCEEDED (mouvement SETTLED + les factures liées sont soldées via settleRelatedInvoices : la commission et les factures associées passent SETTLED) — ou PAYOUT_NORMAL_FAILED (mouvement REJECTED, erreur tracée, re-soumission possible après correction).

Pourquoi un payout échoue. Causes classiques : recipient annulé/désactivé (l'IBAN doit être revalidé par authentification forte), données bancaires erronées, limites dépassées. Le back-office peut corriger puis relancer (PayoutService.resubmit()).

KYC / KYB : la conformité qui peut tout bloquer

KYC en deux mots. « Know Your Customer » : la loi anti-blanchiment oblige MangoPay à vérifier l'identité de quiconque reçoit de l'argent. Un vendeur dont le dossier KYC n'est pas validé peut vendre… mais ne peut pas être reversé. C'est la cause n°1 des reversements bloqués.
QuiDocuments requis
Acheteur (PAYER)Pièce d'identité (+ justificatif d'adresse au-delà de certains seuils)
Vendeur personne physiquePièce d'identité + justificatif d'adresse
Vendeur société (KYB)Identité du représentant légal + extrait d'immatriculation (KBIS/équivalent) + statuts + déclaration des bénéficiaires effectifs (UBO)

Statuts KYC : N_A, MISSING, IN_VALIDATION, OK, TO_MODIFY, REFUSED, OUTDATED, RENEWAL_REQUIRED. Statuts de compte vendeur : ACTIVE ✅, et les bloquants CREATED/SCA_NOK (authentification forte non complétée), PENDING_DATA, KYC_NOK, COMPANY_NUMBER_NOK, BLOCKED, CLOSED. Deux modes de collecte existent : hosted (parcours hébergé MangoPay avec session de vérification d'identité) ou api (documents poussés par la plateforme).

La SCA (authentification forte). Depuis la réglementation européenne, l'enregistrement d'un IBAN de reversement (recipient) et certains comptes exigent une authentification forte du titulaire (lien scaUrl envoyé au vendeur). Tant qu'elle n'est pas faite : pas de transfer ni de payout possible.

Récapitulatif des webhooks MangoPay traités

Le lien avec la facturation simple/double

ModeTransfersPayoutsEn cas d'avoir
SimplePAY_IN_BROKERAGE (part vendeur) + COMMISSION/BUYER_FEES (plateforme)1 payout vendeur (+ payouts shop)1 refund du PayIn
DoubleIdentiques, mais adossés à 2 factures distinctesIdentiques2 temps : on inverse d'abord le transfer vendeur (transfer refund), puis on refund le PayIn
Commissaire-priseurPAY_IN_AUCTIONEER + COMMISSIONPayout CP + payout shop1 refund du PayIn
Copyright © 2026