Skip to main content
Le Direct Charge permet à votre backend d’initier un paiement directement avec un provider, sans créer d’abord une URL de checkout.

Quand utiliser Direct Charge

Flux pilotes par le backend

Idéal pour une initiation de paiement serveur à serveur, quand vous contrôlez tout le cycle de vie de la transaction.

Champs specifiques au provider

À utiliser quand le paiement requiert des champs propres au provider, comme network ou des codes OTP client.

UX recurrente ou embarquee

Utile pour des expériences fortement intégrées où le checkout par redirection n’est pas souhaité.

Endpoints

Étapes d’intégration

1

Choisir le slug provider

Sélectionnez un provider valide depuis Providers pris en charge.
2

Recuperer les proprietes du provider (optionnel)

Pour des providers comme Bank Transfer (bank-transfer-nigeria), récupérez les propriétés requises, par exemple les valeurs network, avant de débiter.
3

Envoyer la requête de direct charge

Appelez l’endpoint direct-charge avec provider, amount et customerInput.
4

Traiter l'action puis confirmer le statut final

Utilisez l’action de la réponse (processing, redirect, bankTransfer) puis finalisez selon le webhook ou la vérification.

Récupérer les propriétés du provider (optionnel)

Exemple de réponse :

Requête Direct Charge

Exemple de réponse :

Champs de la requête

Types d’action et traitement

processing

L’interaction client/provider est en cours, par exemple une autorisation USSD ou STK en attente. Conservez l’état du paiement à pending et attendez le statut final via webhook ou vérification.
Redirigez le client vers l’URL du provider, souvent dans data.data.link. Ne considerez jamais la simple fin de la redirection comme un succes de paiement.
Affichez les instructions de virement renvoyées, comme le nom du compte, le numéro, le montant et l’expiration. Attendez le webhook ou la vérification avant de marquer le paiement comme réussi.

Règle de montant importante

Payfonte ne prend pas en charge les montants décimaux dans les requêtes API. Envoyez uniquement des valeurs entières en sous-unités.
  • 100.00 NGN -> 10000
  • 2500.75 NGN -> 250075
Voir Spécification des montants.

Confirmation du statut final

Pour l’exécution de commande, appuyez-vous sur :
  1. Les webhooks pour les mises à jour asynchrones.
  2. GET /payments/v1/payments/verify/{reference} pour la vérification backend.

Documentation associée

Flux de traitement

Comprendre les modèles processing, redirect, bankTransfer et pre-OTP.

Exemples de payloads

Copier des exemples de requêtes spécifiques par provider.

Providers pris en charge

Slugs providers, limites et couverture pays.