PagamentosAssinaturas

Com Pay.sh

Pode configurar subscrições através do Pay.sh instalando um cliente Pay no seu dispositivo ou configurando um servidor Pay. Instale o Pay com:

brew install pay

ou

npm install -g @solana/pay

Verifique a instalação com:

pay --version

A cadeia de ferramentas irá configurar o seu endereço automaticamente. Execute o seguinte para configurar e recarregar a sua carteira:

pay setup

Subscrições como cliente

Os utilizadores subscrevem endpoints de API protegidos por subscrição invocando o pay normalmente. Cabe à API enviar os detalhes da subscrição na resposta 402 Status inicial. O Pay gere a subscrição automaticamente, incluindo a invocação de instruções no Programa de Subscrições SPL da Solana.

Os utilizadores podem gerir as suas subscrições utilizando os seguintes comandos:

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

Pode saber mais sobre como gerir as suas subscrições como utilizador na documentação Pay.sh > Utilizar o Pay > Gerir Subscrições.

Gerir subscrições como fornecedor (demonstração)

Os servidores Pay permitem configurar subscritores e as suas subscrições para cada endpoint. O seguinte é um exemplo de endpoint que utiliza o pay e que pode experimentar no seu projeto:

# 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

O Pay gere as subscrições utilizando o atributo subscription: na sua especificação YAML endpoints. Isto é diferente do atributo metering: para endpoints de pagamento por utilização.

Ao iniciar o servidor no exemplo acima, é criado um endpoint chamado api/v1/pro/feed que exige que o utilizador efetue pagamentos recorrentes de 9,99 USDC a cada 30 dias.

Pode experimentá-lo executando o seguinte comando:

pay server start monthly.yml

A execução deste comando irá solicitar que crie um plano. Isto cria um plano e atualiza o ficheiro yml. Se pretender utilizá-lo novamente, memorize o endereço do plano e utilize-o na sua configuração enquanto efetua alterações.

Você pode testar se as assinaturas funcionam executando os seguintes comandos como cliente em outro 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

Você deverá ver um status OK como resposta, assim:

{ "status": "ok" }

Você pode saber mais sobre como gerenciar assinaturas em um servidor Pay através da documentação Pay.sh > Construindo com Pay > Assinaturas > Especificação YAML.

Is this page helpful?

Índice

Editar Página
© 2026 Fundação Solana. Todos os direitos reservados.