Pay.sh

Accetta pagamenti con Pay.sh

Puoi accettare pagamenti sulle richieste API tramite Pay.sh configurando un server Pay. Installa Pay con:

brew install pay

oppure

npm install -g @solana/pay

Verifica l'installazione con:

pay --version

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

pay setup

Configurazione del server demo

Puoi iniziare ad accettare pagamenti avviando il tuo server. Puoi vedere un server demo in azione con:

pay server demo

Questo esegue due operazioni. Avvia un server Pay attivo che puoi interrogare tramite richieste HTTP e genera un file pay-demo.yml nella tua directory corrente.

Tutte le route API sono configurate tramite il file di configurazione YAML endpoints. Per accettare pagamenti, devi aggiungere un attributo metering:. La route /api/v1/reports/usage è stata configurata come esempio per te:

endpoints:
- method: GET
path: "api/v1/reports/usage"
resource: "reports"
description: "Usage report — flat fee, no splits."
metering:
dimensions:
- direction: usage
unit: requests
scale: 1
tiers:
- price_usd: 0.01

Puoi verificare che i pagamenti funzionino eseguendo il seguente comando come client su un altro terminale:

pay --sandbox curl http://127.0.0.1:1402/api/v1/reports/usage

Puoi saperne di più su come definire i prezzi nella documentazione Pay.sh Building with Pay > Pricing

Scopri di più su come configurare Pay.sh in produzione nella documentazione di configurazione Pay.sh.

Crea abbonamenti 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.