İçeriğe atla
supastack
Dokümanlara göz atın

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /tr/docs/web/stripe-payments.md (or send Accept: text/markdown).

Stripe ödemeleri ekleyin

Ücretsiz bir Stripe hesabı, yinelenen fiyatlı bir ürün, gizli anahtar ve ödemeden sonra yetki veren imzalı webhook oluşturun.

Başlangıç seviyesinde izlenecek yol

Ön koşullar: uygulama yerelde çalışıyor (5 dakikada yayınlayın) ve gerçek hesaplar için geçiş yapılmış bir veritabanı (Veritabanını kurun). Stripe hesabı için bir e-posta adresi gerekir — kart yok, ödeme yok. Bu rehberdeki her şey test modunda olur: sahte para, test kartı numaraları, canlıya çıkmadan önce sınırsız yeniden deneme.

Kısa terimler: test modu Stripe'ın sandbox'udur — gösterge panelindeki Test mode düğmesi siz kapatana kadar her anahtarı, ürünü ve ödemeyi sahte tutar. Gizli anahtar (sk_test_…) sunucunuzun Stripe'a olan parolasıdır. Fiyatlı ürün, müşterilerin satın aldığı şeydir; price id (price_…) onu kodda adlandırır. Webhook, bir ödeme başarılı olduğunda veya abonelik değiştiğinde Stripe'ın sunucunuzu çağırmasıdır; imza gizli anahtarı (whsec_…) çağrının gerçekten Stripe'dan geldiğini kanıtlar.

Oluşturacağınız şey: bir Stripe hesabı, yinelenen fiyatlı bir ürün, gizli bir API anahtarı ve bir webhook uç noktası — yaklaşık yirmi dakika. Stripe ödeme sayfasını kendisi barındırır; kit oturumu sunucu tarafında oluşturur ve yönlendirir, bu yüzden yayınlanabilir tarayıcı anahtarı gerekmez.

Kapsamı aklınızda tutun: bu rehber yalnızca web abonelikleri satar. iOS/Android uygulama içi satın alımlar Apple ve Google faturalandırmasından geçmelidir — asla Stripe Checkout'tan değil — mobilin RevenueCat kullanmasının sebebi budur.

Stripe hesabı oluşturun

1. stripe.com → Start now'u açın ve e-postanızla kaydolun.

2. Katılım işlemi işletmeniz hakkında sorular sorar — test modunda her soruyu atlayabilir ve yine de tam sandbox'u kullanabilirsiniz; etkinleştirmeyi yalnızca gerçek ödemeleri kabul etmeden önce tamamlayın.

Beklenen: başlıkta Test mode düğmesi görünür olan gösterge paneline ulaşırsınız. Aşağıdaki her şey için açık tutun — canlı anahtarlar daha sonra üretim gizli deponuza girer, dizüstü bilgisayar env dosyasına asla.

API anahtarlarını kopyalayın

1. Gösterge panelinde Developers → API keys'i açın.

2. İki test anahtarı görürsünüz: Publishable key pk_test_… ve maskelenmiş Secret key. Gizli anahtarın yanındaki Reveal test key'e tıklayın ve sk_test_… değerini kopyalayın.

Kit'in yalnızca gizli anahtara ihtiyacı vardır: ödeme oturumları sunucuda oluşturulur ve kullanıcı Stripe'ın barındırdığı sayfaya yönlendirilir, bu yüzden yayınlanabilir anahtar env değişkenlerine girmez. Daha sonra oluşturacağınız bir ürün Stripe.js eklerse yayınlanabilir anahtarı istemci tarafında kullanırdınız; kit'in faturalandırma akışı kullanmaz.

sk_test_… anahtarı sandbox hesabı için tam kimlik bilgisidir: apps/web/.env.local veya bir gizli depoda yaşar, asla NEXT_PUBLIC_/EXPO_PUBLIC_ değişkenlerinde veya Git'te olmaz.

Ürün ve fiyat oluşturun

1. Product catalog → Add product'ı açın.

2. Planınızın adını verin — Pro, kit'in gönderdiği planla eşleşir — bir fiyat verin ve Recurring'i seçin (ör. aylık): kit'in ödemesi abonelik modu oturumları oluşturur ve bunlar tek seferlik değil yinelenen fiyat ister.

3. Kaydedin, ürünü açın ve price id'yi kopyalayın — price_… ile başlar (prod_… değil, o ürün kimliğidir).

