Je kunt abonnementen instellen via Pay.sh door een Pay-client op je apparaat in te stellen of door een Pay-server in te stellen. Installeer Pay met:
brew install pay
of
npm install -g @solana/pay
Verifieer de installatie met:
pay --version
De toolchain stelt je adres voor je in. Voer het volgende uit om je wallet in te stellen en op te waarderen:
pay setup
Abonnementen als client
Gebruikers abonneren zich op API-eindpunten met abonnementsvereiste door pay aan
te roepen zoals normaal. Het is aan de API om de abonnementsgegevens te
verzenden in de initiële 402 Status-respons. Pay verwerkt het abonnement
automatisch, inclusief instructie-aanroep op het Solana SPL Subscriptions
Program.
Gebruikers kunnen hun abonnementen beheren met de volgende opdrachten:
pay subscriptions # default: list + show available subcommandspay subscriptions list # same, scriptablepay subscriptions list --network mainnetpay subscriptions list --json
Je kunt meer leren over het beheren van je abonnementen als gebruiker in de Pay.sh > Pay gebruiken > Abonnementen beheren documentatie.
Abonnementen beheren als aanbieder (demo)
Pay-servers maken het mogelijk om abonnees en hun abonnementen per eindpunt te configureren. Het volgende is een eindpuntvoorbeeld dat pay gebruikt en dat je met je project kunt uitproberen:
# 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 verwerkt abonnementen via het subscription:-attribuut in zijn endpoints
YAML-specificatie. Dit staat tegenover het metering:-attribuut voor eindpunten
met betaling per gebruik.
Het starten van de server in het bovenstaande voorbeeld maakt een eindpunt aan
genaamd api/v1/pro/feed, dat vereist dat een gebruiker elke 30 dagen
terugkerende betalingen van 9,99 USDC doet.
Je kunt het uitproberen door het volgende commando uit te voeren:
pay server start monthly.yml
Het uitvoeren van dit commando vraagt je om een plan aan te maken. Dit maakt een plan aan en werkt het yml-bestand bij. Als je het opnieuw wilt gebruiken, onthoud dan het planadres en gebruik dat in je configuratie terwijl je wijzigingen aanbrengt.
Je kunt testen of de abonnementen werken door de volgende opdrachten uit te voeren als client in een andere terminal:
# 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
Je zou een OK-status als antwoord moeten zien, zoals dit:
{ "status": "ok" }
Je kunt meer leren over het beheren van abonnementen op een Pay-server via de Pay.sh > Building with Pay > Subscriptions > YAML Specification docs.
Is this page helpful?