Ndeight — paiement par carte
TL;DR : Ndeight est une troisième passerelle de paiement par carte, à côté de Stripe et PayPal. L'acheteur paie sur la page hébergée de Ndeight puis revient sur ta landing. Trackily marque la commande payée seulement après avoir relu le paiement chez Ndeight et vérifié que le montant et la devise correspondent au centime. Devises acceptées : USD, EUR, GBP. Fonctionne aussi dans les funnels (voir plus bas). Contrat technique : CONCEPTION-NDEIGHT.md.
Brancher un compte
- Dans Ndeight : Organization → API & Webhooks. Choisis l'onglet Sandbox pour tester ou Production pour encaisser. Chaque onglet a sa propre clé et son propre secret.
- Create (clé API) : copie la clé, Ndeight ne l'affiche qu'une fois. Il lui faut au minimum les portées
checkout:createetpayments:read, plusrefunds:writeetrefunds:readsi tu veux rembourser depuis Trackily. Une clé sans portée les a toutes. - Dans Organization → Information, règle le mode de prix sur TTC. En HT, Ndeight ajouterait la taxe au total : le montant ne correspondrait plus et la commande ne passerait pas payée.
- Fais autoriser les montants libres (produits « ad-hoc ») pour ton organisation, en sandbox comme en production. Trackily envoie le total de la commande sur une seule ligne libre, jamais un produit du catalogue Ndeight. Sans ce droit, Ndeight refuse chaque paiement avec « Organization is not allowed to manage products via API », et l'acheteur voit « Card payment is temporarily unavailable ». Ce droit ne se règle pas par l'API : il est donné par Ndeight.
- Create (clé API) : copie la clé, Ndeight ne l'affiche qu'une fois. Il lui faut au minimum les portées
- Dans Trackily : Réglages → Payment Methods → Add manually.
- Provider Ndeight (carte bancaire), Mode Bac à sable ou Production (le même onglet que dans Ndeight).
- Colle la Clé API. Il n'y a pas de clé publique : laisse ce champ vide, Trackily refuse d'en enregistrer une.
- Enregistre. La fenêtre affiche alors l'URL du webhook (
https://<ton-domaine>/webhook/ndeight/<id>).
- De retour dans Ndeight, même onglet : colle cette URL dans Endpoint URL et clique Save. Clique ensuite Rotate secret et colle le secret affiché dans le champ « Secret du webhook » de Trackily. Termine par Send test.
- Dans Trackily, Tester la connexion doit afficher « clé valide », « secret enregistré » et « événement test reçu ».
- Rattache le compte à tes landings, offres ou produits, comme un compte Stripe.
Ce que voit l'acheteur
Le buy box affiche un bouton « Payer par carte », uniquement si la page est en USD, EUR ou GBP. Si Trackily ne connaît pas le pays de facturation (produit numérique, VPN), un sélecteur de pays apparaît, ainsi qu'un champ code postal pour les États-Unis. L'acheteur paie ensuite sur la page Ndeight puis revient sur ta landing :
- paiement réussi : écran « Paiement reçu » ;
- carte refusée ou paiement annulé : la commande reste en attente et l'acheteur peut recommencer ;
- Ndeight ne répond pas encore : écran « paiement en vérification », qui dit à l'acheteur de ne pas payer une seconde fois.
Tester en bac à sable (sandbox)
Utilise les cartes de test de Ndeight (Sandbox checkout), par exemple 4242 4242 4242 4242, une date future (12/34) et un CVC à 3 chiffres. Toute autre carte est refusée.
Limite du sandbox Ndeight : il n'enregistre aucun paiement. Le résultat de la carte (réussi ou refusé) s'affiche sur la page Ndeight, mais Ndeight ne le communique pas à Trackily. Comme Trackily ne marque une commande payée que sur la confirmation de Ndeight, une commande sandbox reste « en vérification » puis est libérée quand la page expire. C'est normal.
Le sandbox valide la clé, le webhook, l'ouverture de la page, les cartes de test et les retours. Le passage « payée » (montant, upsells, remboursement) se valide avec un petit paiement réel en production, remboursé ensuite.
Comment Trackily sait qu'une commande est payée
Trois signaux mènent à la même vérification : le retour de l'acheteur, le webhook signé et une réconciliation toutes les 5 minutes, qui rattrape un webhook perdu. Dans les trois cas, Trackily relit le paiement chez Ndeight avant d'agir. Le reçu, le Purchase et l'e-mail ne partent qu'une fois, même si le webhook arrive plusieurs fois.
La commande n'est pas marquée payée et tu reçois une notification quand :
- le montant ou la devise ne correspondent pas au total de la commande (par exemple une taxe ajoutée par Ndeight) ;
- le paiement arrive sur une commande déjà annulée.
Dans ces deux cas, vérifie dans Ndeight, puis rembourse ou marque la commande payée à la main.
Une commande Ndeight en attente n'est jamais annulée à l'aveugle. Trackily l'annule et rend le stock dans deux cas seulement : Ndeight confirme l'annulation, ou la page de paiement a expiré sans paiement en cours.
Rembourser
Utilise le bouton Rembourser de la commande (ou l'outil MCP refund_native_order). Le remboursement est asynchrone chez Ndeight :
- tant que l'argent n'est pas rendu, il est « en cours chez Ndeight » et la commande reste payée ;
- une fois l'argent rendu, la commande passe « remboursée », ou « partiellement remboursée » ;
- une seule demande peut être en cours à la fois ;
- si Ndeight ne répond pas, la demande passe « en vérification » : ne la relance pas, Trackily la tranche seul.
Si Ndeight refuse le remboursement par API (certaines organisations le réservent au tableau de bord), rembourse depuis Ndeight (Payments → Refund). Trackily le détecte et met la commande à jour. Il en va de même pour tout remboursement fait directement dans Ndeight.
Détail d'une commande
L'encart « Paiement Ndeight » affiche l'environnement, l'état, la transaction, chaque tentative de carte avec le motif du refus, la carte (marque, 4 derniers chiffres, pays) et les remboursements. Le bouton Resynchroniser relit Ndeight tout de suite.
Agent (MCP)
| Outil | Ce qu'il fait |
|---|---|
list_payment_accounts |
Liste les comptes Ndeight avec leur environnement et leur dernier test, sans aucune clé. |
test_payment_account_connection |
Teste la clé et le webhook. |
get_ndeight_payment / sync_ndeight_payment |
Lit l'état Ndeight d'une commande / le relit chez Ndeight. |
refund_native_order |
Rembourse, avec confirmation, et accepte un reason. |
Aucun outil ne crée de compte et ne lit ou n'écrit une clé : c'est délibéré.
Dans un funnel
Ndeight paie l'étape checkout et chaque upsell accepté. Comme Ndeight ne garde pas la carte, il n'y a pas d'achat en un clic : chaque « Oui » d'upsell ouvre une nouvelle page Ndeight, et l'acheteur y ressaisit sa carte. Stripe et PayPal gardent leur achat en un clic, inchangé.
- Après paiement, l'acheteur revient dans le funnel et passe à l'étape suivante, comme avec Stripe.
- Carte refusée ou paiement annulé : la commande (ou l'upsell) est annulée, le stock est rendu, et l'acheteur revient sur son étape pour réessayer ou dire « non merci ».
- Fenêtre d'upsell : un upsell Ndeight n'est jamais annulé par sa fermeture, car l'acheteur est peut-être en train de payer. Son sort est tranché par la relecture chez Ndeight.
- Publication : un compte Ndeight actif suffit pour qu'une offre de funnel soit considérée comme payable.
Pas encore
Pas d'abonnements, pas de liens de paiement.