Vue d'ensemble
L’objet transfer permet le mouvement de fonds entre des comptes walletId de la plate-forme. Ce service n’est accessible qu’à partir d’un compte possédant des droits "Plateforme".
Il donne ainsi la possibilité de distribuer les fonds reçus d’un compte "Plateforme" qui initie les transactions depuis l’API vers un compte "Basic" connecté, selon des règles métier spécifiques à l’agent. Chaque opération de transfer est identifiée par un merchantTransferId unique.
Les transferts sont effectués dans cette configuration, à l’initiative de la plateforme, soit directement en complément d’une transaction ou wireTransfer existant, soit manuellement indépendamment de toute action. Ce mode asynchrone étant réservé aux Agents de service de Paiement.
Des frais peuvent être appliqués et affichés sur chaque opération de manière à les afficher sur le relevé de compte du destinataire. Ces frais diminuent le montant brut et rentrent dans le calcul du Montant net.
Les fonds issus de transfers issus d'une Transaction Carte Bancaire, Visa ou Mastercard, sont disponibles à J+2.
Exemple 1 :
Amount = 100
Fee = 30
Le détenteur du compte de destination recevra 70 et constatera 30 de frais sur un montant brut de 100.
Exemple 2 :
Amount = 70
Fee = 0
Le détenteur du compte de destination recevra 70 sans indication de frais.
Vue compte plateforme qui initie les transaction et les transfer
Vue client compte "Basic" qui ne voit pas les transaction mais constate les transfer
Type de transfer
1Mode Asynchrone Manuel (valable uniquement pour les Agents)
La "Plateforme" réalise la transaction pour le compte d’un ou plusieurs bénéficiaires, puis dans une deuxième étape réalise des appels POST /transfer pour reverser les fonds sur les comptes concernés. Le mode asynchrone est donc réalisé après la transaction sous forme de BATCH.
Exemple :
POST transaction -> dans la devise de l’autorisation POST /transfer (1 fois par compte) -> dans la devise de règlement (payout).
Pensez à vérifier le solde disponible lorsque vous faites un mouvement car vous ne pouvez transférer que des fonds réellement disponibles.
2Mode synchrone Auto
Le compte "Plateforme" réalise une transaction en indiquant, avec de nouveaux paramètres, les comptes concernés et leurs parts respectives afin de déclencher automatiquement des appels POST /transfer à la date convenue. Les montants à reverser sont indiqués dans la transaction et donc calculés par l’initiateur.
Exemple :
POST transaction (mt1 pour ss-marchand1, mt2 pour ss-marchand2…) -> dans la devise de règlement (payout)
Exemple :
transfer[] = { "destinationWalletId": "89fe34c9-5731-44bf-8451787e9ad8a72a", "amount": 100 }
transfer[] = { "destinationWalletId": "fe385c40-bbe7-4aec-ae5b0a832241eb73", "amount": 40, "fee": 5 }
Veillez à intégrer les frais de services de CentralPay (Interchange ++) dans le calcul des Fees. Vous ne pouvez déplacer qu’un montant net qui laisse suffisamment de fonds pour régler nos frais.
Opérations possibles
Il est possible de réaliser des transferts automatiques lorsqu’ils sont associés aux objets transaction ou wireTransfer. Il est donc possible, par exemple, de faire une autorisation seule (transaction avec capture=0) et d’initialiser le transfert jusqu’à 7 jours après lorsque la transaction passe avec le statut capture=1.
Pour réaliser cette opération, il faut rattacher la source initiale de l’opération réalisée et donc préciser les attributs sourceType et sourceId.
http://ref-api.centralpay.net/plateform#182-create-a-transfer
sourceId String (36) |
Identifier of the transfer source Required: no Validation: Authorized for merchant |
sourceType String |
Currency Required: yes (if the HTTP parameter sourceId is set) Values: TRANSACTION |
transferReversal
Cette fonction vous permet de rappeler des fonds que vous avez préalablement versés sur un wallet.
Cette fonction vous sera utile en cas d’erreur ou si vous avez émis un refund depuis une transaction. En effet, dans ce cas, les fonds sont retirés de votre wallet et vous devrez les retirer à votre tour sur le wallet de votre client.
Des frais peuvent être perçus sur cette opération en utilisant refundFee.
Le montant réalisable dans un transferReversal équivaut à la somme des available et pending disponibles. Cela vous permet d'effectuer un transferReversal avant la date de libération des fonds.