Gönderilen pro planı zaten Monthly/Yearly düğmesi gösterir: aylık STRIPE_PRICE_ID ile ödeme yapar ve yıllık seçenek STRIPE_PRICE_ID_PRO_YEARLY içinde ikinci bir yinelenen fiyat ister — olmadan yıllık ödeme price-unconfigured ile başarısız olur. Plan adlarını, tutarları ve satın alımın ne verdiğini apps/web/src/product-plans.ts dosyasında değiştirin — Stripe para tarafını, plan dosyası yetki tarafını tutar.

Webhook uç noktası ekleyin

Webhook, erişimi gerçekten veren şeydir: kit, yetkiyi ancak imzalı bir Stripe olayı geldikten sonra çevirir, bu yüzden yalnızca ödeme yönlendirmesi hiçbir şey kanıtlamaz.

1. Developers → Webhooks → Add endpoint'i açın.

2. Endpoint URL: genel URL'niz artı /api/billing/webhook — ör. https://yourdomain.com/api/billing/webhook. Diğer faturalandırma sağlayıcıları bu dizin altında kendi yollarını alır; Stripe'ın dinleyicisi kökte yaşar.

3. Select events altında kit'in işlediği olayları seçin: checkout.session.completed, checkout.session.async_payment_succeeded, checkout.session.async_payment_failed, invoice.paid, invoice.payment_failed, customer.subscription.created, customer.subscription.updated ve customer.subscription.deleted.

4. Uç noktasını oluşturun, sayfasını açın, Signing secret altındaki Reveal'e tıklayın ve whsec_… değerini kopyalayın — her uç noktanın kendi gizli anahtarı vardır.

Yerel geliştirme Stripe'ın sunucularını alamaz, bu yüzden bunun yerine Stripe CLI kullanın: bir kez stripe login, ardından ikinci bir terminalde stripe listen --forward-to localhost:3000/api/billing/webhook. Geçici bir whsec_… yazdırır — stripe listen çalışırken .env.local içine gösterge paneli değeri değil bu değer girer.

Değerleri uygulamaya ekleyin

Aşağıdaki satırları apps/web/.env.local içine ayarlayın. BILLING_PROVIDER=stripe bağdaştırıcıyı seçer; diğer üçü anahtar, fiyat ve imza gizli anahtarıdır. Herhangi biri eksikken sağlayıcıyı etkinleştirmek başlangıcı düşürür ve değişkeni adlandırır.

