Ви можете налаштувати підписки через Pay.sh, встановивши клієнт Pay на своєму пристрої або налаштувавши сервер Pay. Встановіть Pay за допомогою:
brew install pay
або
npm install -g @solana/pay
Перевірте встановлення за допомогою:
pay --version
Інструментальний ланцюг автоматично налаштує вашу адресу. Виконайте наведені нижче команди для налаштування та поповнення гаманця:
pay setup
Підписки як клієнт
Користувачі підписуються на API-ендпоінти з обмеженим доступом за підпискою,
викликаючи pay як зазвичай. API повинен надіслати деталі підписки у початковій
відповіді 402 Status. Pay обробляє підписку автоматично, включаючи виклик
інструкцій у програмі Solana SPL Subscriptions.
Користувачі можуть керувати своїми підписками за допомогою таких команд:
pay subscriptions # default: list + show available subcommandspay subscriptions list # same, scriptablepay subscriptions list --network mainnetpay subscriptions list --json
Ви можете дізнатися більше про керування підписками як користувач у документації Pay.sh > Використання Pay > Керування підписками.
Керування підписками як провайдер (демо)
Сервери Pay дозволяють налаштовувати підписників та їхні підписки для кожного ендпоінту. Нижче наведено приклад ендпоінту з використанням pay, який ви можете випробувати у своєму проєкті:
# 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 керує підписками за допомогою атрибута subscription: у своїй
YAML-специфікації endpoints. Це відрізняється від атрибута metering: для
ендпоінтів з оплатою за використання.
Запуск сервера у наведеному вище прикладі створює ендпоінт під назвою
api/v1/pro/feed, який вимагає від користувача здійснювати регулярні платежі в
розмірі 9,99 USDC кожні 30 днів.
Ви можете випробувати це, виконавши таку команду:
pay server start monthly.yml
Виконання цієї команди запропонує вам створити план. Це створить план та оновить yml-файл. Якщо ви плануєте використовувати його знову, запам'ятайте адресу плану та вкажіть її у своїй конфігурації під час внесення змін.
Ви можете перевірити роботу підписок, виконавши такі команди як клієнт в іншому терміналі:
# 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
У відповідь ви маєте отримати статус OK, наприклад:
{ "status": "ok" }
Дізнатися більше про керування підписками на сервері Pay можна в документації Pay.sh > Building with Pay > Subscriptions > YAML Specification docs.
Is this page helpful?