PłatnościSubskrypcje

Z Pay.sh

Możesz skonfigurować subskrypcje za pomocą Pay.sh, instalując klienta Pay na swojm urządzeniu lub konfigurując serwer Pay. Zainstaluj Pay poleceniem:

brew install pay

lub

npm install -g @solana/pay

Zweryfikuj instalację poleceniem:

pay --version

Narzędzie automatycznie skonfiguruje Twój adres. Uruchom poniższe polecenie, aby skonfigurować i zasilić portfel:

pay setup

Subskrypcje jako klient

Użytkownicy subskrybują punkty końcowe API wymagające subskrypcji, wywołując pay w normalny sposób. API jest odpowiedzialne za przesłanie szczegółów subskrypcji w początkowej odpowiedzi 402 Status. Pay obsługuje subskrypcję automatycznie, w tym wywołania instrukcji w programie Solana SPL Subscriptions.

Użytkownicy mogą zarządzać swoimi subskrypcjami za pomocą następujących poleceń:

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

Więcej informacji na temat zarządzania subskrypcjami jako użytkownik znajdziesz w dokumentacji Pay.sh > Używanie Pay > Zarządzanie subskrypcjami.

Zarządzanie subskrypcjami jako dostawca (demo)

Serwery Pay umożliwiają konfigurację subskrybentów i ich subskrypcji dla każdego punktu końcowego. Poniżej znajduje się przykładowy punkt końcowy korzystający z pay, który możesz wypróbować we własnym projekcie:

# 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 obsługuje subskrypcje przy użyciu atrybutu subscription: w swojej specyfikacji YAML endpoints. Jest to podejście odmienne od atrybutu metering: stosowanego dla punktów końcowych z modelem płatności za użycie.

Uruchomienie serwera z powyższego przykładu tworzy punkt końcowy o nazwie api/v1/pro/feed, który wymaga od użytkownika dokonywania cyklicznych płatności w wysokości 9,99 USDC co 30 dni.

Możesz to wypróbować, uruchamiając następujące polecenie:

pay server start monthly.yml

Uruchomienie tego polecenia spowoduje wyświetlenie monitu o utworzenie planu. Spowoduje to utworzenie planu i aktualizację pliku yml. Jeśli zamierzasz używać go ponownie, zapamiętaj adres planu i użyj go w swojej konfiguracji podczas wprowadzania zmian.

Możesz przetestować działanie subskrypcji, uruchamiając następujące polecenia jako klient w innym terminalu:

# 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

W odpowiedzi powinien pojawić się status OK, jak poniżej:

{ "status": "ok" }

Więcej informacji na temat zarządzania subskrypcjami na serwerze Pay znajdziesz w Pay.sh > Building with Pay > Subscriptions > YAML Specification docs.

Is this page helpful?

Spis treści

Edytuj stronę
Z Pay.sh | Solana