Üç STRIPE_* değerinin tamamı yalnızca sunucudadır — asla NEXT_PUBLIC_/EXPO_PUBLIC_ değil, asla commit değil; üretim bunları hostun gizli yöneticisi aracılığıyla alır (dağıtım rehberi Secret Manager'ı kapsar). Düzenledikten sonra geliştirme sunucusunu yeniden başlatın.

# apps/web/.env.local
BILLING_PROVIDER=stripe
STRIPE_SECRET_KEY=sk_test_…
STRIPE_PRICE_ID=price_…
STRIPE_WEBHOOK_SECRET=whsec_…   # `stripe listen` value locally; endpoint signing secret in production
# STRIPE_PRICE_ID_PRO_YEARLY=price_…   # required for the shipped Yearly toggle

Doğrulayın ve sorun giderin

stripe listen --forward-to localhost:3000/api/billing/webhook başlatın ve çalışır bırakın, geliştirme sunucusunu yeniden başlatın, ardından /billing açın, Pro planını seçin ve 4242 4242 4242 4242 test kartı, gelecekteki bir son kullanma tarihi ve herhangi bir CVC ile Stripe'ın barındırdığı ödemeyi tamamlayın.

Beklenen: uygulama /billing?checkout=success döner ve çalışma alanının yetkisi etkin olarak çevrilir — listen terminali teslim edilen olayları günlüğe kaydeder ve gösterge panelindeki Developers → Webhooks → uç noktanız yeşil teslimatlar gösterir.

Ödemeye tıklamadan dinleyiciyi denemek için stripe trigger checkout.session.completed, listen iletici üzerinden sentetik bir olay gönderir.

Yaygın hatalar: her teslimatta 400, imza gizli anahtarının o uç noktayla eşleşmediği anlamına gelir — doğru uç nokta için whsec_… yeniden kopyalayın ve env'i güncelleyin; sessiz hiçbir şey olmaması BILLING_PROVIDER hâlâ local demektir; test kurulumuna karışmış sk_live_ anahtarları yanlış modun anahtarlarını kopyaladığınız anlamına gelir — test ve canlıyı kesinlikle ayrı tutun.

Kit, Lemon Squeezy, Creem, Polar, Whop, Paddle, Dodo ve PayPal için de aynı tek sözleşmeli bağdaştırıcıyı gönderir — aynı akış, farklı konsol ve env adları — ve mobil satın alımlar Stripe'da değil RevenueCat'te kalır.

Sık sorulan sorular

14 soru

supastack nedir?

supastack, YZ destekli SaaS ürünleri oluşturmak için modüler bir temeldir. Ortak altyapıyı bir araya getirir, böylece ürüne özgü özelliklere odaklanabilirsiniz.

Web ve mobil destekliyor mu?

Evet. supastack, web ve mobil deneyimler için başlangıç noktası olarak Next.js ve Expo uygulamaları içerir.

Hangi kimlik doğrulama dahil?

Better Auth; e-posta/parola, OTP ve sosyal girişi kapsar. Kişisel çalışma alanları hesapla birlikte sağlanır, böylece ürün kayıtları ilk günden itibaren sınırlı kalır.

YZ'yi nasıl destekliyor?

supastack; yapılandırılabilir çok sağlayıcılı YZ, kullanım takibi, bütçeler ve şifreli kendi-anahtarını-getir desteği içerir.

Abonelikler nasıl ele alınıyor?

Kit üzerine kurulu ürünler için Stripe faturalama, abonelikler ve yetkilendirmeler ücretli erişim temelini oluşturur. Sağlayıcı gizli anahtarları yalnızca sunucuda kalır.

Ürüne özgü kodum nerede durur?

Ürüne özgü özellikler ayrı bir kod tabanında kalırken ürün, supastack'in temel modüllerini yapılandırır ve entegre eder.

supastack fiyatlandırması nasıl çalışır?

Kit, ömür boyu güncellemeli tek seferlik bir satın alımdır: 249 $'a Tek Platform (geçici tanıtım fiyatı — normal fiyat 349 $ üzerinden 100 $ indirim) — Next.js (Web), Expo (iOS ve Android) veya Tauri (macOS ve Windows Masaüstü) seçiminiz — ya da tüm platformları ve tam monorepo'yu içeren 499 $'lık Tüm Platformlar Paketi (geçici tanıtım fiyatı — normal fiyat 599 $ üzerinden 100 $ indirim); ek geliştirici koltuğu başına 75 $. Kit aboneliği yok. Bu sitedeki ödeme, lisans anahtarınızı e-postayla teslim eder ve depo erişimi GitHub davetiyle sağlanır.

Çalışma alanları verilerimi nasıl sınırlar?

Kullanıcıya ait kayıtlar workspaceId ile sınırlanır. Kimlik, yetkilendirmeler, YZ kullanımı, faturalama olayları ve denetim kayıtları kişisel çalışma alanı sınırının içinde kalır.

Arka plan işleri nasıl çalışır?

Trigger.dev açık iş çalışma zamanıdır. JobRunner sözleşmesi yalnızca enqueue, status ve cancel vaat eder — iş akışı semantiği Trigger.dev'e özgü ve açık kalır.

E-posta, tanıtım yazılarından nasıl farklı?

İşlemsel e-posta, tamamlanma bildirimleri gibi ürün iş akışlarını kapsar. Soğuk tanıtım ve kampanyalar, bu kitin e-posta modülünün dışında kalan ürün konularıdır.

Mobil satın almalar nasıl çalışır?

Mobil uygulama RevenueCat ile yerel satın alma ve geri yükleme sunar; erişimi sunucunuz doğrular. Yayınlamadan önce mağaza hesaplarını yapılandırın ve cihaz testlerini tamamlayın. Web faturalandırması ayrı kalır.

YZ sağlayıcı anahtarları nerede durur?

Kendi-anahtarını-getir kimlik bilgileri şifrelidir ve yalnızca sunucuda kalır. Anahtarlar günlüklerden gizlenir; kullanım ve bütçeler çalışma alanı düzeyinde görünür kalır.

Ödeme hangi ödeme yöntemlerini kabul ediyor?

Stripe tarafından barındırılan ödeme sayfası kartları kabul eder; cüzdanlar Stripe hesabında etkinleştirildiğinde Alipay ve WeChat Pay de sunabilir — Çin'deki alıcılar için kullanışlı. Cüzdan yetkilendirmeleri eşzamansız onaylanır; ödeme tamamlanır tamamlanmaz lisans sayfası güncellenir.

Geri ödeme alabilir miyim?

Depoya erişim kazandıktan sonra supastack sonsuza kadar sizin olur, bu nedenle geri ödeme yapılamaz. Ancak içiniz rahat olsun: kendiniz veya müşterileriniz için sınırsız sayıda ürün geliştirip yayınlamak üzere ömür boyu güncellemeler içeren eksiksiz kaynak koduna sahip olursunuz. Yalnızca kodu yeniden satamaz veya depoyu bir başlangıç kiti ya da şablon olarak yeniden dağıtamazsınız.

TR
Tema