En résumé
Un ordre de paiement représente un unique encaissement fiat attendu. Lorsque vous utilisez le rail compte virtuel à usage unique, chaque ordre est adossé à un compte bancaire dédié, valable pour un seul paiement. Les endpoints Ordres de Paiement vous permettent de lister et de suivre chaque ordre au niveau de la master wallet ou limités à une adresse enfant spécifique.
Un ordre de paiement représente un unique encaissement fiat attendu. Lorsque vous utilisez le rail compte virtuel à usage unique, chaque ordre est adossé à un compte bancaire dédié, valable pour un seul paiement. Les endpoints Ordres de Paiement vous permettent de lister et de suivre chaque ordre au niveau de la master wallet ou limités à une adresse enfant spécifique.
Prérequis
Avant d’utiliser l’API Ordres de paiement, assurez-vous d’avoir :1
Clé API
Obtenez votre clé API depuis le Tableau de bord Blockradar. Accédez à Developers pour en générer une.
2
Wallet créée
Créez une wallet depuis le tableau de bord (voir Créer un Portefeuille Principal). Vous aurez besoin du
walletId pour les opérations d’ordres de paiement.3
Conformité approuvée
Effectuez le processus de due diligence sur le Tableau de bord : My wallets > Settings > Compliance
4
Fonctionnalité activée
Demandez l’activation de la fonctionnalité de comptes virtuels après l’approbation de conformité. Contactez [email protected] ou utilisez le chat en direct du tableau de bord.
5
Environnement mainnet
Les comptes virtuels ne sont disponibles que sur le MAINNET. Les environnements testnet ne prennent pas en charge les opérations de comptes virtuels.
6
Prise en charge des stablecoins
Déposer du fiat et le convertir en stablecoin est une fonctionnalité payante. Assurez-vous que votre offre inclut l’accès aux stablecoins. Effectuez la mise à niveau depuis Tableau de bord → Settings → Subscription.
Comment ça marche
Un ordre de paiement est créé chaque fois qu’un client initie un dépôt en fiat. Pour le railone_time_virtual_account, Blockradar émet un nouveau compte bancaire virtuel lié à cet ordre et à son ensemble de montants. Une fois que le client paie, l’ordre progresse dans son cycle de vie et la stablecoin correspondante est émise et réglée sur la wallet ou l’adresse liée.
Ordre créé
Un ordre est généré avec une référence, un montant attendu et son rail de collecte.
Compte émis
Pour le rail compte virtuel à usage unique, un compte bancaire à usage unique est joint dans
paymentInstructions.Paiement reçu
Le client paie le compte avant
expiresAt ; l’ordre passe à processing puis à paid.Règlement
La stablecoin équivalente est émise et réglée sur la wallet ou l’adresse enfant liée.
Statut de l’ordre
Chaque ordre indique son statut actuel dans le cycle de vie. Utilisez le paramètre de requêtestatus pour filtrer les résultats.
Rails de collecte
Le champrail indique comment l’ordre est collecté. Les comptes virtuels à usage unique utilisent le rail one_time_virtual_account.
Flux de création lié à une session
Commencez la création d’un ordre de paiement en demandant un devis avecassetId, currency,
amount et rail. Lorsque le dépôt appartient à un client existant, incluez aussi
customerId afin que le KYC fournisseur enregistré puisse être réutilisé. L’adaptateur du fournisseur
déduit le corridor KYC de la devise fiat sélectionnée. Le devis renvoie un
sessionId et sessionExpiresAt. La session fige la wallet, l’actif de la wallet, la devise fiat,
le montant, le rail, le fournisseur, la route de conversion, le client et le corridor KYC pendant 20
minutes.
Nous vous recommandons d’utiliser le sessionId renvoyé pour chaque requête suivante :
- Initialisez le formulaire avec
additionalDataRequirements.datalorsqu’il ne vaut pasnull. Il contient les valeurs réutilisables déjà enregistrées pour le client, le fournisseur et le corridor. - Collectez les valeurs manquantes exigées par
additionalDataRequirements.schema. - Si le schéma contient un
x-resolution, appelezPOST /v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolveavecsessionIdet lesadditionalDataactuelles. - Fusionnez les valeurs résolues dans
additionalData. - Créez l’ordre avec
sessionId,additionalDataet les éventuels champs facultatifs de l’ordre, tels quereferenceoumetadata.
Quote request
Quote session
Resolve requirements
Create payment order
idDocument.number est le
NIN à 11 chiffres du client et taxId.value est son BVN à 11 chiffres.
Les exigences varient selon le fournisseur, le corridor et le type d’entité ; affichez donc toujours
le schéma renvoyé par le devis au lieu de coder ces champs en dur.
Lorsque l’ordre est créé avec un KYC inline, Blockradar l’enregistre pour le
client de l’entreprise, le fournisseur sélectionné et le corridor. Un devis ultérieur avec le
même customerId et le même corridor renvoie le KYC enregistré dans
additionalDataRequirements.data. L’envoi d’un KYC modifié sur un ordre ultérieur
met à jour le profil enregistré pour ce corridor ; aucun endpoint KYC distinct n’est nécessaire.
Pour assurer la rétrocompatibilité, sessionId est facultatif. Si vous l’omettez, envoyez
les valeurs d’origine assetId, currency, amount et rail dans les requêtes de résolution des exigences
et de création d’ordre. Lorsque sessionId est présent, les valeurs stockées dans
la session font autorité.
Lister les ordres de paiement de la master wallet
Renvoie une liste paginée de tous les ordres de paiement créés sous une master wallet. Utilisez les paramètres de requête pour filtrer par statut, rail, devise, actif, plage de dates ou recherche en texte libre.GET /v1/wallets/{id}/deposit/fiat/orders
Paramètres de requête
Exemple de réponse
Lister les ordres de paiement de l’adresse enfant
Renvoie les ordres de paiement limités à une seule adresse enfant. La réponse inclut les mêmes champs d’ordre ainsi que des détails supplémentaires de règlement, de fournisseur et de client.GET /v1/wallets/{walletId}/addresses/{addressId}/deposit/fiat/orders
Paramètres de chemin
Paramètres de requête
Exemple de réponse
Champs de réponse
Les champs
amountFiatReceived, amountSettled, providerReference, provider et customer sont renvoyés sur l’endpoint d’adresse enfant et se remplissent à mesure que l’ordre progresse dans le règlement.Référence API
Découverte et configuration
Master Wallet
Adresse enfant
Récupérer, actualiser et annuler un ordre ne nécessitent que l’ID de l’ordre, il
n’existe donc pas d’équivalent pour les adresses enfants. Utilisez les endpoints
de la master wallet ci-dessus pour tout ordre, y compris ceux créés sur une
adresse enfant.L’API expose également une opération Find Fiat Deposit
(
POST /v1/wallets/{id}/deposit/fiat/finder) qui localise un dépôt en fiat et
ses détails de traitement à partir d’une référence de paiement. Elle est utile
pour rapprocher un paiement qu’un client affirme avoir envoyé de l’ordre auquel
il appartient.
