PagamentiAbbonamenti

Con Pay.sh

Puoi configurare gli abbonamenti tramite Pay.sh impostando un client Pay sul tuo dispositivo o configurando un server Pay. Installa Pay con:

brew install pay

oppure

npm install -g @solana/pay

Verifica l'installazione con:

pay --version

La toolchain configurerà automaticamente il tuo indirizzo. Esegui il seguente comando per configurare e ricaricare il tuo wallet:

pay setup

Abbonamenti come client

Gli utenti si abbonano agli endpoint API con accesso a pagamento richiamando pay come di consueto. Spetta all'API inviare i dettagli dell'abbonamento nella risposta iniziale 402 Status. Pay gestisce l'abbonamento automaticamente, inclusa l'invocazione delle istruzioni sul Programma Solana SPL Subscriptions.

Gli utenti possono gestire i propri abbonamenti utilizzando i seguenti comandi:

pay subscriptions # default: list + show available subcommands
pay subscriptions list # same, scriptable
pay subscriptions list --network mainnet
pay subscriptions list --json

Per saperne di più sulla gestione degli abbonamenti come utente, consulta la documentazione Pay.sh > Utilizzo di Pay > Gestisci abbonamenti.

Gestione degli abbonamenti come provider (demo)

I server Pay consentono di configurare gli iscritti e i relativi abbonamenti per ciascun endpoint. Di seguito è riportato un esempio di endpoint che utilizza Pay e che puoi provare nel tuo progetto:

# 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 gestisce gli abbonamenti utilizzando l'attributo subscription: nella sua specifica YAML endpoints. Questo si contrappone all'attributo metering: per gli endpoint a pagamento per utilizzo.

L'avvio del server nell'esempio precedente crea un endpoint chiamato api/v1/pro/feed che richiede all'utente di effettuare pagamenti ricorrenti di 9,99 USDC ogni 30 giorni.

Puoi provarlo eseguendo il seguente comando:

pay server start monthly.yml

L'esecuzione di questo comando ti chiederà di creare un piano. Questo crea un piano e aggiorna il file yml. Se intendi utilizzarlo di nuovo, ricorda l'indirizzo del piano e usalo nella tua configurazione mentre apporti le modifiche.

Puoi verificare che le sottoscrizioni funzionino eseguendo i seguenti comandi come client su un altro terminale:

# 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

Dovresti vedere uno stato OK come risposta, come in questo esempio:

{ "status": "ok" }

Puoi saperne di più sulla gestione delle sottoscrizioni su un server Pay tramite la documentazione Pay.sh > Sviluppo con Pay > Sottoscrizioni > Specifiche YAML.

Is this page helpful?

Indice dei contenuti

Modifica pagina
© 2026 Solana Foundation. Tutti i diritti riservati.