Compte Efaina non active. {{ accountNotice }}
Le jeton est valide et les appels arrivent bien, mais l'API refuse toutes les operations metier
tant que le droit d'adhesion n'est pas regle sur le tableau de bord Efaina.
{{ w }}
Retour depuis la page de paiement.
{{ returnNotice.text }}
Creer un checkout
{{ errors.checkout }}
Suivi du paiement
{{ current.status || 'inconnu' }}Aucun checkout en cours. Creez-en un pour suivre son cycle de vie ici.
Checkout cree
{{ formatTime(current.createdAt) }}
Page de paiement ouverte
Lien valable 1 heure
Webhook recu
{{ currentEvents.length ? currentEvents.map(e => e.event).join(', ') : 'En attente' }}
Statut final
{{ current.status || 'pending' }}
- Transaction
-
{{ current.transaction }} - Montant
- {{ formatAmount(current.amount) }}
- Wallet
{{ current.walletId }}- Checkout
- Ouvrir la page de paiement
Reponse details-transaction
{{ pretty(current.details) }}
Checkouts de la session
| Cree | Mode | Montant | Motif | Transaction | Statut | |
|---|---|---|---|---|---|---|
| {{ formatTime(c.createdAt) }} | {{ c.mode }} | {{ formatAmount(c.amount) }} | {{ c.comment }} | {{ shortId(c.transaction) }} |
{{ c.status }} |
Aucun checkout cree depuis le demarrage du serveur.
Wallets
| Identifiant | Libelle | Solde | |
|---|---|---|---|
{{ shortId(w.id) }} |
{{ w.label }} | {{ w.balance !== null ? formatAmount(w.balance) : '-' }} |
{{ loading.wallets ? 'Chargement...' : 'Aucun wallet charge.' }}
Reponse brute
{{ pretty(rawWallets) }}
Creer un wallet
{{ errors.wallet }}
{{ pretty(walletResult) }}
Rechercher
{{ errors.transactions }}
| Identifiant | Reference | Montant | Statut | Type | Date | |
|---|---|---|---|---|---|---|
{{ shortId(t.id) }} |
{{ t.ref || '-' }} | {{ formatAmount(t.amount) }} | {{ t.status || '-' }} | {{ t.type || '-' }} | {{ formatTime(t.createdAt) }} |
Aucune transaction chargee.
Reponse brute
{{ pretty(rawTransactions) }}
Transaction {{ shortId(inspected.id) }}
{{ pretty(inspected.details) }}
{{ pretty(inspected.commission) }}
Rembourser
{{ errors.refund }}
{{ pretty(refundResult) }}
Configuration a declarer chez Efaina
- URL du webhook
-
{{ config.webhookUrl }} - URL de retour
{{ config.returnUrl }}- Verification
- {{ webhookTokenBadge.text }} Les appels non verifies sont rejetes (401).
L'URL publique pointe sur localhost : Efaina ne pourra pas livrer les webhooks. Exposez le port avec ngrok puis renseignez PUBLIC_URL dans .env.
Simuler un appel
{{ curlSample }}
Evenements recus
{{ webhooks.length }}
{{ w.verified ? 'verifie' : 'non verifie' }}
{{ w.event || '(sans evenement)' }}
{{ w.status }}
- Requete
- {{ w.method }} {{ w.path }}
- Mode reconnu
- {{ w.mode || 'aucun' }}
- Webhook-Token
- {{ w.tokenPresent ? 'present' : 'absent' }}
{{ pretty(w.payload) }}
En-tetes
{{ pretty(w.headers) }}
Aucun webhook recu. Le flux temps reel est {{ streamConnected ? 'connecte' : 'deconnecte' }}.
Appels sortants vers Efaina
{{ apiLogs.length }}
{{ l.status || 'ERR' }}
{{ l.label }}
Requete
{{ pretty(l.request) }}
Reponse
{{ pretty(l.error ? { erreur: l.error } : l.response) }}
Aucun appel effectue.
Calcul des frais
{{ errors.fee }}
- Frais Efaina
- {{ feeBreakdown.fee_app }}
- Frais operateur
- {{ feeBreakdown.fee_method }}
- Total
- {{ feeBreakdown.total_fee }}
Reponse brute
{{ pretty(feeResult) }}
Transfert entre wallets (P2P)
{{ errors.p2p }}
{{ pretty(p2pResult) }}
Appel libre a l'API
Prefixe automatique : {{ activeMode.baseUrl }}
{{ errors.raw }}
{{ pretty(rawResult) }}
Configuration chargee
| Mode | Base URL | Jeton API | Webhook-Token | Utilisable |
|---|---|---|---|---|
| {{ m.label }} | {{ m.baseUrl }} | {{ m.tokenPreview }}absent |
{{ m.hasWebhookToken ? 'defini' : 'absent' }} | {{ m.usable ? 'oui' : 'non' }} |
- URL publique
- {{ config.publicUrl }}
- X-App-Id
- {{ config.appId || 'non defini' }} format invalide
- Production autorisee
- {{ config.allowProduction ? 'oui' : 'non (EFAINA_ALLOW_PRODUCTION=false)' }}