đ IntĂ©gration API Wise - Africa Bridge Pay â
DerniÚre révision: 2026-09-08
Documentation complÚte de l'intégration de l'API Wise pour la tarification dynamique.
đ Table des matiĂšres â
- Vue d'ensemble
- Configuration
- Architecture
- RĂšgle de tarification
- Utilisation
- Tests
- Déploiement en production
đŻ Vue d'ensemble â
L'intégration Wise permet à Africa Bridge Pay d'obtenir des taux de change en temps réel et des frais de transfert précis directement depuis l'API Wise (TransferWise).
Avantages â
- â Taux interbancaires rĂ©els sans spread
- â Tarification transparente avec la rĂšgle des 3x Wise
- â Calculs automatiques des marges et frais
- â Fallback automatique sur taux statiques si l'API Ă©choue
- â Cache intelligent pour rĂ©duire les appels API
- â Debouncing pour optimiser les performances
âïž Configuration â
1. CrĂ©er un compte Wise Sandbox â
- Allez sur https://sandbox.transferwise.tech/register
- Créez un compte de test (gratuit)
- Vérifiez votre email
2. GĂ©nĂ©rer un API Token â
- Connectez-vous au sandbox
- Allez dans Settings > API Tokens
- Cliquez sur Create a token
- Donnez un nom (ex: "Africa Bridge Pay Dev")
- Copiez le token (vous ne le reverrez plus !)
3. RĂ©cupĂ©rer votre Profile ID â
Option A: Via l'interface web
- Allez dans votre profil
- L'ID est dans l'URL :
https://sandbox.transferwise.tech/user/{ID}
Option B: Via l'API
curl -X GET "https://api.sandbox.transferwise.tech/v2/profiles" \
-H "Authorization: Bearer YOUR_TOKEN"4. Configurer les variables d'environnement â
Copiez .env.example vers .env.local :
cp .env.example .env.localModifiez .env.local :
WISE_API_BASE_URL=https://api.sandbox.transferwise.tech
WISE_API_TOKEN=votre_token_ici
WISE_PROFILE_ID=votre_profile_id_iciđïž Architecture â
Composants créés â
africa-bridge-pay/
âââ app/
â âââ api/
â âââ wise-quote/
â âââ route.ts # Route handler Next.js (API sĂ©curisĂ©e)
âââ hooks/
â âââ useWiseQuote.ts # Hook React avec debouncing et cache
âââ components/
â âââ WiseCalculator.tsx # Composant UI du calculateur
âââ types/
âââ wise.ts # Types TypeScript pour WiseFlux de donnĂ©es â
[Utilisateur saisit un montant]
â
[WiseCalculator] â [useWiseQuote hook]
â
[Debounce 500ms] â [Cache check]
â
[POST /api/wise-quote] (Next.js Route Handler)
â
[Appel API Wise] â [Calcul marges ABP]
â
[Réponse avec devis complet]
â
[Affichage dans l'UI]đ° RĂšgle de Tarification â
Principe â
Pour chaque transaction, Africa Bridge Pay applique cette logique simplifiée :
- Taux de change : Taux Wise + 1.0% de marge FIXE
- Frais de transfert ABP : 14.00 EUR + (Montant Ă 0.005)
- Commission : 0.5% du montant source
Exemple concret â
Facture fournisseur : 1 000 USD
1. API Wise retourne :
- Taux interbancaire : 1 USD = 0.92 EUR
2. Africa Bridge Pay calcule :
- Taux ABP : 0.92 Ă 1.01 = 0.929 EUR (+ 1.0%)
- Montant source : 1000 Ă 0.929 = 929 EUR
- Frais transfert : 14.00 + (929 Ă 0.005) = 18.65 EUR
- Commission service : 929 Ă 0.005 = 4.65 EUR
3. Total client : 929 + 18.65 + 4.65 = 952.30 EUR
(soit ~624 740 XOF)Avantages de cette rĂšgle â
- â SimplicitĂ© totale : Une seule rĂšgle pour tous les montants
- â Transparence : Calculs prĂ©visibles et linĂ©aires
- â CompĂ©titivitĂ© : Spread rĂ©duit Ă 1.0% (au lieu de paliers variables)
- â Sans plafond : Frais de transfert proportionnels au montant
đ Utilisation â
Dans un composant React â
import { useWiseQuote } from '@/hooks/useWiseQuote';
function MyComponent() {
const { quote, loading, error, fetchQuote } = useWiseQuote();
const handleCalculate = async () => {
await fetchQuote(
1000, // Montant
'target', // Type: 'source' ou 'target'
'EUR', // Devise source
'USD' // Devise cible
);
};
if (loading) return <div>Chargement...</div>;
if (error) return <div>Erreur: {error}</div>;
if (quote) return <div>Total: {quote.totalAmountXOF} XOF</div>;
}Appel direct Ă l'API â
const response = await fetch('/api/wise-quote', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
amount: 1000,
amountType: 'target',
sourceCurrency: 'EUR',
targetCurrency: 'USD',
}),
});
const data = await response.json();
console.log(data.quote);đ§Ș Tests â
1. Tester le Route Handler â
# Vérifier que l'API est configurée
curl http://localhost:3000/api/wise-quote
# Faire un calcul de devis
curl -X POST http://localhost:3000/api/wise-quote \
-H "Content-Type: application/json" \
-d '{
"amount": 1000,
"amountType": "target",
"sourceCurrency": "EUR",
"targetCurrency": "USD"
}'2. Tester dans l'interface â
- Démarrez le serveur :
npm run dev - Allez sur
/calculator - Saisissez un montant (ex: 1000)
- Sélectionnez une devise (ex: USD)
- Le calcul se fait automatiquement aprĂšs 500ms
3. VĂ©rifier le fallback â
- ArrĂȘtez votre serveur
- Videz les variables d'environnement Wise
- Redémarrez
- Le calculateur devrait fonctionner avec des taux statiques
- Un message "Taux indicatif" s'affiche
đ DĂ©ploiement en production â
1. CrĂ©er un compte Wise Business â
- Allez sur https://wise.com/business/register
- Complétez le KYB (Know Your Business)
- Activez votre compte
2. GĂ©nĂ©rer un token de production â
â ïž ATTENTION : Le token de production donne accĂšs Ă votre compte rĂ©el !
- Connectez-vous Ă https://wise.com
- Settings > API Tokens
- Créez un token avec les permissions minimales nécessaires :
- â Read quotes
- â Pas besoin de "Create transfers" pour le calculateur
3. Mettre Ă jour les variables d'environnement â
Sur votre plateforme de déploiement (Vercel, Railway, etc.) :
WISE_API_BASE_URL=https://api.transferwise.com
WISE_API_TOKEN=votre_token_production
WISE_PROFILE_ID=votre_profile_id_business4. SĂ©curitĂ© â
- â Jamais commit les tokens dans Git
- â Utiliser des variables d'environnement chiffrĂ©es
- â Rotation des tokens tous les 3-6 mois
- â Monitoring des appels API (alertes si usage anormal)
- â Rate limiting cĂŽtĂ© serveur
đ Monitoring et logs â
Logs disponibles â
Tous les appels API sont loggés cÎté serveur :
đ Appel API Wise: { url, body }
â
Réponse Wise reçue: quote-id-xxx
â ïž Utilisation du devis de fallback statique
â Erreur API Wise: 429 - Rate limit exceededMĂ©triques Ă surveiller â
- Taux de succĂšs des appels Wise
- Temps de réponse moyen
- Taux d'utilisation du fallback
- Nombre d'appels API par jour
đ Troubleshooting â
Erreur: "Configuration Wise manquante" â
Cause : Variables d'environnement non définies
Solution :
# Vérifier que .env.local existe et contient les bonnes valeurs
cat .env.local
# Redémarrer le serveur
npm run devErreur: "Wise API error: 401" â
Cause : Token d'API invalide ou expiré
Solution :
- Vérifiez que le token est correct
- Générez un nouveau token
- Mettez Ă jour
.env.local - Redémarrez le serveur
Erreur: "Wise API error: 429" â
Cause : Rate limit dĂ©passĂ© (trop de requĂȘtes)
Solution :
- Le systĂšme bascule automatiquement sur le fallback
- Augmentez le
debounceMsdansuseWiseQuote - Activez le cache plus longtemps (
cacheDurationMs)
đ Ressources â
Questions ? Contactez l'équipe technique Africa Bridge Pay.
