---
title: "Stripe ödeme uyarıları: para risk altındayken telefonun çalsın"
description: "Stripe webhook'larını her olaya uygun aciliyetle telefonunuza yönlendirin — başarılı tahsilat için sessiz bir bildirim, süreli bir itiraz için arama."
date: 2026-09-09
author: Nooc
authorAvatarLink: /images/avatars/nooc.webp
authorLink: https://nooc.me
tags:
  - Stripe
  - ödeme uyarıları
  - webhook bildirimleri
  - indie hacker
  - gelir takibi
---

# Stripe ödeme uyarıları: para risk altındayken telefonun çalsın

Stripe size her şey hakkında e-posta gönderir, dolayısıyla hiçbir şey hakkında bildirim vermemiş olur. Başarılı bir tahsilat, başarısız bir abonelik yenilemesi ve bir ters ibraz aynı gelen kutusuna aynı türde mesaj olarak düşer; siz onları okuduğunuzda aralarındaki fark çoktan kaybolmuştur.

Çözüm daha çok bildirim değil. Çözüm, her Stripe olayına gerçekten hak ettiği aciliyeti vermek: biri ödediğinde sessiz bir push, bir yenileme başarısız olduğunda zaman duyarlı bir uyarı, ve yanıt süresi olan bir itiraz geldiğinde bir telefon araması.

## Hangi Stripe olayları gerçekten sizi gerektirir

Her olay bir bildirimi hak etmez, hak edenler de aynı derecede acil değildir.

| Stripe olayı | Neden önemli | Aciliyet |
| --- | --- | --- |
| `payment_intent.succeeded` | Biri ödedi. Bilmek güzel, asla acil değil. | Normal |
| `invoice.payment_failed` | Bir yenileme başarısız oldu. Abonelik düşmeden önce yeniden deneme aralığı var. | Zaman duyarlı |
| `charge.dispute.created` | Ters ibraz. Stripe, kart ağının belirlediği bir yanıt süresi verir ve kaçırmak davayı otomatik kaybettirir. | Arama |
| `payment_intent.payment_failed` | Tek seferlik bir ödeme başarısız oldu. Toplamda faydalı, tek tek gürültülü. | Normal ya da hiç |

Aramayı hak eden tek şey itirazdır. Kalanı siz telefonu elinize alana kadar bekleyebilir; bir hafta geç fark edilen bir ters ibraz, zaten elinizde kalmayacak paradır.

## Adım 1 — Her aciliyet seviyesi için bir kanal

Echobell'de üç kanal oluşturun, çünkü aciliyet kanal bazında bir ayardır:

- **Stripe · Gelir** — başarılı ödemeler için normal bildirimler
- **Stripe · Ödeme başarısız** — zaman duyarlı
- **Stripe · İtiraz** — arama

Her kanalın ayarlarından webhook URL'sini kopyalayın. Stripe'ı üçüne birden yönlendireceksiniz.

Hazır oradayken her birinde **Yalnızca POST**'u açın. Stripe her zaman POST ile gönderir; bu da bağlantı önizlemelerinin veya adres çubuğu tamamlamasının kanalınızı kazara tetiklemesini engeller.

## Adım 2 — Stripe'ta uç noktaları ekleyin

Stripe panelinde **Developers → Webhooks → Add endpoint**'e gidin, kanal URL'sini yapıştırın ve yalnızca o kanalın işlemesi gereken olayları seçin.

Her şey için tek bir uç nokta yerine kanal başına bir uç nokta ekleyin. Stripe olayları uç nokta bazında seçtirir, böylece yönlendirme Stripe tarafında olur ve kanallarınız sade kalır.

Tek bir uç nokta tercih ediyorsanız onu bir kanala yönlendirin ve bir koşulla filtreleyin:

```
type == "charge.dispute.created"
```

Koşullar, şablonlarda kullanılan `{{ }}` sarmalayıcıları olmadan yazılır.

## Adım 3 — Payload'ı okunur hale getirin

Stripe şu biçimde bir JSON gövdesi gönderir:

```json
{
  "type": "charge.dispute.created",
  "data": {
    "object": {
      "amount": 4900,
      "currency": "usd",
      "reason": "fraudulent",
      "status": "warning_needs_response"
    }
  }
}
```

Dolayısıyla kanal şablonları `data.object` içine uzanır:

**Başlık**

```
İtiraz: {{data.object.reason}}
```

**Gövde**

```
{{data.object.amount}} {{data.object.currency}} itiraza konu
Durum: {{data.object.status}}
```

