Stripe'ı Shopify Flow'a nasıl bağlayabilirim?
Workflow Webhooks ile Stripe’ı Shopify Flow’a bağlayın. HMAC ile doğrulanmış webhook’ları kurun ve ödeme, iade ve itiraz olaylarında iş akışlarını tetikleyin.
Stripe bir ödeme platformudur. Hesabınızdaki her ödeme, iade, itiraz, abonelik değişikliği ve fatura olayı için bir webhook gönderir. Workflow Webhooks, bu çağrıyı bir Shopify Flow tetikleyicisine dönüştürür; böylece mağazanız buna tepki verebilir: bir müşteriye etiket ekleyebilir, sipariş notu ekleyebilir, şirket içi e-posta gönderebilir, bir meta alanı güncelleyebilir - kısacası Shopify Flow’un yapabileceği her şeyi gerçekleştirebilir.
Bu kılavuz, tüm süreci ortaya koymaktadır - Stripe gönderir, Workflow Webhooks alır ve doğrular, Shopify Flow harekete geçer - her istekte Stripe’ın HMAC imzası kontrol edildiğinden, iş akışınızı yalnızca Stripe başlatabilir.
Neler yapabileceğiniz
- Stripe ödeme sayfası veya ödeme bağlantısı üzerinden ödeme yapan bir Shopify müşterisini etiketleyin; böylece segmentleriniz senkronize kalır.
- Bir sipariş notu ekleyin ve bir ihtilaf açıldığı anda ekibinizi bilgilendirin.
- Bir abonelik ödemesi başarısız olduğunda personele e-posta gönderin; böylece müşteri kaybedilmeden önce birileri onunla iletişime geçebilsin.
Gönderilmesi gereken tipik olaylar: payment_intent.succeeded, charge.refunded, charge.dispute.created, customer.subscription.deleted, invoice.payment_failed.
Başlamadan önce
- Shopify mağazanıza kurulan Workflow Webhooks.
- Shopify Flow, Shopify Uygulama Mağazasından ücretsiz olarak indirilip kuruldu.
- Webhook oluşturma iznine sahip bir Stripe hesabı.
1. Adım - Workflow Webhooks'ta webhook'u oluşturun
- Workflow Webhooks'u açın -> Webhooks -> Webhook oluştur seçeneğine tıklayın ve Shopify Flow'da kolayca tanıyabileceğiniz bir ad verin; örneğin
Stripe eventsgibi. - Kimlik Doğrulama bölümünden HMAC'yi seçin.
- İmza sağlayıcısı bölümünden Stripe’ı seçin. Uygulama, başlık, algoritma, imzalı veri yükü ve tekrar oynatma aralığını sizin için otomatik olarak doldurur; ayarlanacak başka bir şey yoktur.
- Şimdilik gizli alanı boş bırakın ve Kaydet'e tıklayın. Sayfada gösterilen webhook URL'sini kopyalayın.
Diğer kimlik doğrulama modları için Kimlik Doğrulama’a, hangi alanların Shopify Flow’a aktarılacağını seçmek için ise Yük haritalama ve Shopify Flow değişkenleri’a bakın.

2. Adım - Stripe'a uç noktayı ekleyin
Stripe Kontrol Panelinde, Geliştiriciler -> Webhook’lar bölümünü açın, kopyaladığınız URL ile bir uç nokta ekleyin ve göndermek istediğiniz olayları seçin.
Stripe imza gizli anahtarınızı nasıl bulabilirsiniz?
Stripe Kontrol Paneli -> Geliştiriciler -> Webhook'lar bölümünden alınan webhook imzalama gizli anahtarı (whsec_...).
Stripe'ın webhook imzalarıyla ilgili kendi belgeleri, hesabınızla ilgili tam metni ve ekran görüntülerini içermektedir.
Bu gizli anahtarı, Workflow Webhooks bölümündeki webhook’un “Secret” alanına yapıştırın ve kaydedin. O andan itibaren her Stripe teslimatı, Shopify Flow’a ulaşmadan önce doğrulanır.
Bu kontrolün amacı
| Ne | Değer |
|---|---|
| İmza başlığı | Stripe-Signature |
| İmzanın bulunduğu yer | Virgülle ayrılmış key=value çiftlerini içeren bu başlığın v1 değerinde |
| Neyin imzalandığı | {timestamp}.{body} |
| İmza | HMAC-SHA256, onaltılık kodlanmış |
| Zaman damgası | İmza başlığındaki t değeri, Unix saniyesi cinsinden |
| Tekrar oynatma koruması | İmzalı zaman damgası şu andan 5 dakikadan daha uzak olan istekler reddedilir |
| Sır | Düz metin olarak kullanılır. Gönderenin gösterdiği şekilde aynen yapıştırın. |
İmzalı yükte, {body}, bayt bayt ham istek gövdesi; {timestamp} ise yukarıdaki zaman damgasıdır.
Bu şartlardan herhangi birini karşılamayan bir istek, 401 hatasıyla reddedilir, Geçmiş ve sorun giderme bölümüne kaydedilir ve hiçbir zaman bir iş akışını başlatmaz.
3. Adım - Shopify Flow iş akışını oluşturun
- Shopify Flow'da bir iş akışı oluşturun ve Workflow Webhooks tetikleyicisini seçin.
- Olayları Kaydet seçeneğine basın, ardından Stripe’tan bir test olayı gönderin (veya Workflow Webhooks bölümündeki Test Gönder seçeneğini kullanın), böylece Shopify Flow verilerinizin yapısını öğrenebilir.
- Sahip olduğunuz her webhook aynı Shopify Flow tetikleyicisini çalıştırır; bu nedenle, bu iş akışını yalnızca Stripe ile sınırlı tutmak için **webhook **kimliğine ilişkin bir ilk koşul ekleyin. Kimlik, webhook sayfasında gösterilir.
- İşlemlerinizi ekleyin - bir müşteriyi etiketleyin, bir not ekleyin, şirket içi bir e-posta gönderin, bir meta alanı güncelleyin.



