CentralPay Documentation CentralPay Documentation
  • Informations générales
  • Documentation
  • Développeurs
CentralPay Documentation CentralPay Documentation
  • Informations générales
  • Documentation
  • Développeurs

Documentation

  • Folder icon closed Folder open iconGuide de démarrage rapide >
  • Folder icon closed Folder open iconLe compte CentralPay
    • Compte CentralPaymerchant
    • Profils clientscustomer
    • Points de ventepointOfSale
    • Comptes de paiementwallet
    • Comptes de MEwallet
  • Folder icon closed Folder open iconServices liés au compte
    • Notifications email/sms
    • Services anti-fraude
    • Reversement bancairepayout
    • Exports comptables
    • Exports de données
    • Webhooks
  • Folder icon closed Folder open iconLiens de paiement
    • Informations générales
    • Demandes de paiementpaymentRequest
    • Page de paiement (SmartForm)
    • Retours, statuts et hooks
  • Folder icon closed Folder open iconTransaction par carte
    • Informations générales
    • Formulaire de paiement CUSTOM
    • Authentification 3DS 2.0
    • Transaction cartetransaction
    • Transaction carte récurrentetransaction
    • Transaction carte via walletApplePay / GooglePay
    • R-transaction carterefund / credit / dispute
    • Email de confirmation
    • Libellé relevé bancaire
    • Gestion des devises
    • Gestion des cartes virtuelles (VCC)
    • Retours, statuts et hooks
  • Folder icon closed Folder open iconTransaction par virement
    • Informations générales
    • IBAN Virtuels
    • Transaction par virementsctTransaction
    • Pay by Bank – Initiation de paiement (PIS)
    • Rapprochement à une demande de paiementbankReconciliation
    • R-transaction SCTrefund
    • Virements internationaux
    • Retours, statuts et webhooks
  • Folder icon closed Folder open iconTransaction prélèvement SEPA
    • Informations générales
    • Identifiant de Créancier SEPA
    • Déclaration du compte bancaire
    • Création du mandat SEPA
    • Transaction par prélèvementsddTransaction
    • R-transaction SDDrefund / sddTransactionReversal
    • Retours, statuts et webhooks
  • Folder icon closed Folder open iconPaiements récurrents
    • Abonnementsubscription
    • Fractionnéinstallment
  • Folder icon closed Folder open iconAuthentification 3DS 2.2
    • 3DS 2.2 BRW (paiement unitaire)
    • 3DS 2.2 3RI (paiements récurrents)
    • FAQ 3DS 2.2
  • Folder icon closed Folder open iconCréer des comptes
    • Informations générales
    • Demande d’enrôlementmerchant-enrollment
    • Compléter un enrôlementmerchant-enrollment
    • Validation d’un enrôlement
    • Compte de Monnaie Électronique limitécustomer / wallets
    • Déplafonner un compte de Monnaie Électroniquemerchant-enrollment
    • Retours, statuts et webhooks
  • Folder icon closed Folder open iconTransférer des paiements
    • Informations générales
    • Transfert indépendanttransfer / transferReversal
    • Transfert via Transaction ou PaymentRequesttransaction / paymentRequest
    • Reversement bancaire pour tiers
    • Retours, statuts et webhooks
  • Folder icon closed Folder open iconPlugin CMS
    • WooCommerce
    • PrestaShop
    • Magento
  • Folder icon closed Folder open iconCas d’usages
    • Marketplace C2C

Transfert indépendant

Estimated reading: 6 minutes

🧾 Créer un transfert (Create a Transfer)

La fonction Create a Transfer permet aux partenaires régulés (Agents ou DME, selon le type de compte) de transférer des fonds entre deux comptes de leurs sous-marchands (Participants). Ce transfert peut être initié :

  • Par un Agent lorsque les wallets sont des comptes de paiement.
  • Par un DME lorsque les wallets sont des comptes de monnaie électronique.

Cas d’usage

Ce mécanisme permet, par exemple :

  • à un Agent d’orchestrer des reversements de fonds entre sous-marchands, ou vers des comptes destinataires définis ;
  • à un DME d’opérer des transferts de monnaie électronique entre utilisateurs d’une place de marché.

CentralPay reste en charge de l’exécution effective des opérations, dans le cadre de la relation contractuelle avec les sous-marchands.


