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 subcommandspay subscriptions list # same, scriptablepay subscriptions list --network mainnetpay 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.ymlname: Subscriptions Examplesubdomain: subscriptions-exampletitle: "Subscription Example"description: "Demo Subscriptions"category: ai_mlversion: v1routing:type: respondoperator:currencies:usd: ["USDC", "USDT", "CASH"]network: "localnet"fee_payer: truechallenge_binding_secret: d858d9104afd728f58a1f73d806dd75d8f32ebd37c9707145816b490e8631d41# insert your own challenge_binding_secret here. use `openssl rand -hex 32`endpoints:- method: GETpath: "api/v1/pro/feed"resource: "pro-feed"description: "Pro feed — monthly subscription, 30-day billing period."subscription:period: "30d"price_usd: 9.99currency: USDCplan_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?