4. Adım - Uçtan uca test edin
Stripe'da gerçek bir olayı tetikleyin. Workflow Webhooks → History bölümünde, Success durumuna sahip bir çağrı görmelisiniz. İmza yanlışsa, bunun yerine nedeni belirtilen bir hata kaydı alırsınız; İmzalı webhook'ların doğrulanması, hangi adımın başarısız olduğunu tam olarak gösteren imza denetleyicisini açıklar.

İmza eşleşmiyor
Şu sırayla: gizli anahtar (en yaygın neden - fazladan bir boşluk ya da yanlış ortamdan gelen bir anahtar), gönderenin farklı bir uç noktanın gizli anahtarını kullanıp kullanmadığı ve Stripe ile uygulama arasında gövdeyi yeniden yazan herhangi bir unsur olup olmadığı. İmzalar ham baytları kapsadığından, JSON’u yeniden biçimlendiren bir proxy bunları bozar. Webhook sayfasındaki imza test aracı, imzalanmış olan metnin tam halini gösterir.
Her istekte 401 hatası alıyorum
Webhook’un kimlik doğrulama ayarının HMAC olarak ayarlandığını ve Stripe sağlayıcısının seçili olduğunu, gizli anahtarın girildiğini ve Stripe’ın, sondaki kod da dahil olmak üzere, uygulamanın gösterdiği URL’ye tam olarak bu şekilde istek gönderdiğini kontrol edin.
Geçmiş'te hiçbir şey görünmüyor
İstek hiç ulaşmadı. Stripe'daki URL'yi tekrar kontrol edin ve Stripe'ın kendi iletim günlüğüne bakarak aldığı yanıtı inceleyin. 404 kodu, webhook'un yanlış veya silinmiş olduğunu; 429 kodu ise planınızın çağrı sınırını aştığınızı gösterir - bkz. Planlar ve kullanım.
İş akışı yanlış olaylar için çalışıyor
Mağazanızdaki her webhook, aynı Shopify Flow tetikleyicisini çalıştırır. İş akışının ilk adımı olarak **webhook **kimliğine bir koşul ekleyin ya da Stripe’tan gönderdiğiniz olayları daraltın.
İstekler, "zaman damgası tolerans aralığı dışında" hatasıyla başarısız oluyor
Stripe, bir zaman damgası ekler ve uygulama, 5 dakikadan daha eski olan her şeyi reddeder. Bu durum genellikle gönderen tarafta bir saat sorunundan kaynaklanır ya da Stripe’ın orijinal zaman damgasıyla çok daha sonra yeniden denediği bir iletimden kaynaklanır. Aynı orijinal isteğe ait yeniden denemeler kabul edilmez; Stripe’tan yeni bir olay göndermesini isteyin.
İlgili
- İmzalı webhook'ların doğrulanması - doğruladığımız her sağlayıcı ve doğrulamadığımız bir sağlayıcıyı nasıl tanımlayacağımız.
- Yük haritalama ve Shopify Flow değişkenleri - yükten doğru alanları alıp Shopify Flow'a aktarma.
- Yinelenen teslimat koruması - Stripe bir teslimatı yeniden denediğinde ne olur?
- Geçmiş ve sorun giderme - her isteğin günlüğü, tekrar oynatma özelliği ile.