**Herkesi yakalayan bir tuzak:** Stripe tutarları para biriminin en küçük biriminde gelir. `4900`, 4.900 $ değil 49,00 $'dır. Echobell şablonları değeri olduğu gibi yerleştirir; ya göndermeden önce bölün, ya da para birimini arkasına yazıp sent olarak okuyun. Sayının ilk bakışta doğru olması gerekiyorsa bölmeyi Stripe ile Echobell arasında duran şeye koyun — bir Worker, bir otomasyon, kendi uç noktanız.

Gelir kanalı için aynı fikir, daha az kelimeyle:

**Başlık**

```
+{{data.object.amount}} {{data.object.currency}}
```

**Gövde**

```
{{data.object.description}}
```

## Adım 4 — Gerçek bir ödemeyi beklemeden test edin

Stripe CLI, uç noktanıza gerçek olay payload'ları gönderebilir:

```bash
stripe trigger payment_intent.succeeded
stripe trigger charge.dispute.created
```

Buna güvenmeye başlamadan önce bunu yapın. Ayrıca, var olduğunu varsaydığınız bir alan `null` geldiğinde şablonunuzun ne ürettiğini görmenin en hızlı yolu budur.

## Bu kurulumun vermediği şeyler

Bunu gelirinizin önüne koymadan önce bilinmesi gereken iki sınır var.

**Echobell, Stripe'ın imzasını doğrulamaz.** Stripe her webhook'u bir `Stripe-Signature` başlığıyla imzalar ve doğrulaması uç nokta gizli anahtarını gerektirir. Echobell'in webhook uç noktası bu kontrolü yapmaz; yani kanalı koruyan tek şey kanal URL'sidir. Onu bir sır gibi ele alın, **Yalnızca POST**'u açık bırakın ve genel bir depoya veya ekran görüntüsüne yapıştırmayın.

Bir koşulla zayıf bir mantık kontrolü ekleyebilirsiniz:

```
header["stripe-signature"] != ""
```

Bu, bir şeyin Stripe biçiminde bir istek gönderdiğini doğrular. Bunun Stripe olduğunu doğrulamaz. Sahte bir bildirim gerçek bir zarara yol açacaksa — bir anlık kafa karışıklığına değil — önüne kendi uç noktanızı koyun, imzayı orada doğrulayın ve Echobell'i oradan çağırın.

**Bu bir uyarı yolu, muhasebe defteri değil.** Stripe başarısız webhook teslimatlarını yeniden dener, ama bildirimler olan bitenin kaydı değildir. Mutabakatı bildirim geçmişinizle değil Stripe ile yapın.

## Sık sorulan sorular

### Stripe beni doğrudan arayabilir mi?

Hayır. Stripe e-posta ve webhook gönderir. Aramaya dönüşmesi için webhook'un arama yapabilen bir şeye yönlendirilmesi gerekir.

### Bir itiraz uyarısı beni gerçekten uyandırır mı?

Kanal Arama modundaysa evet — gelen arama olarak ulaşır ve Odak ile Rahatsız Etmeyin'i delerek çalar. Bkz. [kritik uyarılar için iOS Odak modunu delmek](/tr/blog/how-to-bypass-ios-focus-mode-for-critical-alerts).

### Kurucu ortağım aynı uyarıları alabilir mi?

Alabilir. Kanalı paylaşın; her abone kendi bildirim türünü seçer. Aynı olay için siz aramaları alırken bir başkası sessiz bir push alabilir.

### Peki test modu?

Stripe'ın test modu olayları, test modunda kayıtlı uç noktalara gider. Bu trafiği görmek istiyorsanız kanal URL'sini her ikisine de kaydedin; kuruluma güvenene kadar yalnızca test modunda tutabilirsiniz.

## Toparlarsak

Üç kanal, üç uç nokta, her birine bir şablon. Mesele Stripe'tan haberdar olmanız değil — zaten oluyordunuz. Mesele, bir ters ibrazın bir makbuzla birebir aynı görünmeyi bırakması.

[Echobell'i iPhone için indirin](https://apps.apple.com/app/apple-store/id6743597198?pt=128151925&ct=blog-stripe-payment-alerts-tr&mt=8) ya da [Google Play'den alın](https://play.google.com/store/apps/details?id=one.echobell.echobellandroid), sonra bir kez `stripe trigger charge.dispute.created` çalıştırıp telefonunuzu bilerek çaldırın.

---

## İlgili içerik

- [Webhook tetikleyici belgeleri](/tr/docs/webhook)
- [Şablon sistemi referansı](/tr/docs/template)
- [Kanal koşulları referansı](/tr/docs/conditions)
- [Kritik uyarılar için iOS Odak modunu delmek](/tr/blog/how-to-bypass-ios-focus-mode-for-critical-alerts)
- [Uyarı yorgunluğuna karşı geliştirici rehberi](/tr/blog/fix-alert-fatigue-developer-guide)