📥 Paramètres requis

ChampTypeObligatoireDescription
destinationWalletIdUUID✅Identifiant du wallet destinataire (appartenant à un sous-marchand).
amountInteger (en cents)✅Montant du transfert. Doit être strictement supérieur à 0.
sourceIdUUID✅ si sourceType est renseignéIdentifiant de la source de fonds (ex. : transaction, virement, crédit, SDD).
sourceTypeEnum✅ si sourceId est renseignéSource du transfert : TRANSACTION, SCT_TRANSACTION, CREDIT, SDD.

🔧 Paramètres optionnels

ChampTypeDescription
emissionWalletIdUUIDWallet émetteur si différent du wallet principal du partenaire.
currencyCode ISODevise du transfert (si différente de celle du wallet).
feeIntegerMontant de la commission prélevée par le partenaire, déduite du montant. Par défaut : 0.
escrowDateDate ISODate à partir de laquelle le transfert devient effectif. Peut être utilisée pour définir une période de blocage temporaire.
merchantTransferIdStringRéférence métier du partenaire (max 100 caractères).
transferGroupStringGroupe de rattachement pour regrouper plusieurs transferts.
descriptionStringDescription libre (max 256 caractères).
additionalDataKey/ValueDonnées complémentaires sous forme de paires clé/valeur (max 256 caractères par valeur).
metaDataJSONMétadonnées complémentaires structurées.
purposeCode / purposeMessageEnum / StringFinalité du transfert, selon une nomenclature standard. Voir la liste des codes.

🔒 Règles de validation

  • Le destinationWalletId doit correspondre à un wallet valide d’un sous-marchand du partenaire.
  • Le sourceId ne peut être utilisé que si l’objet lié est dans un statut accepté (CAPTURED, CLEARED, etc.).
  • Le montant autorisé dépend du solde disponible ou des fonds liés à la source (transaction, virement, etc.).

🔄 Fonctions complémentaires liées aux transferts

Les partenaires régulés (Agent ou DME) disposent de plusieurs fonctions de gestion post-création d’un transfert, leur permettant d’ajuster, consulter ou annuler une opération, sous conditions.

🛠 Modifier un transfert (Update a Transfer)

Cette fonction permet de modifier certains paramètres d’un transfert existant, à condition qu’il ne soit pas encore exécuté (statut PENDING).

Paramètres disponibles :

ChampTypeObligatoireDescription
transferIdUUID✅Identifiant du transfert à modifier.
merchantTransferIdString❌Référence partenaire.
escrowDateDate ISO❌Nouvelle date d’exécution différée.
transferGroupString❌Regroupement de transferts.
descriptionString❌Description libre (max 256 caractères).
additionalDataKey/Value❌Données complémentaires.
metaDataJSON❌Métadonnées structurées.

💡 La modification de la date d’escrow est notamment utile dans les flux conditionnés (e.g. : marketplace, délais de rétractation…).


❌ Annuler un transfert (Cancel a Transfer)

Un transfert peut être annulé tant qu’il n’a pas encore été exécuté (statut PENDING). Cette annulation est irréversible : l’opération apparaîtra comme CANCEL dans les historiques du wallet.

Paramètres :

ChampTypeObligatoireDescription
transferIdUUID✅Identifiant du transfert à annuler.

⚠️ Une fois que les fonds sont disponibles (TRANSFERRED), cette fonction n’est plus accessible. Il faudra alors utiliser un TransferReversal.


🔍 Consulter un transfert (Retrieve a Transfer)

Permet d’obtenir l’ensemble des détails d’un transfert via son identifiant CentralPay.

ChampTypeObligatoireDescription
transferIdUUID✅Identifiant du transfert.

📂 Rechercher plusieurs transferts (List Transfers)

Permet de rechercher une liste de transferts selon plusieurs critères. Tous les paramètres sont optionnels.

ParamètreTypeDescription
merchantTransferIdString (100)Référence partenaire.
destinationWalletIdUUIDWallet destinataire.
transferGroupStringGroupe de transferts.
statusEnumPENDING, TRANSFERRED, CANCEL.
after / beforeDate ISOFiltrer par date de création.
limitIntegerNombre de résultats par page.
pageIntegerIndex de la page de résultats.

