Passer au contenu principal
Le checkout standard est un flux par redirection :
  1. Votre backend crée une session de checkout.
  2. Payfonte renvoie une URL de checkout.
  3. Vous redirigez le client vers cette URL.
  4. Le client finalise le paiement et Payfonte notifie votre système via webhook.

Pourquoi utiliser le checkout standard ?

Lancement le plus rapide

Complexité frontend minimale. Votre backend crée un checkout puis redirige l’utilisateur.

Expérience hébergée

Payfonte gère l’interface des moyens de paiement et les interactions spécifiques à chaque provider.

Mises à jour fiables

Utilisez les événements webhook et la vérification de transaction pour connaître le résultat final.

Étapes d’intégration

1

Collecter les informations de paiement côté backend

Préparez les champs requis comme amount, currency, country et les données client.
2

Créer une session de checkout

Envoyez une requête à POST /payments/v1/checkouts avec votre client-id et votre client-secret.
3

Rediriger le client

Redirigez l’utilisateur vers data.shortURL ou data.url renvoyé dans la réponse.
4

Confirmer le statut final

Traitez les notifications webhook et vérifiez éventuellement le statut de transaction avant d’exécuter la commande.

Requête de création de checkout

curl --location 'https://sandbox-api.payfonte.com/payments/v1/checkouts' \
  --header 'client-id: <client-id>' \
  --header 'client-secret: <client-secret>' \
  --header 'Content-Type: application/json' \
  --data '{
    "reference": "ORDER-1001",
    "amount": 50000,
    "currency": "NGN",
    "country": "NG",
    "redirectURL": "https://yourapp.com/payment/complete",
    "webhook": "https://yourapp.com/webhooks/payfonte",
    "user": {
      "email": "customer@example.com",
      "phoneNumber": "2348012345678",
      "name": "John Doe"
    }
  }'
Exemple de réponse :
{
  "data": {
    "url": "https://checkout-staging.payfonte.com/payfusion/66579afe04916ddcfcf73e7b",
    "shortURL": "https://l.6bd.co/XXXXX",
    "reference": "ORDER-1001",
    "amount": 50000
  }
}

Référence des paramètres

ChampTypeRequisDescription
referencestringRecommandéIdentifiant de transaction unique dans votre système
amountintegerOuiMontant en sous-unités, sans décimales
currencystringOuiCode devise ISO, par exemple NGN
countrystringOuiCode pays ISO, par exemple NG
userobjectOuiObjet client avec e-mail, téléphone et nom
redirectURLstringNonURL de retour du client après le checkout
webhookstringNonURL de webhook spécifique à cette transaction
metadataobjectNonChamps personnalisés pour votre suivi interne

Règle de montant importante

Payfonte ne prend pas en charge les montants API décimaux. Envoyez uniquement des valeurs entières en sous-unités.
  • 500.00 NGN -> 50000
  • 1250.75 NGN -> 125075
Voir Spécification des montants pour la règle complète.

Après la redirection et le paiement

Résultat de redirection client

Après le checkout, le client est redirigé vers votre redirectURL avec des informations de contexte telles que status et reference.
Si les webhooks sont configurés, Payfonte envoie des mises à jour de statut à votre endpoint webhook.
Pour les flux critiques, vérifiez le statut de transaction depuis votre backend avant l’expédition d’un bien ou le crédit d’un portefeuille.
Si le paiement échoue, autorisez la relance et conservez votre commande dans un état en attente jusqu’à confirmation d’un succès final.

Bonnes pratiques de production

PratiquePourquoi c’est important
Générer les références côté serveurÉvite les doublons et améliore le rapprochement
Traiter les webhooks de façon idempotenteEmpêche les doubles exécutions sur retry
Valider les paramètres de redirectionProtège contre les valeurs client altérées ou mal formées
Utiliser la vérification backendGarantit le statut final avant une action métier critique

Documentation associée

Checkout inline

Alternative embarquée pour un paiement sur la page.

Webhooks

Configurez et validez les callbacks d’événements de paiement.

Référence API

Détails des endpoints et schémas pour les opérations de checkout.