PagosSuscripciones

Con Pay.sh

Puedes configurar suscripciones a través de Pay.sh instalando un cliente Pay en tu dispositivo o configurando un servidor Pay. Instala Pay con:

brew install pay

o

npm install -g @solana/pay

Verifica la instalación con:

pay --version

La cadena de herramientas configurará tu dirección automáticamente. Ejecuta lo siguiente para configurar y recargar tu billetera:

pay setup

Suscripciones como cliente

Los usuarios se suscriben a endpoints de API protegidos por suscripción invocando pay de forma normal. Corresponde a la API enviar los detalles de la suscripción en la respuesta inicial 402 Status. Pay gestiona la suscripción automáticamente, incluida la invocación de instrucciones en el Programa de Suscripciones SPL de Solana.

Los usuarios pueden gestionar sus suscripciones con los siguientes comandos:

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

Puedes obtener más información sobre cómo gestionar tus suscripciones como usuario en la documentación de Pay.sh > Usando Pay > Gestionar Suscripciones.

Gestión de suscripciones como proveedor (demo)

Los servidores Pay permiten configurar suscriptores y sus suscripciones para cada endpoint. A continuación se muestra un ejemplo de endpoint que usa pay y que puedes probar con tu proyecto:

# 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 gestiona las suscripciones usando el atributo subscription: en su especificación YAML endpoints. Esto se opone al atributo metering: para endpoints de pago por uso.

Al iniciar el servidor en el ejemplo anterior se crea un endpoint llamado api/v1/pro/feed que requiere que el usuario realice pagos recurrentes de 9.99 USDC cada 30 días.

Puedes probarlo ejecutando el siguiente comando:

pay server start monthly.yml

Ejecutar este comando te solicitará crear un plan. Esto crea un plan y actualiza el archivo yml. Si vas a utilizarlo de nuevo, recuerda la dirección del plan y úsala en tu configuración mientras realizas cambios.

Puedes comprobar que las suscripciones funcionan ejecutando los siguientes comandos como cliente en otro 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

Deberías ver un estado OK como respuesta, así:

{ "status": "ok" }

Puedes obtener más información sobre la gestión de suscripciones en un servidor Pay a través de la documentación de Pay.sh > Construir con Pay > Suscripciones > Especificación YAML.

Is this page helpful?

Tabla de Contenidos

Editar Página