Passer au contenu

Abonnements crypto & paiements récurrents : Comment ça fonctionne vraiment

Payora9 min de lectureEN · RU · UK · ES · DE · FR · IT · PL · PT · HI · ZH

Les abonnements crypto ne fonctionnent pas comme les abonnements par carte, et prétendre le contraire est là où la plupart des intégrations se trompent. Une carte de crédit peut être facturée à nouveau le mois prochain parce que vous détenez un jeton qui vous permet de retirer des fonds. La crypto n'a pas d'équivalent : personne ne peut accéder au portefeuille d'un utilisateur et le débiter. Ainsi, les véritables paiements crypto récurrents sont des périodes d'accès prépayées — le client paie, vous accordez l'accès jusqu'à une date, et lorsqu'il paie à nouveau, vous empilez une autre période par-dessus. Obtenez ce modèle mental correct et tout le reste — rappels, fenêtres de grâce, contrôle d'accès — s'imbrique parfaitement. Cet article explique comment fonctionnent réellement les abonnements crypto, quand ils surpassent la facturation par carte, quand ils ne le font pas, et comment mettre en œuvre la logique d'accès de manière claire.

Pourquoi la crypto n'a pas d'auto-facturation (et pourquoi c'est bien)

Les réseaux de cartes sont basés sur le retrait. Lorsque vous enregistrez une carte, le commerçant stocke un jeton et le réseau lui permet d'initier des prélèvements selon un calendrier. Le client n'est pas impliqué chaque mois. Les blockchains sont basées sur le push. Un paiement n'a lieu que lorsque le titulaire du portefeuille signe et diffuse une transaction. Il n'y a pas d'autorisation permanente qu'une passerelle peut rejouer. Avec Payora, cela est d'autant plus vrai : rien n'est envoyé automatiquement et rien n'est facturé automatiquement : un paiement n'a lieu que lorsque le payeur le signe, et l'argent quitte votre solde uniquement lorsque vous le demandez.

Les gens pointent parfois vers des primitives de "subscription" sur la chaîne — les allocations approve() ERC-20, les clés de session d'abstraction de compte, ou des protocoles de streaming comme Sablier. Ils existent, mais ils sont de niche, spécifiques à la chaîne, nécessitent que l'utilisateur pré-approuve un plafond de dépenses, et ajoutent une réelle surface UX et de sécurité. Pour 99 % des entreprises facturant des clients en USDT ou BTC, le modèle pragmatique est le renouvellement prépayé. C'est plus simple, plus sûr, et cela fonctionne de manière identique sur chaque pièce et réseau que vous supportez.

Le modèle prépayé : facturer, puis empiler +30 jours

Voici tout le schéma. Un abonnement est juste un access_until timestamp sur le compte du client. Chaque paiement réussi l'étend.

  • Nouvelle inscription : le client paie pour un plan de 30 jours. Sur votre webhook confirmé, définissez access_until = now() + 30 jours.
  • Renouvellement : le client paie à nouveau. Vous étendez à partir de ce qui est le plus tard — le access_until actuel s'il a payé tôt, ou now() s'il a laissé passer. C'est la règle "empiler +30 jours" : access_until = max(access_until, now()) + 30 jours.
  • Expiration : un travail programmé (ou une simple vérification sur demande) compare access_until à maintenant. Passé cela, l'accès est révoqué jusqu'à ce que le prochain paiement arrive.

Utiliser max() est important. Si quelqu'un renouvelle trois jours en avance, vous ne voulez pas brûler ces trois jours — étendez à partir de leur date de fin existante. S'ils renouvellent une semaine en retard, vous étendez à partir d'aujourd'hui. Cette seule ligne empêche les deux plaintes de facturation les plus courantes.

Un exemple concret

Disons que vous vendez un abonnement de 15 $/mois et acceptez l'USDT sur TRC-20 parce que les frais sont minimes. Le flux ressemble à ceci :

// sur le webhook de paiement confirmé (vérifié par HMAC)
$sub = getSubscription($userId);
$base = max($sub->access_until, now());
$sub->access_until = $base->addDays(30);
$sub->last_paid_at = now();
save($sub);
grantAccess($userId);

C'est le cœur de la facturation d'abonnement crypto. Pas de carte stockée, pas de coffre-fort, pas de rétrofacturations. Le client reçoit une facture ou un lien de paiement quelques jours avant l'expiration, le paie, et le webhook fait le reste. S'il ne paie pas, l'accès se termine simplement — pas de tentatives de prélèvement échouées, pas d'emails de relance pour une carte morte.

Facturation récurrente par carte vs. paiements crypto récurrents

Aucun des modèles n'est strictement meilleur ; ils s'optimisent pour des choses différentes. Les cartes gagnent sur la rétention sans friction. La crypto gagne sur la finalité, la portée et le coût. Voici la comparaison honnête :

DimensionFacturation récurrente par cartePaiements crypto récurrents
Modèle de prélèvementLe commerçant prélève automatiquementLe client pousse chaque période (prépayé)
Action de l'utilisateur par cycleAucuneUn paiement
RétrofacturationsOui — réversibleNon — final sur confirmation
Paiements échouésCourants (cartes expirées, refus)N/A — pas de paiement, pas d'accès
Portée mondialeDépendant du réseau de cartesQuiconque avec un portefeuille
Frais2,9 % + fixe, par prélèvementFrais de réseau uniquement ; 0 % pour accepter sur Payora

Le compromis est brut : les cartes se renouvellent silencieusement mais fuient des revenus à cause des refus et des rétrofacturations ; la crypto ne vous surprend jamais avec un retour mais dépend de l'action du client à chaque cycle. C'est pourquoi l'email de rappel n'est pas optionnel — c'est votre entier entonnoir de renouvellement.

Quand chaque modèle convient réellement

Les abonnements crypto prépayés brillent lorsque :

  • Votre public est mondial ou natif de la crypto et détient déjà des stablecoins.
  • La fraude par rétrofacturation est un coût réel — biens numériques, SaaS, adulte, jeux, secteurs à haut risque.
  • Vous souhaitez un règlement dans des actifs que vous contrôlez plutôt qu'un processeur détenant votre solde.
  • Les plans annuels ou trimestriels sont viables — moins de renouvellements signifie moins de chances de churn par inaction.

Les cartes conviennent encore mieux pour les abonnements consommateurs à bas prix et à fort volume où toute friction par cycle fait chuter la rétention. De nombreuses entreprises gèrent les deux et laissent le choix au client. Si vous acceptez déjà des paiements crypto ponctuels, ajouter des abonnements est principalement une couche de planification et de messagerie au-dessus du processus de paiement que vous avez — voir accepter la crypto sans processeur de paiement pour la configuration de base.

Mettre en œuvre le contrôle d'accès de manière claire

Gardez la décision d'accès très simple et centralisez-la. Chaque demande protégée devrait poser une question : est now() < access_until? Ne dispersez pas la logique d'abonnement dans votre code.

  1. Stockez l'état, pas les événements. La source de vérité est access_until, pas un tas de lignes de paiement. Les paiements mutent ce champ ; votre application lit cela.
  2. Ajoutez une fenêtre de grâce. Un paiement confirmé sur la chaîne peut prendre des minutes. Donnez un petit tampon (disons, 2 à 3 jours après l'expiration) afin qu'un client payant le dernier jour ne soit pas bloqué pendant que la transaction se confirme.
  3. Faites tout à partir du webhook signé. Étendez l'accès uniquement lorsque Payora envoie un événement de paiement confirmé, et vérifiez la signature HMAC-SHA256 avant de lui faire confiance. Détails dans vérification de la signature du webhook.
  4. Envoyez des factures de renouvellement avant l'expiration. Générez un lien de paiement quelques jours avant et envoyez-le par email. C'est le même flux de facturation que les freelances utilisent — voir facturation des clients en crypto.
  5. Rendez le renouvellement d'un clic. Réutilisez la pièce et le réseau préférés du client afin qu'un membre revenant ne doive pas choisir à nouveau entre les chaînes chaque mois.

Parce que le règlement est non-custodial, les fonds de chaque renouvellement atterrissent dans des portefeuilles que vous détenez — vous pouvez consulter le solde interne et le déplacer selon votre emploi du temps, en payant un frais de votre plan (1,5 % sur Free) plus le frais de réseau de la pièce’ uniquement lorsque vous retirez (minimum 50 $), pas lorsque vous acceptez. Garder les frais bas lors des renouvellements vaut également la peine d'être lu : réduction des frais de paiement crypto.

Erreurs courantes à éviter

  • Étendre à partir de now() lors des renouvellements anticipés — vous volez des jours pour lesquels les clients ont payé. Toujours max(access_until, now()).
  • Révoquer l'accès dès que l'horloge tourne — une transaction confirmée ressemble à un non-paiement. Utilisez la fenêtre de grâce.
  • Faire confiance à un webhook non signé — n'importe qui peut POST à votre point de terminaison. Vérifiez la signature ou vous distribuerez des abonnements gratuits.
  • Promettre "auto-renouvellement" dans l'UI — c'est prépayé. Dites "se renouvelle lorsque vous payez" ; l'honnêteté ici prévient les tickets de support.

Commencez

Les abonnements crypto sont moins magiques et plus disciplinés : périodes prépayées, un seul champ access_until, et un webhook signé qui empile le temps. C'est un modèle que vous pouvez expédier en un après-midi et raisonner indéfiniment. Créez un compte Payora gratuit pour obtenir des clés API, reliez vos renouvellements aux documents SDK et webhook, ou essayez la démo de paiement en direct d'abord pour voir le flux de paiement que vos membres utiliseront. Lorsque vous êtes prêt, mettez en place le paiement hébergé, les factures et les liens de paiement et commencez à facturer dans les 20+ pièces que vos clients détiennent déjà.

Comments

Prêt à commencer ?

Créez un compte et émettez votre première facture en moins d’une heure.

Ce que cette page répond