Akceptuj płatności za pomocą Pay.sh
Możesz akceptować płatności w żądaniach API za pośrednictwem Pay.sh, konfigurując serwer Pay. Zainstaluj Pay za pomocą:
brew install pay
lub
npm install -g @solana/pay
Zweryfikuj instalację za pomocą:
pay --version
Łańcuch narzędzi skonfiguruje Twój adres automatycznie. Uruchom poniższe polecenie, aby skonfigurować i doładować swój portfel:
pay setup
Konfiguracja serwera demonstracyjnego
Możesz rozpocząć akceptowanie płatności, uruchamiając swój serwer. Możesz zobaczyć serwer demonstracyjny w działaniu za pomocą:
pay server demo
Wykonuje to dwie rzeczy. Uruchamia działający serwer Pay, który możesz odpytywać
za pomocą żądań HTTP, oraz generuje plik pay-demo.yml w bieżącym katalogu.
Wszystkie trasy API są konfigurowane za pośrednictwem konfiguracji YAML
endpoints. Aby akceptować płatności, musisz dodać atrybut metering:. Trasa
/api/v1/reports/usage została przygotowana jako przykład:
endpoints:- method: GETpath: "api/v1/reports/usage"resource: "reports"description: "Usage report — flat fee, no splits."metering:dimensions:- direction: usageunit: requestsscale: 1tiers:- price_usd: 0.01
Możesz przetestować działanie płatności, uruchamiając następujące polecenie jako klient w innym terminalu:
pay --sandbox curl http://127.0.0.1:1402/api/v1/reports/usage
Dowiedz się więcej o definiowaniu cen w dokumentacji Pay.sh Building with Pay > Pricing
Dowiedz się więcej o konfiguracji Pay.sh w środowisku produkcyjnym w dokumentacji konfiguracji Pay.sh.
Twórz subskrypcje za pomocą 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 subcommandspay subscriptions list # same, scriptablepay subscriptions list --network mainnetpay 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.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 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?