Bienvenue dans l’API d’envoi d’argent. Cette API permet aux développeurs d’intégrer facilement des fonctionnalités de transfert de fonds dans leurs applications web ou mobiles. Elle prend en charge l’envoi d’argent entre utilisateurs, les paiements vers des comptes bancaires ou des portefeuilles mobiles, et fournit un suivi en temps réel des transactions.
L’API est sécurisée, rapide et conçue pour répondre aux besoins des plateformes fintech, des services de paiement et des applications de commerce en ligne. Elle s’intègre facilement à votre infrastructure existante grâce à une architecture RESTful, une authentification basée sur les tokens, et une documentation claire.
Cette fonctionnalité permet de limiter l'accès à l’API uniquement à certaines adresses IP autorisées, renforçant ainsi la sécurité
{ "data": { "ip": "127.0.0.1" }, "message": "Access denied. Unauthorized IP address." }
L’API prend en charge l’envoi automatique de notifications par webhook à chaque mise à jour critique du statut d’une transaction. Cela permet aux systèmes partenaires d’être notifiés en temps réel, sans avoir à interroger en boucle l’API (polling).
Un webhook est déclenché à chaque changement de statut d’une transaction, notamment :
pending → processing processing → success processing → failed success → refunded (le cas échéant)
En-têtes :
Content-Type: application/json X-Signature: {HMAC-SHA256 du payload signé avec la clé secrète}
Payload JSON envoyé :
{ "transaction_id": "TXN-123456", "status": "success", "amount": 250.00, "currency": "USD", "timestamp": "2025-01-09T01:42:54+00:00" }
Chaque webhook est signé avec un HMAC SHA256 dans le header X-Signature, généré à l’aide d’une clé secrète partagée. Le destinataire doit vérifier cette signature pour garantir l’intégrité de la notification.
$expectedSignature = hash_hmac('sha256', $payload, $secret);
Pour interagir avec notre API en mode test (sandbox), chaque développeur doit disposer d’une clé API dédiée, générée via son compte développeur. Cette clé permet d’effectuer des appels simulés sans déclencher de transactions réelles.
Dans le menu "Accounts , copier vos identifiants"
La clé vous sera affichée une seule fois : copiez-la et stockez-la en lieu sûr
L'API utilise un token JWT dans l'en-tête Authorization
.
Authorization: Bearer <votre_access_token>
Ce endpoint permet à un utilisateur de se connecter en envoyant son email et son mot de passe. En cas de succès, un token d’accès est renvoyé pour les appels API futurs..
{ "private_key":"wtc_private_sandbox25042557g2tpjdwdkt8swj596r7r987jro", "secret_key":"wtc_secret_sandbox250425571rp0e31y0eqklo2q0uwkfw5plu" }
POST /api/login
{ "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJ3dGNfYXBpIiwic3ViIjoxLCJpYXQiOjE3NDYxODg2NTIsImV4cCI6MTc0NjE5MjI1Mn0.SIrzfmIwcuI4JDQkjzUoWBJ0-WMOaUQKwVVA5ydaVLLk8ZWF42F90ROSSpDf0w5uT7qQLuk6phpcu7XQSFRDz9_3Jpr-qM9ErW9tiuO7l3evpzjxSmlLt8E4s3HRAS9GrGmVIqkEGDQEyLtAFZqX-3AZQJCkl05lYBkD-YjbF0hX1HC84Enx6iF5E2Bzzjq9Em4xcs1638FJt5R5p9IKnsZr2Ww7MY4iTqdDjn99lfOZpo86uvgOnZvSrPpAoPSnDceJ3ZQkwRU4ohqSALkUW4PZsPS9k-0BqJE1BJiqGXj3XVnNnemHGCmUso72jBEX03AaD2CoZS13g-qXQGPk5w", "token_type": "bearer", "expires_in": 3600 }
permet de récupérer la liste des pays disponibles pour l’envoi ou la réception d’argent via la plateforme.
Il est utile pour alimenter des menus déroulants ou valider les destinations autorisées dans votre application
GET /api/countries
{ "message": "senders get successful", "status": "success", "data": [ { "name": "Cameroun", "code_iso": "CM", "currency": "XAF" }, { "name": "Congo", "code_iso": "CG", "currency": "XAF" }, { "name": "Congo RDC", "code_iso": "CD", "currency": "XAF" }, { "name": "Senegal", "code_iso": "SN", "currency": "XOF" }, ... }
permet d’obtenir la liste des villes disponibles pour un pays donné, identifié par son code ISO à deux lettres.
Il est généralement utilisé pour filtrer les zones de destination lors de l’envoi d’argent.
GET /api/cities?codeiso=CM
{ "message": "cities get successful", "status": "success", "data": [ { "name": "Douala", "country": "Cameroun" }, { "name": "Yaoundé", "country": "Cameroun" }, { "name": "Bamenda", "country": "Cameroun" }, { "name": "Bafoussam", "country": "Cameroun" }, ... }
permet d’obtenir la liste des origines des fonds disponibles pour un type de transfert donné, identifié par le type de sender et de beneficiare à deux lettres.
GET /api/origin_fonds?type_transaction=B2P
{ "message": "Request successful", "status": "success", "data": ["Brother", "Mother", "Sister", "Self", "Father", "Spouse", ] }
permet d’obtenir la liste des motifs disponibles pour un type de transfert donné, identifié par le type de sender et de beneficiare à deux lettres.
GET /api/motifs?type_transaction=B2P
{ "message": "Request successful", "status": "success", "data": ["Brother", "Mother", "Sister", "Self", "Father", "Spouse", ] }
permet d’obtenir la liste des relations entre expediteurs et beneficiares disponibles pour un type de transfert donné, identifié par le type de sender et de beneficiare à deux lettres.
GET /api/relations?type_transaction=B2P
{ "message": "Request successful", "status": "success", "data": ["Brother", "Mother", "Sister", "Self", "Father", "Spouse", ] }
Ce endpoint permet d’obtenir la liste des banques disponibles dans un pays donné, identifié par son code ISO.
Il est essentiel pour que l’utilisateur sélectionne la banque du bénéficiaire lors d’un transfert d’argent vers un compte bancaire.
GET /api/banks?codeiso=CM
{ "message": "cities get successful", "status": "success", "data": [ { "name": "BICEC", "country": "Cameroun" }, { "name": "Société Générale Cameroun", "country": "Cameroun" }, { "name": "UBA Cameroun", "country": "Cameroun" }, ... }
Ce endpoint permet d’obtenir la liste des operateurs MOMO disponibles dans un pays donné, identifié par son code ISO.
Il est essentiel pour que l’utilisateur sélectionne l'operateur du bénéficiaire lors d’un transfert d’argent vers un compte MOMO.
GET /api/networks?codeiso=CM
{ "message": "networks get successful", "status": "success", "data": [ { "name": "MTN", "country": "Cameroun" }, { "name": "Orange", "country": "Cameroun" } ] }
Ce endpoint permet de récupérer la liste des expéditeurs enregistrés sur la plateforme.
Il est utilisé pour afficher les informations des clients initiant des transferts d’argent, ou pour effectuer des opérations liées à la gestion de leurs transactions..
GET /api/senders
{ "message": "senders get successful", "status": "success", "data": [ { "first_name": "kouamo", "last_name": "Dieudonne", "email": "info@agensic.com", "phone": "237675066919", "code": "25042521022068963666512", "occupation": "mecanicien", "civility": "Maried", "gender": "M", "document_type": "PP", "document_expired": "2025-05-10", "document_number": "5879454555" }, { "first_name": "reine edith", "last_name": "jeanne d arc", "email": "contact@agensic.com", "phone": "687958", "code": "25042816714400768238381", "occupation": "mecanicien", "civility": "Single", "gender": "F", "document_type": "CNI", "document_expired": "2025-05-11", "document_number": "5879454555" }, { "first_name": "John most", "last_name": "Yves", "email": "johm@gmail.com", "phone": "675066919", "code": "25050209346105716102273", "occupation": "Mecanicien", "civility": "Single", "gender": "M", "document_type": "PP", "document_expired": "2025-02-18", "document_number": "8957452144" },]}
Ce endpoint permet d’enregistrer un nouvel expéditeur sur la plateforme.
Les informations fournies sont utilisées pour authentifier l'utilisateur, l'associer à des transactions, et garantir la conformité réglementaire (KYC).
{ "account_type": "B", "business_name": "TechCorp SAS", "business_type": "SARL", "business_register_date": "2015-06-01", "email": "contact@techcorp.com", "date_birth": "1985-07-22", "num_document": "B987654321", "type_document": "id_card", "occupation": "CEO", "civility": "M", "gender": "M", "expired_document": "2031-05-30", "address": "45 avenue des Champs-Élysées", "country_code": "FR", "city": "Paris", "phone": "+33698765432" }
{ "message": "Sender created successfully", "status": "success", "data": { "account_type": "B", "business_name": "TechCorp SAS", "business_register_date": null, "business_type": "SARL", "first_name": null, "last_name": null, "email": "contact@techcorp.com", "phone": "+33698765432", "code": "25070908591851673500887", "occupation": "CEO", "civility": "M", "gender": "M", "document_type": "id_card", "document_expired": "2031-05-30", "document_number": "B987654321" } }
Ce endpoint permet de récupérer la liste des bénéficiaires enregistrés pour un expéditeur spécifique.
Il est couramment utilisé pour préremplir les informations lors d’un envoi d’argent ou gérer les contacts favoris d’un utilisateur.
GET /api/beneficiaries
{ "message": "senders get successful", "status": "success", "data": [ { "first_name": "emanuel kamao", "last_name": "fumba", "email": "contact@guens-education.com", "phone": "23796854415", "code": "25042553551393640666986", "occupation": "", "civility": "Maried", "gender": "M", "document_type": "PP", "document_expired": "2025-05-11", "document_number": "5879454555" },.. ] }
Ce endpoint permet d’enregistrer un nouveau bénéficiaire vers lequel un expéditeur pourra envoyer de l’argent.
Le bénéficiaire peut être lié à un compte bancaire, un portefeuille mobile ou un point de retrait..
{ "account_type": "P", "first_name": "Alice", "last_name": "Kouassi", "email": "alice.kouassiu@example.com", "date_birth": "1992-08-25", "num_document": "CI123456789", "type_document": "passport", "occupation": "Comptable", "civility": "Single", "gender": "F", "expired_document": "2032-08-25", "address": "Boulevard Valéry Giscard d’Estaing", "country_code": "CI", "city": "Abidjan", "phone": "+2250700123456" }
{ "message": "Beneficiary created successfully", "status": "success", "data": { "account_type": "P", "business_name": null, "business_type": null, "first_name": "Alice", "last_name": "Kouassi", "email": "alice.kouassiu@example.com", "phone": "+2250700123456", "code": "25070932393437450612644", "occupation": "Comptable", "civility": "F", "gender": "F", "document_type": "passport", "document_expired": "2032-08-25", "document_number": "CI123456789" } }
Ce endpoint permet de récupérer la liste des transactions effectuées par un expéditeur.
Il prend en charge des filtres pour rechercher par statut, type, date ou bénéficiaire, facilitant ainsi le suivi des envois d’argent.
| Paramètre | Type | Description | | ---------------- | ------ | ------------------------------------------------------------------------------ | | `sender_id` | string | (obligatoire) Identifiant de l’expéditeur | | `status` | string | (optionnel) Filtrer par statut (`pending`, `completed`, `failed`, `cancelled`) | | `type` | string | (optionnel) Type de transaction (`bank`, `mobile_money`, `cash_pickup`) | | `start_date` | string | (optionnel) Date de début au format `YYYY-MM-DD` | | `end_date` | string | (optionnel) Date de fin au format `YYYY-MM-DD` | | `beneficiary_id` | string | (optionnel) Filtrer les transactions envoyées à un bénéficiaire spécifique |
GET /api/transactions
{ "message": "senders get successful", "status": "success", "data": [ { "first_name": "emanuel kamao", "last_name": "fumba", "email": "contact@guens-education.com", "phone": "23796854415", "code": "25042553551393640666986", "occupation": "", "civility": "Maried", "gender": "M", "document_type": "PP", "document_expired": "2025-05-11", "document_number": "5879454555" },.. ] }
Ce endpoint permet de créer une transaction bancaire en transférant des fonds d’un expéditeur vers un bénéficiaire disposant d’un compte bancaire.
Il vérifie les informations du client, le solde, applique les frais, et génère une référence de transaction.
{ "country_code": "CI", "gateway": "BankGatewayCI", "bank": "ECOBANK", "sender_code": "25070908591851673500887", "beneficiary_code": "25070943938506074307835", "city": "Abidjan", "amount": 100000, "raison_transaction": "Advanced Goods Payments", "origin_fond": "Salary", "relation": "Mother", "accountNumber": "CI11001234567890123456", "iban": "CI11001234567890123456", "callback_url": "https://votre-api.com/retour/transaction" }
Remplacer iban par :
{ "message": "Transaction created successfully", "status": "success", "data": { "transaction_status": "Pending", "transaction_id": "25070934967500637436125", "fees": 12000, "amount": 141.8 } }
Ce endpoint permet de créer une transaction Mobile en transférant des fonds d’un expéditeur vers un bénéficiaire disposant d’un compte mobil money.
Il vérifie les informations du client, le solde, applique les frais, et génère une référence de transaction.
{"country_code":"CM", "gateway":"OM", "sender_code":"25042521022068963666512", "beneficiary_code":"25042553551393640666986", "city":"Paris", "amount":"80000", "raison_transaction":"Business Profits to Parents", "origin_fond":"Donation", "relation":"Brother", "accountNumber":"237675066919", "callback_url":"https://xxxx/webhook" }
{ "message": "transaction created successful", "status": "success", "data": { "transaction_id": "25050816264901015287708", "fees": 3600, "amount": 1000 } }
Ce endpoint permet de récupérer le statut actuel d’une transaction donnée à l’aide de son identifiant unique.
Il est utile pour les utilisateurs finaux ou les agents afin de suivre l’évolution d’un envoi (bancaire, mobile ou en espèces).
*transaction_id (obligatoire) : L’identifiant unique de la transaction à suivre.
GET /api/transactions/status/25050816264901015287708
{ "message": "transaction successful", "status": "success", "data": { "transaction_id": "25050816264901015287708", "status": "success", "relation": "Brother", "origin_fond": "Donation", "motif_send": "Business Profits to Parents", "amount_send": 1000, "country": "FRANCE", "currency": "EUR", "amount_debit": 83600, "bank": "BANQUE POPULAIRE VAL DE FRANCE", "accountNumber": "011623852957", "sender": { "first_name": "kouamo", "last_name": "Dieudonne", "email": "info@agensic.com", "phone": "237675066919", "code": "25042521022068963666512", "occupation": "mecanicien", "civility": "Maried", "gender": "M", "document_type": "PP", "document_expired": "2025-05-10", "document_number": "5879454555" }, "beneficiary": { "first_name": "emanuel kamao", "last_name": "fumba", "email": "contact@guens-education.com", "phone": "23796854415", "code": "25042553551393640666986", "occupation": "", "civility": "Maried", "gender": "M", "document_type": "PP", "document_expired": "2025-05-11", "document_number": "5879454555" } } }