BetalingenAbonnementen

Met Pay.sh

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 subcommands
pay subscriptions list # same, scriptable
pay subscriptions list --network mainnet
pay 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.yml
name: Subscriptions Example
subdomain: subscriptions-example
title: "Subscription Example"
description: "Demo Subscriptions"
category: ai_ml
version: v1
routing:
type: respond
operator:
currencies:
usd: ["USDC", "USDT", "CASH"]
network: "localnet"
fee_payer: true
challenge_binding_secret: d858d9104afd728f58a1f73d806dd75d8f32ebd37c9707145816b490e8631d41
# insert your own challenge_binding_secret here. use `openssl rand -hex 32`
endpoints:
- method: GET
path: "api/v1/pro/feed"
resource: "pro-feed"
description: "Pro feed — monthly subscription, 30-day billing period."
subscription:
period: "30d"
price_usd: 9.99
currency: USDC
plan_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?

Inhoudsopgave

Pagina Bewerken
© 2026 Solana Foundation. Alle rechten voorbehouden.