Infrastructure de paiement
Ton serveur crée un paiement. Le client paie sur une page hébergée par FedCheckout. Ton serveur reçoit un webhook signé et débloque la commande. Personne ne clique sur « approuver » — ni toi, ni nous.
Mode test immédiat, sans approbation. 2 moyens de paiement ouverts aujourd'hui.
Boutique Exemple
demande un paiement
20.00USD
Cours de vibe coding
Paiement sécurisé par FedCheckout
L'écran de paiement hébergé, avec un marchand d'exemple.
ÉTAPE 1
Tu crées un Payment Intent
Un appel API depuis ton serveur, avec un montant et une devise. Tu reçois une adresse de paiement.
ÉTAPE 2
Le client paie chez nous
Page hébergée, moyens réels, règles antifraude, reprise sur échec. Tu n'écris rien de tout ça.
ÉTAPE 3
Ton serveur reçoit un webhook
payment_intent.succeeded, signé en HMAC-SHA256, réessayé jusqu'à réception. C'est lui qui fait foi, pas la redirection du navigateur.
ÉTAPE 4
Ton application livre
FedCheckout dit qu'un paiement a réussi. La commande, le cours ou le domaine, c'est toi.
Un moyen n'apparaît ici que si FedCheckout en obtient une confirmation serveur fiable, sans aucun geste humain.
3 autres moyens sont en cours d'intégration et ne sont pas encore proposés au paiement. La carte bancaire n'est pas dans cette liste : aucune intégration réelle n'existe aujourd'hui. Voir l'état de chaque moyen
Pas de SDK à installer, pas de bibliothèque à mettre à jour : du HTTP et du JSON. La clé d'idempotence rend l'appel rejouable sans risque.
curl https://checkout.fedtopup.com/api/v1/payment_intents \
-H "Authorization: Bearer $FEDCHECKOUT_SECRET_KEY" \
-H "Idempotency-Key: commande-7781" \
-H "Content-Type: application/json" \
-d '{
"amount": "20.00",
"currency": "USD",
"description": "Cours de vibe coding",
"external_reference": "ORD-7781",
"return_url": "https://ton-site.com/merci"
}'
{
"id": "fpay_pi_8K2M…",
"status": "requires_payment_method",
"amount": "20.000000",
"currency": "USD",
"checkout_url": "https://checkout.fedtopup.com/pay/fpay_cs_…"
}Aucun double débit
Une seule tentative vivante par paiement, une clé d'idempotence obligatoire sur les créations, et un registre qui refuse d'écrire deux fois la même ligne.
Aucun doute silencieux
Un délai dépassé n'est pas un échec : c'est « fournisseur inconnu », et une réconciliation automatique tranche en relisant le rail.
Aucun secret en clair
Les clés d'API sont stockées en empreinte HMAC, les secrets de webhook vivent hors du schéma public, et rien de tout ça n'apparaît dans un journal.
Aucun marchand chez le voisin
Chaque table est fermée par RLS sans exception, et l'API résout le marchand depuis la clé — jamais depuis ce que la requête prétend être.
Une clé de test, un premier paiement, un webhook reçu : sans approbation et sans engagement.
Créer une intégration