ZahlungenAbonnements

Mit Pay.sh

Sie können Abonnements über Pay.sh einrichten, indem Sie einen Pay-Client auf Ihrem Gerät oder einen Pay-Server einrichten. Installieren Sie Pay mit:

brew install pay

oder

npm install -g @solana/pay

Überprüfen Sie die Installation mit:

pay --version

Die Toolchain richtet Ihre Adresse automatisch ein. Führen Sie Folgendes aus, um Ihre Wallet einzurichten und aufzuladen:

pay setup

Abonnements als Client

Benutzer abonnieren abonnementgeschützte API-Endpunkte, indem sie Pay wie gewohnt aufrufen. Es obliegt der API, die Abonnementdetails in der anfänglichen 402 Status Antwort zu senden. Pay verwaltet das Abonnement automatisch, einschließlich der Anweisungen ausführung im Solana SPL Subscriptions Program.

Benutzer können ihre Abonnements mit den folgenden Befehlen verwalten:

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

Weitere Informationen zur Verwaltung Ihrer Abonnements als Benutzer finden Sie in der Pay.sh > Pay verwenden > Abonnements verwalten Dokumentation.

Abonnements als Anbieter verwalten (Demo)

Pay-Server ermöglichen die Konfiguration von Abonnenten und deren Abonnements für jeden Endpunkt. Das Folgende ist ein Beispielendpunkt, der Pay verwendet und den Sie mit Ihrem Projekt ausprobieren können:

# 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 verwaltet Abonnements mithilfe des Attributs subscription: in seiner endpoints YAML-Spezifikation. Dies steht im Gegensatz zum Attribut metering: für Pay-per-Use-Endpunkte.

Durch das Starten des Servers im obigen Beispiel wird ein Endpunkt namens api/v1/pro/feed erstellt, der vom Benutzer verlangt, alle 30 Tage wiederkehrende Zahlungen von 9,99 USDC zu leisten.

Sie können es ausprobieren, indem Sie den folgenden Befehl ausführen:

pay server start monthly.yml

Wenn Sie diesen Befehl ausführen, werden Sie aufgefordert, einen Plan zu erstellen. Dadurch wird ein Plan erstellt und die YML-Datei aktualisiert. Wenn Sie ihn erneut verwenden möchten, merken Sie sich die Planadresse und verwenden Sie diese in Ihrer Konfiguration, während Sie Änderungen vornehmen.

Sie können testen, ob die Abonnements funktionieren, indem Sie die folgenden Befehle als Client in einem anderen Terminal ausführen:

# 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

Als Antwort sollten Sie einen OK-Status wie diesen sehen:

{ "status": "ok" }

Weitere Informationen zur Verwaltung von Abonnements auf einem Pay-Server finden Sie in der Pay.sh > Building with Pay > Subscriptions > YAML Specification docs.

Is this page helpful?

Inhaltsverzeichnis

Seite bearbeiten
© 2026 Solana Foundation. Alle Rechte vorbehalten.