Rejoignez-Nous sur

Comment créer un paywall Bitcoin / Lightning Email avec BTCPay

Screenshot from 2020 03 22 08 43 01 1

News

Comment créer un paywall Bitcoin / Lightning Email avec BTCPay

Britt Kelly récemment a fait une présentation sur la façon dont BTCPay est plus que le simple traitement des paiements pour les commerçants. J'ai pensé partager un cas d'utilisation que j'ai moi-même implémenté récemment.

Depuis que Earn.com a annoncé la dépréciation de son service de messagerie payante fin 2019, j'ai décidé de tenter de remplacer sa fonctionnalité par ma propre configuration auto-hébergée. Vous pouvez voir ma forme en direct sur le page de contact sur lopp.net.

Le service Earn.com fonctionnait comme un dépositaire centralisé et un service d'entiercement. Les utilisateurs qui souhaitaient proposer leur expertise via un formulaire de contact payant créeraient un compte et fixeraient leur seuil de rémunération. Les personnes qui souhaitaient les contacter devraient également créer un compte Earn.com, déposer des bitcoins et envoyer leur message à l'autre utilisateur. Si cet utilisateur répondait en temps opportun, Earn créditerait le solde sur son compte interne, sinon il serait crédité sur le compte interne de l'expéditeur. Si l'un des utilisateurs souhaitait réellement obtenir son bitcoin, il devrait demander un retrait qui prendrait un jour ou deux pour être traité.

Comment fonctionne cette configuration BTCPay?

Si un utilisateur souhaite vous contacter, il remplit un formulaire sur votre site Web avec son message. Le message est ensuite stocké sur votre serveur Web et l'utilisateur est transféré vers une page de paiement sur votre serveur BTCPay. Si le paiement est effectué, l'utilisateur sera redirigé vers une page de réussite. Une fois le paiement confirmé, votre serveur BTCPay rappellera ensuite votre serveur Web, qui vous enverra le message par e-mail. Si aucun paiement n'est jamais traité, vous ne voyez pas le message.

Le pro de cette configuration est que vous avez toute la flexibilité de gérer votre propre portefeuille et de prendre directement possession des fonds. L'inconvénient est qu'il n'y a plus de composante d'entiercement; la personne qui envoie le message vous fait confiance pour y répondre. Notez qu'il est théoriquement possible de construire votre propre système qui utilise le multisig 2 sur 3 avec un agent d'entiercement en chaîne ou même sur Lightning Network, mais il n'est actuellement pas pris en charge via BTCPay.

Guide d'implémentation

  1. Installer BTCPay sur une machine que vous contrôlez.
  2. Avoir un site Web auquel vous pouvez ajouter le formulaire et les scripts de traitement. Mes exemples sont en PHP, donc pour les utiliser, votre serveur web devra avoir un support PHP.
  3. Ajoutez le formulaire HTML à votre site Web; ma forme est ici. Notez que mon formulaire est plus compliqué que nécessaire car il possède des fonctionnalités supplémentaires de gestion des erreurs et de cryptage. La partie importante est que le formulaire se soumet à lui-même et exécute le script côté serveur que vous configurez à l'étape suivante.
  4. Le gestionnaire de soumission de formulaire côté serveur est ici. Alors que mon exemple inclut le fichier en haut de la page de contact, vous pouvez simplement copier le code dans votre page de contact. Notez que cela gère à la fois mon formulaire "gratuit" (protégé par une preuve de travail) et mon formulaire payant, de sorte que vous ne souhaiterez peut-être aucune logique "formType".

Screenshot from 2020 03 22 08 43 01 1

Vous voudrez remplacer les constantes définies en haut du fichier:
BTCPAY_STORE_ID = l'identifiant que vous pouvez trouver dans les paramètres de votre magasin comme indiqué ci-dessus
BTCPAY_CALLBACK_URL = l'URL de votre site pour le script que vous allez configurer à l'étape 5;
SUCCESS_URL = URL sur votre site vers une page de réussite "paiement reçu" que vous créez;
BTCPAY_INVOICE_API_URL = "https://yourbtcpaydomain.com/api/v1/invoices";

5. Le script de rappel côté serveur est ici. Vous devrez définir 3 constantes:
BTCPAY_IP_ADDRESS = l'adresse IP de votre serveur BTCPay
YOUR_EMAIL_ADDRESS = l'adresse e-mail à laquelle vous souhaitez que les messages payants soient livrés
YOUR_DOMAIN = le domaine de votre site Web, utilisé uniquement pour un cas de bord d'erreur

Voilà!

C'est tout ce qu'on peut en dire! Bien sûr, vous devez tester pour vous assurer que le système est correctement configuré; vous ne voulez pas que quelqu'un paie pour les messages prioritaires qui ne sont pas livrés! Il y a, bien sûr, de nombreuses options sur le côté BTCPay que j'ai passées en revue, comme le fait que vous devriez pouvoir utiliser ce système pour accepter à la fois les paiements en chaîne et les paiements Lightning Network.



Traduction de l’article de Jameson Lopp : Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Les Plus Populaires

Acheter des Bitcoin

Acheter des Alt-Coins

Sécuriser vos Cryptos

Vêtements et Produits Dérivés

Top