Pay.sh aracılığıyla abonelikler kurabilirsiniz; bunun için cihazınıza bir Pay istemcisi veya bir Pay sunucusu kurmanız yeterlidir. Pay'i şu komutla yükleyin:
brew install pay
veya
npm install -g @solana/pay
Kurulumu şu komutla doğrulayın:
pay --version
Araç zinciri adresinizi sizin için ayarlayacaktır. Cüzdanınızı kurmak ve bakiye yüklemek için aşağıdaki komutu çalıştırın:
pay setup
İstemci olarak abonelikler
Kullanıcılar, aboneliğe dayalı API uç noktalarına normal şekilde pay çağırarak
abone olur. Abonelik ayrıntılarını ilk 402 Status yanıtında göndermek API'nin
sorumluluğundadır. Pay, aboneliği Solana SPL Abonelikler Programı üzerindeki
talimat çağrıları dahil olmak üzere otomatik olarak yönetir.
Kullanıcılar aboneliklerini aşağıdaki komutlarla yönetebilir:
pay subscriptions # default: list + show available subcommandspay subscriptions list # same, scriptablepay subscriptions list --network mainnetpay subscriptions list --json
Aboneliklerinizi kullanıcı olarak yönetme hakkında daha fazla bilgiye şu bağlantıdan ulaşabilirsiniz: Pay.sh > Pay'i Kullanma > Abonelikleri Yönetme belgeleri.
Sağlayıcı olarak abonelikleri yönetme (demo)
Pay sunucuları, her uç nokta için abone ve abonelik yapılandırmasına olanak tanır. Aşağıda, projenizde deneyebileceğiniz ve pay kullanan bir uç nokta örneği verilmiştir:
# 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, abonelikleri kendi endpoints YAML özelliğindeki subscription: niteliği
aracılığıyla yönetir. Bu, kullandığın kadar öde uç noktaları için kullanılan
metering: niteliğinden farklıdır.
Yukarıdaki örnekte sunucuyu başlatmak, api/v1/pro/feed adlı ve her 30 günde
bir kullanıcıdan 9,99 USDC yinelenen ödeme talep eden bir uç nokta oluşturur.
Aşağıdaki komutu çalıştırarak deneyebilirsiniz:
pay server start monthly.yml
Bu komutu çalıştırdığınızda bir plan oluşturmanız istenecektir. Bu işlem bir plan oluşturur ve yml dosyasını günceller. Daha sonra tekrar kullanacaksanız plan adresini not edin ve değişiklik yaparken yapılandırmanızda bu adresi kullanın.
Aboneliklerin çalışıp çalışmadığını, başka bir terminalde istemci olarak aşağıdaki komutları çalıştırarak test edebilirsiniz:
# 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
Yanıt olarak aşağıdaki gibi bir OK durumu görmelisiniz:
{ "status": "ok" }
Pay sunucusunda abonelikleri yönetme hakkında daha fazla bilgi edinmek için Pay.sh > Pay ile Geliştirme > Abonelikler > YAML Spesifikasyonu belgelerine başvurabilirsiniz.
Is this page helpful?