Stripe gelirini bağlayın
Bağlandıktan sonra her ödeme, o ödemeyi yapan ziyaretçiyle eşleştirilir — sadece ziyaretleri değil, kanal başına geliri görürsünüz.
1. Webhook URL'nizi bulun
EarnedFrom'da sitenizin sayfasını açın ve "Gelir Bağlantısı" bölümüne kaydırın — şuna benzer bir webhook URL'si göreceksiniz:
https://earnedfrom.com/api/webhooks/stripe/SITE_ID'NİZ2. Stripe'ta bir olay hedefi (event destination) oluşturun
Stripe eski Developers panelini Workbench ile değiştirdi; webhook'lar yer değiştirdi ve düğmenin adı artık "Add endpoint" değil. Webhooks sekmesini açın ve:
- Create an event destination düğmesine basın
- Your account seçeneğini işaretleyin, API sürümünü olduğu gibi bırakın
checkout.session.completedolayını seçin- Continue → hedef türü olarak Webhook endpoint seçin
- Continue → URL'nizi Endpoint URL alanına yapıştırın
Sıraya dikkat: olayları URL'den önce seçiyorsunuz. İlk ekranda URL yapıştıracak bir alan arıyorsanız doğru sayfadasınız, sadece bir adım erkendesiniz.
3. İmzalama anahtarını geri yapıştırın
Endpoint sayfasında Stripe whsec_ ile başlayan bir imzalama anahtarı gösterir — Reveal secret ile açabilirsiniz. Kopyalayıp EarnedFrom site sayfanızdaki "Gelir Bağlantısı" kutusuna yapıştırın, sonra Kaydet'e tıklayın.
Test modu ile canlı modun anahtarları aynı endpoint için bile farklıdır. En sık yapılan kurulum hatası bu: anahtar test modunda kopyalanıyor, ödemeler ise canlı modda geçiyor; sonuçta her olay imza doğrulamasında düşüyor. Gerçek ödemeleri ölçmek için canlı moddaki anahtarı kopyalayın.
4. Checkout oluştururken ziyaretçi kimliğini gönderin
Stripe Payment Link veya Buy Button mı kullanıyorsunuz? Bu adımı atlayın — otomatik. EarnedFrom kodu sayfalarınızdaki buy.stripe.com bağlantılarını bulur ve tıklandığında ziyaretçi kimliğini kendisi ekler. Sizin tarafınızda değiştirilecek hiçbir şey yok. (client_reference_id'ye kendi değerinizi koyduysanız EarnedFrom ona dokunmaz.)
Checkout’u kod ile kendiniz oluşturuyorsanız, ödemeyi kanala bağlayan adım budur. EarnedFrom ziyaretçi kimliğini tarayıcıda askiraz_vid anahtarıyla saklar; onu okuyup Checkout Session ile birlikte gönderin:
const visitorId = localStorage.getItem("askiraz_vid") || "";
// sunucu tarafında, oturumu oluştururken:
stripe.checkout.sessions.create({
// ...her zamanki seçenekleriniz
metadata: { visitorId },
});client_reference_id'yi kendi sipariş numaranız için mi kullanıyorsunuz? O zaman yukarıdaki gibi metadata.visitorId kullanın — EarnedFrom önce ona bakar.client_reference_id boştaysa ziyaretçi kimliğini oraya da koyabilirsiniz; ikisi de çalışır.
Bu adımı atlarsanız ödemeler yine kaydedilir — sadece Unmatched Revenue olarak görünür, kanal bilgisi olmaz.
Atıf nasıl çalışır
EarnedFrom her ziyaretçiyi getiren ilk kanalı (Google Ads, Meta Ads, SEO, yönlendirme vb.) hatırlar ve o ziyaretçinin tüm yolculuğu boyunca — nihai ödemesi dahil — bunu kullanmaya devam eder. Yani ilk ziyaretten günler sonra gerçekleşen bir ödeme bile "Direct" değil, doğru şekilde orijinal kanala yazılır.
Çalışmıyorsa
EarnedFrom'daki site sayfanız bunlardan hangisi olduğunu size söyler — tahmin etmeniz gerekmez:
- Stripe'tan henüz hiç olay gelmedi. İlk ödeme gerçekleşene kadar Stripe hiçbir şey göndermez. Hemen kontrol etmek için endpoint sayfasından bir test olayı gönderin.
- İmza doğrulanmıyor. Yapıştırdığınız anahtar bu endpoint'e ait değil — genellikle test modundaki anahtar canlı modda kullanılmıştır. Endpoint sayfasından yeniden kopyalayın.
- Olay geliyor ama türü yanlış. Endpoint var, ancak olay listesinde
checkout.session.completedyok. O tek satırı ekleyin; endpoint'i yeniden kurmanıza gerek yok. - Ödemeler geliyor ama "Eşleşmeyen Gelir" görünüyor. 4. adım eksik — ödemeler ziyaretçi kimliği taşımıyor, dolayısıyla bağlanacakları bir kanal yok.
Stripe kullanmıyor musunuz?
İşletmeniz Razorpay, PayTabs, iyzico veya başka bir ödeme sistemi kullanıyorsa, Genel Gelir API'si rehberine bakın — aynı sonuç, herhangi bir sağlayıcı ile.