Pay.sh ile ödeme kabul edin
Bir Pay sunucusu kurarak API isteklerinde Pay.sh aracılığıyla ödeme kabul edebilirsiniz. Pay'i şununla yükleyin:
brew install pay
veya
npm install -g @solana/pay
Kurulumu şununla doğrulayın:
pay --version
Araç zinciri adresinizi sizin için ayarlayacaktır. Cüzdanınızı kurmak ve yüklemek için aşağıdakini çalıştırın:
pay setup
Demo sunucusunu kurma
Sunucunuzu başlatarak ödeme kabul etmeye başlayabilirsiniz. Demo sunucusunu şununla çalışırken görebilirsiniz:
pay server demo
Bu iki şey yapar. HTTP isteği aracılığıyla sorgulayabileceğiniz canlı bir Pay
sunucusu başlatır ve mevcut dizininizde bir pay-demo.yml dosyası oluşturur.
Tüm API rotaları endpoints YAML yapılandırması aracılığıyla yapılandırılır.
Ödeme kabul edebilmek için bir metering: özniteliği eklemeniz gerekir.
/api/v1/reports/usage rotası sizin için örnek olarak hazırlanmıştır:
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
Ödemelerin çalışıp çalışmadığını başka bir terminalde istemci olarak aşağıdaki komutu çalıştırarak test edebilirsiniz:
pay --sandbox curl http://127.0.0.1:1402/api/v1/reports/usage
Fiyatlandırmanın nasıl tanımlanacağı hakkında daha fazla bilgi edinmek için Pay.sh Building with Pay > Pricing docs sayfasını ziyaret edin.
Pay.sh'yi üretim ortamında kurma hakkında daha fazla bilgi edinmek için Pay.sh Configuration docs sayfasını ziyaret edin.
Pay.sh ile abonelikler oluşturun
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?