Sie können Abonnements über Pay.sh einrichten, indem Sie einen Pay-Client auf Ihrem Gerät oder einen Pay-Server einrichten. Installieren Sie Pay mit:
brew install pay
oder
npm install -g @solana/pay
Überprüfen Sie die Installation mit:
pay --version
Die Toolchain richtet Ihre Adresse automatisch ein. Führen Sie Folgendes aus, um Ihre Wallet einzurichten und aufzuladen:
pay setup
Abonnements als Client
Benutzer abonnieren abonnementgeschützte API-Endpunkte, indem sie Pay wie
gewohnt aufrufen. Es obliegt der API, die Abonnementdetails in der anfänglichen
402 Status Antwort zu senden. Pay verwaltet das Abonnement automatisch,
einschließlich der Anweisungen ausführung im Solana SPL Subscriptions Program.
Benutzer können ihre Abonnements mit den folgenden Befehlen verwalten:
pay subscriptions # default: list + show available subcommandspay subscriptions list # same, scriptablepay subscriptions list --network mainnetpay subscriptions list --json
Weitere Informationen zur Verwaltung Ihrer Abonnements als Benutzer finden Sie in der Pay.sh > Pay verwenden > Abonnements verwalten Dokumentation.
Abonnements als Anbieter verwalten (Demo)
Pay-Server ermöglichen die Konfiguration von Abonnenten und deren Abonnements für jeden Endpunkt. Das Folgende ist ein Beispielendpunkt, der Pay verwendet und den Sie mit Ihrem Projekt ausprobieren können:
# monthly.ymlname: Subscriptions Examplesubdomain: subscriptions-exampletitle: "Subscription Example"description: "Demo Subscriptions"category: ai_mlversion: v1routing:type: respondoperator:currencies:usd: ["USDC", "USDT", "CASH"]network: "localnet"fee_payer: truechallenge_binding_secret: d858d9104afd728f58a1f73d806dd75d8f32ebd37c9707145816b490e8631d41# insert your own challenge_binding_secret here. use `openssl rand -hex 32`endpoints:- method: GETpath: "api/v1/pro/feed"resource: "pro-feed"description: "Pro feed — monthly subscription, 30-day billing period."subscription:period: "30d"price_usd: 9.99currency: USDCplan_id_numeric: 1
Pay verwaltet Abonnements mithilfe des Attributs subscription: in seiner
endpoints YAML-Spezifikation. Dies steht im Gegensatz zum Attribut metering:
für Pay-per-Use-Endpunkte.
Durch das Starten des Servers im obigen Beispiel wird ein Endpunkt namens
api/v1/pro/feed erstellt, der vom Benutzer verlangt, alle 30 Tage
wiederkehrende Zahlungen von 9,99 USDC zu leisten.
Sie können es ausprobieren, indem Sie den folgenden Befehl ausführen:
pay server start monthly.yml
Wenn Sie diesen Befehl ausführen, werden Sie aufgefordert, einen Plan zu erstellen. Dadurch wird ein Plan erstellt und die YML-Datei aktualisiert. Wenn Sie ihn erneut verwenden möchten, merken Sie sich die Planadresse und verwenden Sie diese in Ihrer Konfiguration, während Sie Änderungen vornehmen.
Sie können testen, ob die Abonnements funktionieren, indem Sie die folgenden Befehle als Client in einem anderen Terminal ausführen:
# First call — activates the subscription, $9.99 USDC charge settles.pay --sandbox curl http://127.0.0.1:1402/api/v1/pro/feed# Same call within 30 days — no payment prompt, just the response.pay --sandbox curl http://127.0.0.1:1402/api/v1/pro/feed
Als Antwort sollten Sie einen OK-Status wie diesen sehen:
{ "status": "ok" }
Weitere Informationen zur Verwaltung von Abonnements auf einem Pay-Server finden Sie in der Pay.sh > Building with Pay > Subscriptions > YAML Specification docs.
Is this page helpful?