🔁 Retourner un transfert exécuté (TransferReversal)

Une fois un transfert exécuté (status = TRANSFERRED), il ne peut plus être annulé via la fonction Cancel. Il est alors nécessaire de passer par une opération dédiée appelée TransferReversal. Elle ne supprime pas le transfert d’origine : celui-ci reste visible, historisé et traçable.

Cette fonction est accessible uniquement aux partenaires régulés (Agent pour les comptes de paiement, DME pour les comptes de monnaie électronique), et doit respecter les règles de disponibilité des fonds.

✅ Conditions d’utilisation

Le transfert initial doit :

  • Être dans le statut TRANSFERRED
  • Avoir des fonds disponibles dans le wallet destinataire
  • Ne pas avoir déjà été remboursé dans sa totalité via des opérations de reversal

Le montant retourné doit être :

  • Inférieur ou égal au solde disponible du wallet destinataire
  • Inférieur ou égal à la somme initialement transférée
  • Diminué des éventuels reversals déjà effectués sur le transfert concerné

▶️ Créer un TransferReversal

Permet de retourner un montant vers le wallet émetteur d’origine.

ChampTypeObligatoireDescription
transferIdUUID✅Identifiant du transfert d’origine.
amountInteger✅Montant à rembourser (en centimes).
merchantTransferReversalIdString❌Référence partenaire pour le suivi.
refundFeeBoolean❌Indique si les frais du transfert initial sont remboursés (par défaut : true).
feeInteger❌Montant des frais associés au reversal.
descriptionString❌Texte libre explicatif (max. 256 caractères).
escrowDateDate ISO❌Date d’exécution différée si applicable.
additionalDataKey/Value❌Paires clé/valeur pour les besoins métier.

💡 Si le champ refundFee est défini à false, le montant des frais initiaux reste acquis et n’est pas restitué au Wallet source.

⚠️ Règles importantes

  • L’opération est visible dans les mouvements du wallet (débit du wallet destinataire, crédit du wallet d’origine).
  • Plusieurs reversals peuvent être effectués sur un même transfert, dans la limite du montant total initial.
  • Si les fonds ne sont pas disponibles, l’appel est rejeté avec une erreur explicite (insuffisance de solde ou montant trop élevé).

🧩 Fonctions complémentaires (TransferReversal)

Ces fonctions permettent de gérer et consulter les opérations de retour de transfert exécuté (TransferReversal), une fois créées.


✏️ Modifier un TransferReversal (Update)

Permet de modifier certaines informations sur un TransferReversal déjà créé.

ChampTypeObligatoireDescription
transferReversalIdUUID✅Identifiant du TransferReversal à modifier
merchantTransferReversalIdString❌Référence partenaire pour le suivi
descriptionString❌Texte explicatif libre (256 caractères max)
escrowDateDate (ISO)❌Nouvelle date différée d’exécution, si applicable
additionalDataKey/Value❌Paires clé/valeur pour usage métier spécifique

🔒 Cette fonction est accessible uniquement au niveau PARTNER ou supérieur.


🔍 Consulter un TransferReversal (Retrieve)

Permet de consulter les détails d’un TransferReversal à partir de son identifiant.

ChampTypeObligatoireDescription
transferReversalIdUUID✅Identifiant du TransferReversal à consulter

🛈 L’objet retourné contient l’intégralité des informations métier, y compris : montant, date, statut, wallet concerné, et historique de l’opération.


📄 Rechercher des TransferReversals (List)

Permet d’interroger l’historique des TransferReversal selon plusieurs critères.

ParamètreTypeObligatoireDescription
merchantTransferReversalIdString❌Référence partenaire
afterDate ISO❌Retourne les éléments créés après cette date
beforeDate ISO❌Retourne les éléments créés avant cette date
limitInteger❌Nombre d’éléments à retourner (par défaut : 10)
pageInteger❌Index de la page à retourner (par défaut : 1)

Cette fonction permet un suivi complet des opérations de reversal liées à une activité donnée, y compris les cas de multiples retours partiels.

Transférer des paiements - Previous Informations générales Next - Transférer des paiements Transfert via Transaction ou PaymentRequest
CONTENU

Doc Contents

Doc Footnotes

Doc Elements

  • Mentions légales
  • Politique de confidentialité

© 2024 CentralPay