> For the complete documentation index, see [llms.txt](https://docs.mavibot.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mavibot.ai/doc/tr/integrations/payment/stripe.md).

# Stripe

## Nasıl bağlanır

Stripe ödeme sistemini bağlamak için bir gizli API anahtarına ve bir webhook anahtarına ihtiyacınız olacak.

Gizli API anahtarı, Developers → API keys bölümüne gidip Secret key’i kopyalayarak alınabilir.

1\. Adım. Developers → API keys bölümüne gidin:

<div data-with-frame="true"><figure><img src="/files/e8a81766a29d808eb142b9d4d6d3548b5ae7babc" alt=""><figcaption><p>Şek. 1. api keys bölümünü nasıl bulurum</p></figcaption></figure></div>

2\. Adım. Secret key’i bulun ve kopyalayın:

<div data-with-frame="true"><figure><img src="/files/d1e82015d213a6a7804549c25bbf7d1cb75f96c7" alt=""><figcaption></figcaption></figure></div>

Sonra bir callback URL ayarlamanız gerekir. Bu, botun ödeme bildirimlerini almasını sağlar.

Webhooks bölümüne gidin ve webhook URL’sini ekleyin.

<div data-with-frame="true"><figure><img src="/files/6cc7c9bdccd6e4a9bcdc2432756b31b3ac87af83" alt=""><figcaption></figcaption></figure></div>

Bir form görünecektir.

<div data-with-frame="true"><figure><img src="/files/5403a9a321eba16c25361650db8717a73e4842d4" alt=""><figcaption></figcaption></figure></div>

3\. Adım. "+add destination" öğesine tıklayın.

4\. Adım. Olayları seçin.

<div data-with-frame="true"><figure><img src="/files/0b195ab1796368348b6a86086fd728380a44c7ad" alt=""><figcaption></figcaption></figure></div>

3\. Adım. "Webhook endpoint" türünü seçin.

<div data-with-frame="true"><figure><img src="/files/7dabeb12466e9ef73ced2de4e748ff835bb6e14f" alt=""><figcaption></figcaption></figure></div>

4\. Adım. İstek türünü gözden geçirin ve "Continue"ya tıklayın.

<div data-with-frame="true"><figure><img src="/files/9e4541dec21a87bf4f164dd325daacd9806f369f" alt=""><figcaption></figcaption></figure></div>

5\. Adım. Bir ad girin ve endpoint URL’sini belirtin.

<div data-with-frame="true"><figure><img src="/files/df5a9032509208d073ca9f02dfdf9a902a933d95" alt=""><figcaption></figcaption></figure></div>

URL’yi şu şekilde ayarlayın: <https://chatter.mavibot.ai/stripe\\_callback/result>

6\. Adım. İki endpoint oluşturulacak — eklemeden önce ayarları gözden geçirebilirsiniz.

<div data-with-frame="true"><figure><img src="/files/b8df54946738e346d620708493b5260082bfe50c" alt=""><figcaption></figcaption></figure></div>

7\. Adım. "Add destinations" düğmesine tıklayın. Webhook’lar kaydedilecektir.

8\. Adım. "Done"a tıklayın.

<div data-with-frame="true"><figure><img src="/files/21d0d64c9da82fd9e8035e93de86405cf54f4e60" alt=""><figcaption></figcaption></figure></div>

Kaydedin ve webhook’un yapılandırıldığı sayfaya yönlendirileceksiniz.

<div data-with-frame="true"><figure><img src="/files/307db65dd6bbae960e176cfb9050140686e2fd20" alt=""><figcaption></figcaption></figure></div>

9\. Adım. Tüm olayları seçtiğiniz webhook’a tıklayın.

<div data-with-frame="true"><figure><img src="/files/c9d3c619b2380ad1ee383c19d2a5f68a4b9337e0" alt=""><figcaption></figcaption></figure></div>

10\. Adım. Signing key’i bulun ve kaydedin (MaviBot’a bağlanmak için daha sonra buna ihtiyacınız olacak).

<div data-with-frame="true"><figure><img src="/files/d98185ed39922eb6c52f999e504c5bdfc8b6fbd1" alt=""><figcaption></figcaption></figure></div>

Anahtarları aldıktan sonra Mavibot’ta bağlanmaya devam edin.

Mavibot’ta "Acquiring" bölümünü açın ve Stripe’ı seçin.

<div data-with-frame="true"><figure><img src="/files/4353ea9f25a0723f03d729c8d93587680a801fcc" alt=""><figcaption></figcaption></figure></div>

Bağlantı sayfasında aldığınız anahtarları girin.

<div data-with-frame="true"><figure><img src="/files/8c69da414bdac6f1f0d990ba2f737dc0733de6cb" alt=""><figcaption></figcaption></figure></div>

"Save settings"e tıklayın.

{% hint style="success" %}
Bitti! Stripe’ı bağladınız.
{% endhint %}

## İşlem durumu callback’i nasıl bağlanır

Ek bir callback almak için mevcut olanın yanına ikinci bir webhook eklemeniz gerekir.

URL’yi şu şekilde ayarlayın: <https://chatter.mavibot.ai/stripe\\_callback/\\>\<api\_key>/charge\_status

ve şu olayları seçin:

* `charge.failed`
* `charge.pending`
* `charge.succeeded`

<div data-with-frame="true"><figure><img src="/files/552fac95e3ddd5c7554efc7bf73c9334af24c3c7" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="success" %}
Her bir webhook türü hakkında daha fazla bilgi:

1. `charge.succeeded` — başarılı şekilde tamamlanan işlem hakkında bilgi içerir (başarılı ödeme callback’ine benzer)
2. `charge.pending` — "işlem devam ediyor", tamamlanması 7 güne kadar sürebilir. Webhook şu biçimde olacaktır {ilk 10 karakter}{webhook türü} Örneğin: sk\_test\_45LDPJLKT95d\_charge.pending
3. `charge.failed` — "işlem başarısız". Webhook şu biçimde olacaktır {ilk 10 karakter}{webhook türü} Örneğin: sk\_test\_45LDPJLKT95d\_charge.failed
   {% endhint %}

Kaydettikten sonra elde edilen webhook anahtarını Mavibot alanına ekleyin — Webhook key2.

<div data-with-frame="true"><figure><img src="/files/4931eece4cf57af9e4ec3f320efaf4e612125005" alt=""><figcaption></figcaption></figure></div>

**stripe\_invoice\_id** — ödeme sonrasında başarılı ödeme callback’i hemen alınmayan işlem tanımlayıcısı.

## Vergiler nasıl ayarlanır

Ödemelerde vergileri kullanmak için önce bunları Stripe panonuzda oluşturmanız gerekir. Bunun için arama çubuğuna "tax rates" yazın:

<div data-with-frame="true"><figure><img src="/files/05396dfd5b3bce1e5a161ba0c6141d3918d52a3e" alt=""><figcaption></figcaption></figure></div>

Ve "+ Add tax rates"e tıklayın.

<div data-with-frame="true"><figure><img src="/files/de8a167233f5ae30805331393d526a3edffe7e98" alt=""><figcaption></figcaption></figure></div>

Ardından uygulanacak vergi oranını girin.

<div data-with-frame="true"><figure><img src="/files/05eedd23d31dde9489aaab278d28c6739a74c77e" alt=""><figcaption></figcaption></figure></div>

Açılan menüde vergi türünü, uygulandığı bölgeyi, yüzde oranını ve verginin ödeme tutarına dahil mi edileceğini (Inclusive) yoksa üzerine mi ekleneceğini (Exclusive) seçin.

<div data-with-frame="true"><figure><img src="/files/49e02cd80a57494f00d3a7af06b5b668f2bb3b9f" alt=""><figcaption></figcaption></figure></div>

Vergi oranını oluşturduktan sonra, ödeme tutarını tanımlamadan önce kimliğini stripe\_tax\_id değişkenine kopyalayın.

<div data-with-frame="true"><figure><img src="/files/bb0b1d224a44e88bfce81c3092a7492421f5d0cd" alt=""><figcaption></figcaption></figure></div>

Hataları önlemek için, bağlantıyı aldıktan sonra stripe\_tax\_id değişkenini boş bir dize ("") olarak ayarlamanız önerilir — böylece vergiyi yalnızca gerektiğinde uygulayabilirsiniz.

Doğru yapılırsa, exclusive parametreli bir vergi oranı durumunda şunu göreceksiniz:

<div data-with-frame="true"><figure><img src="/files/36fdb0459b8a773188c78a0053a27f0ab5c220b9" alt=""><figcaption></figcaption></figure></div>

Ödeme bağlantısı nasıl alınır

Bir ödeme bağlantısı oluşturmak için payment\_sum değişkeninin değerini ayarlayın (ör. 150 veya 100.55 — virgül değil nokta kullanın!). Bundan sonra stripe\_pay\_url değişkeni görünecektir. Bu değişkeni bağlantı olarak gösterebilir veya üzerine "Pay" yazan bir düğmeye koyabilirsiniz.

Bağlantı şöyle görünür:

`https://checkout.stripe.com/pay/cs_test_a17mskKFFRwEuo3WgBSAUjfk7xaZZIrct9B3Ds2AdODVq1I8aRiqYEBdrU#fidkdWxOYHwnPyd1blpxYHZxWjA0TGFsVzFPVmpmMzJAbVYzUkp1Y0lLYDVgfzR2Q0NxcWZBNUNnTnRSVVRJSGFobEB1UExSczRMMTc8PWRLMGBddl8xalxyPDRoUGhnZm9xXXZANDZyaF0wNTVBVExsPHZyfycpJ2N3amhWYHdzYHcnP3F3cGApJ2lkfGpwcVF8dWAnPyd2bGtiaWBabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl`

{% hint style="warning" %}
Varsayılan olarak para birimi USD olarak ayarlanır. Farklı bir para birimi kullanmak için currency değişkeninin değerini ayarlayın.
{% endhint %}

Ödemeyi yapılandırmak için payment\_sum değerini ayarlamadan önce aşağıdaki isteğe bağlı değişkenleri de ayarlayabilirsiniz.

<table><thead><tr><th width="271.8984375">Fonksiyon parametreleri</th><th>Parametre açıklaması</th></tr></thead><tbody><tr><td><strong>currency</strong></td><td>sipariş para birimi. İzin verilen değerler burada —<a href="https://stripe.com/docs/currencies">https://stripe.com/docs/currencies</a></td></tr><tr><td><strong>payment_description</strong></td><td>ödeme açıklaması</td></tr><tr><td> <strong>stripe_tax_id</strong></td><td>Stripe panonuzda yapılandırılan vergi oranı kimliği.<br>Kurulum talimatları "<a href="#how-to-set-up-taxes">Vergiler nasıl ayarlanır</a>" bölümünde verilmiştir.</td></tr><tr><td><strong>stripe_invoice_enable</strong> </td><td>faturaları (makbuzları) kaydetmeyi etkinleştirmek için işaret. Bunu etkinleştirmek için herhangi bir değer girin — ilgili tüm belgeler Stripe panonuzda kullanılabilir olacaktır.</td></tr><tr><td><strong>stripe_locale</strong></td><td><p>ödeme sayfasının dilini ayarlayın: en, de vb. Tüm mevcut seçenekler: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-locale</p><p>stripe_locale ayarlanmazsa, müşterinin tarayıcı dili kullanılacaktır.</p></td></tr><tr><td><strong>stripe_payment_method_type</strong></td><td>ödeme yöntemi; varsayılan olarak kart ödemesidir. Stripe’ta mevcut diğer ödeme yöntemleriyle değiştirilebilir. Kullanılabilir yöntemler aşağıda listelenmiştir. Örneğin, <code>stripe_payment_method_type = "customer_balance"</code></td></tr><tr><td><strong>stripe_additional_payment_method_type</strong> </td><td>ek bir ödeme yöntemi ekleyin. Kullanılabilir yöntemler aşağıda listelenmiştir. Örneğin, <code>stripe_additional_payment_method_type = "sepa_debit"</code></td></tr><tr><td><strong>coupon_id</strong></td><td>indirim kuponu kimliği</td></tr><tr><td>stripe_expired </td><td>ödeme bağlantısının geçerlilik süresi. Saniye cinsinden belirtilir. Minimum 30 dakika, maksimum 24 saattir. Varsayılan 24 saattir.</td></tr><tr><td>stripe_automatic_tax</td><td>ödeme sırasında otomatik vergi hesaplamasını ve tahsilatını etkinleştirir. Etkinleştirmek için "1" gönderin. Daha fazla ayrıntı için <a href="https://docs.stripe.com/tax/set-up">Stripe makalelerine bakın.</a></td></tr></tbody></table>

{% hint style="warning" %}
Önemli! Hem stripe\_payment\_method\_type hem de stripe\_additional\_payment\_method\_type değişkenlerini kullanıyorsanız, bunların değerleri farklı olmalıdır!
{% endhint %}

<details>

<summary>stripe_payment_method_type ve stripe_additional_payment_method_type için değer listesi</summary>

card\
acss\_debit\
affirm \
afterpay\_clearpay \
alipay\
aud\_becs\_debit \
bacs\_debit \
bancontact \
blik \
boleto \
cashapp \
customer\_balance \
eps \
fpx \
giropay \
grabpay \
ideal \
klarna \
konbini \
link \
oxxo \
p24 \
paynow \
paypal \
pix \
promptpay \
sepa\_debit \
sofort \
us\_bank\_account \
wechat\_pay zip

</details>

{% hint style="info" %}
[Her yöntem ve kullanılabildiği ülkeler hakkında daha fazla bilgi için Stripe belgelerine bakın](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type)
{% endhint %}

### Ödeme bağlantısı oluşturma örneği

1000 AED için bir ödeme bağlantısı oluşturalım (varsayılan para birimi USD’dir).

<div data-with-frame="true"><figure><img src="/files/6bcafc2915ce2aba51f36b8d46459829116a5d3c" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
Not:&#x20;

— Önce first\_name, payment\_description vb. gibi isteğe bağlı parametreleri belirtin.&#x20;

— Ardından, en son payment\_sum değişkenine değeri atayın.

Değişkenler aynı blokta olmak zorunda olmadan, zincirin daha önceki bir aşamasında da ayarlanabilir — bu sadece bir örnektir.
{% endhint %}

Sonra bağlantıyı içeren stripe\_pay\_url değişkenini istenen noktada — ister bir mesaj bloğunda ister bir düğme üzerinde — gösterin:

Örnek 1. Ödeme bağlantısını doğrudan bir mesajda gösterin:

<div data-with-frame="true"><figure><img src="/files/ccb41541e2ef8c6ca845a0ecdfed940d68d84046" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/4a57c1e8b738de2665bd4cecdd424378d0a83579" alt="" width="563"><figcaption><p>Botta test ediliyor.</p></figcaption></figure></div>

Örnek 2. Ödeme bağlantısını bir düğmeye ekleyin.

<div data-with-frame="true"><figure><img src="/files/11899d62bf3ec2466e6a87a9e5da2249a985f9ab" alt=""><figcaption></figcaption></figure></div>

Düğmeye tıklandığında veya bağlantı takip edildiğinde, ödeyici ödeme sayfasına yönlendirilecektir.

<div data-with-frame="true"><figure><img src="/files/d46619ff71ddcc06ffd6bd6c8a739129cc171c16" alt=""><figcaption></figcaption></figure></div>

Örnek, blok ayarlarında hesaplayıcıda belirttiğimiz parametrelerin uygulandığını gösterir: sipariş açıklaması, para birimi ve tutar.

Blokta vergi oranı parametresini (stripe\_tax\_id) geçirirseniz.

<div data-with-frame="true"><figure><img src="/files/3eacde03e90481142943c6d269d807bc08d0f467" alt=""><figcaption></figcaption></figure></div>

Vergi oranı ödeme formunda da görüntülenecektir.

<div data-with-frame="true"><figure><img src="/files/f717b63d7f0413a038a026e6f22c8904704438a0" alt=""><figcaption></figcaption></figure></div>

<details>

<summary>Kopyalanacak kod örneği</summary>

payment\_description = "test ödeme"&#x20;

currency = 'AED'&#x20;

stripe\_tax\_id = 'enter\_your\_stripe\_id\_tax'&#x20;

payment\_sum = 1000

</details>

Vergi kimliğini nerede bulabilirsiniz.

<div data-with-frame="true"><figure><img src="/files/3b6ab2e72100dcc57f9d8ef3528495b057b4c82c" alt=""><figcaption></figcaption></figure></div>

## Tekrarlayan ödemeler nasıl ayarlanır

Tekrarlayan ödemeler (abonelikler) için, payment\_sum değişkeninden önce stripe\_subscription değişkenini tanımlayın ve ona abonelik adını atayın.

Ayrıca şu değişkenleri de ekleyebilirsiniz: interval — abonelik aralığının süresi. Günler için 'day', haftalar için 'week', aylar için 'month' veya yıllar için 'year' gönderin. Değişken ayarlanmazsa varsayılan olarak 'month' kullanılacaktır.

{% hint style="warning" %}
Önemli!

Bir abonelik döngüsünün süresi 1 yılı ('year' parametresi için), 12 ayı ('month' parametresi için) veya 52 haftayı ('week' parametresi için) aşamaz.
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/909e7f32357c73833a651b9b70ae20859a1dabfd" alt=""><figcaption></figcaption></figure></div>

interval\_count — belirtilen aralıkların sayısı: verilen tutar için aboneliğe kaç gün, hafta veya ay dahil edileceği. Varsayılan 1’dir.

stripe\_payment\_method\_type — ödeme yöntemi; varsayılan olarak kart ödemesidir. Stripe’ta mevcut diğer ödeme yöntemleriyle değiştirilebilir. Kullanılabilir yöntemler aşağıda listelenmiştir.

Örneğin, `stripe_payment_method_type = 'customer_balance'`

stripe\_additional\_payment\_method\_type — ek bir ödeme yöntemi ekleyin. Kullanılabilir yöntemler aşağıda listelenmiştir.

Örneğin, `stripe_additional_payment_method_type = 'sepa_debit'`

{% hint style="warning" %}
Önemli! Hem stripe\_payment\_method\_type hem de stripe\_additional\_payment\_method\_type değişkenlerini kullanıyorsanız, bunların değerleri MUTLAKA FARKLI olmalıdır!
{% endhint %}

<details>

<summary>stripe_payment_method_type ve stripe_additional_payment_method_type için değer listesi:</summary>

card\
acss\_debit\
affirm \
afterpay\_clearpay \
alipay\
aud\_becs\_debit \
bacs\_debit \
bancontact \
blik \
boleto \
cashapp \
customer\_balance \
eps \
fpx \
giropay \
grabpay \
ideal \
klarna \
konbini \
link \
oxxo \
p24 \
paynow \
paypal \
pix \
promptpay \
sepa\_debit \
sofort \
us\_bank\_account \
wechat\_pay zip

</details>

{% hint style="info" %}
[Her yöntem ve kullanılabildiği ülkeler hakkında daha fazla bilgi için Stripe belgelerine bakın](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type).
{% endhint %}

{% hint style="warning" %}
Önemli!

Bir abonelik döngüsünün süresi 1 yılı ('year' parametresi için), 12 ayı ('month' parametresi için) veya 52 haftayı ('week' parametresi için) aşamaz.
{% endhint %}

Bu örnekte, 'My\_subscription' adlı bir abonelik oluşturulacak; 1 ay için fiyatı 1000 AED olacak ve 1 ay sonra aynı tutarda tekrar eden bir ödeme alınacaktır.

<div data-with-frame="true"><figure><img src="/files/517173237feaa057c14aa8ad30c79d3c1449389a" alt=""><figcaption></figcaption></figure></div>

Örnek kopyası:

`stripe_subscription = 'My_subscription' interval = 'month' payment_sum = 90`

Abonelik ödemesini iki, üç veya dört ayda bir kez tahsil etmek için interval\_count parametresini gönderin:

`stripe_subscription = 'My_subscription'`

`interval = 'month'`

`interval_count = 3`

`payment_sum = 90`

Abonelik ödeme aralığını aylıktan haftalığa değiştirmek için interval parametresine week kelimesini gönderin:

`stripe_subscription = 'My_subscription'`

`interval = 'week'`

`interval_count = 3`

`payment_sum = 90`

Ödemeden sonra, müşterinin işlem değişkenlerine abonelik iptalini yapılandırmak için gereken stripe\_subscription\_id ve daha sonra abonelik durumunu kontrol etmek için kullanılabilecek stripe\_customer\_id eklenecektir.

{% hint style="warning" %}
Bildirim (callback) yalnızca ilk tekrar eden ödeme için gönderilir!

Sonraki ödemeler için HİÇBİR callback olmayacaktır. Takip, fonksiyon ve stripe\_customer\_id aracılığıyla yapılır.
{% endhint %}

<figure><img src="/files/370224c57776d0ee2016e1937fe073e37d401326" alt="" width="371"><figcaption></figcaption></figure>

## Normal ödemelere geri dönme ayarları

Normal ödemelere geri dönmek için, abonelik değişkenine boş bir dize atayın: stripe\_subscription = ''. Bu durumda interval ve interval\_count değişkenleri bağlantı oluşturmayı etkilemeyecektir.

<div data-with-frame="true"><figure><img src="/files/472ee5365934e259b7ba39b26ffbb6da4b0cdfff" alt=""><figcaption></figcaption></figure></div>

## Aboneliği iptal etme ayarları

Hesaplayıcıda aboneliği iptal etmek için stripe\_remove\_subscription(stripe\_subscription\_id) yöntemini kullanın; burada stripe\_subscription\_id, ödeme sonrasında işlem değişkenlerine kaydedilen tanımlayıcıdır.

Bu, ödenmiş aboneliği mevcut faturalama döneminin sonuna kadar aktif tutar, ancak başka ücretlendirme yapılmaz ve dönem sona erdiğinde abonelik iptal edilir.

<div data-with-frame="true"><figure><img src="/files/db377d3d3a0007f5c37e09697dfa4c847a8494c1" alt=""><figcaption></figcaption></figure></div>

answer = stripe\_remove\_subscription('#{stripe\_subscription\_id}')

stripe\_remove\_subscription — başarılı olursa, iptal edilen aboneliğin aktif kalacağı tarihe ilişkin bilgi içeren bir yanıt döndürür.

Bu örnekte, fonksiyonun sonucu answer değişkeninde saklanacak ve böylece sonucu doğrulayabileceksiniz.

## Abonelik durumunu kontrol etme

stripe\_check\_subscription(subscription\_id, customer\_id), burada

stripe\_subscription\_id — abonelik tanımlayıcısı stripe\_customer\_id — Stripe’taki müşteri tanımlayıcısı (isteğe bağlı parametre)

<div data-with-frame="true"><figure><img src="/files/c530fae1b64de30d719c59f5b24650d08160ac96" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/3cde13269575c43494e3da484490cff84ae44c45" alt=""><figcaption></figcaption></figure></div>

## Kupon oluşturma ve indirim ID’si alma

Bir indirim tanımlayıcısı almak için, panonuzda "Coupons" bölümünde bir kupon oluşturun. ”[kuponlar](https://dashboard.stripe.com/coupons)”.

<div data-with-frame="true"><figure><img src="/files/0f7dc947edd0e8604b3c7ce7449c4b11d72ea013" alt=""><figcaption></figcaption></figure></div>

"New" düğmesine tıklamak, aşağıdakileri belirtmeniz gereken bir sayfa açar:

1. Ad — indirim adı;
2. ID — tanımlayıcı, otomatik olarak oluşturulur;
3. Tür — indirim türü: yüzde veya sabit tutar;
4. Süre — indirim süresi (tek seferlik veya sürekli, ör. abonelikler için) ve diğer parametreler.

<div data-with-frame="true"><figure><img src="/files/76bc806278612a0051611328e3754d80ba925b14" alt=""><figcaption></figcaption></figure></div>

İndirim kuponu, "Product catalogue" içinde "Coupons" bölümünde görünecektir ve kupon menüsünü açarak indirim ID’sini görüntüleyebilirsiniz.

<div data-with-frame="true"><figure><img src="/files/db2274bd90238f67a44dcd3c503763797e0f4516" alt=""><figcaption></figcaption></figure></div>

Kupon ID’sini kopyalamak için kupona tıklayın.

<div data-with-frame="true"><figure><img src="/files/ed955754eb383695c52d051cb20500cdc833dbf7" alt=""><figcaption></figcaption></figure></div>

## Bir siparişe indirim nasıl uygulanır

1. Bir ödeme bağlantısı oluştururken (hem abonelikler hem de tek seferlik ödemeler için geçerlidir).

Blok hesaplayıcısında, payment\_sum değişkenini tanımlamadan önce coupon\_id değişkenini ayarlayın ve Stripe panonuzdaki indirim tanımlayıcısını gönderin.

<div data-with-frame="true"><figure><img src="/files/beb97ab2a7213d84b0393788a366a6f7e1239eed" alt=""><figcaption></figcaption></figure></div>

2. stripe\_add\_subscription\_discount fonksiyonunu kullanarak mevcut bir aboneliğe.

Blok için tetik koşullarını ayarlayın ve hesaplayıcıda belirtilen fonksiyonu çağırın; stripe\_subscription\_id (abonelik ID’si) ve coupon\_id (kupon indirim ID’si) parametrelerini gönderin. İndirim sonraki abonelik ödemelerine uygulanacaktır.

<div data-with-frame="true"><figure><img src="/files/92b88549765a2acb83d1c0910f8f2138fd815703" alt=""><figcaption></figcaption></figure></div>

<details>

<summary>Kopyalanacak kod örneği</summary>

stripe\_subscription = 'test subscription'&#x20;

interval = 'month'&#x20;

payment\_description = 'test payment'&#x20;

currency = 'AED'&#x20;

coupon\_id = 'BD8VIwi8' stripe\_add\_subscription\_discount(stripe\_subscription\_id, coupon\_id)

stripe\_tax\_id = 'Qfkiwiki29jcs'

payment\_sum = 90

</details>

İndirim başarıyla uygulanırsa, fonksiyon abonelik ID’si, indirim türü, tutar veya yüzde ve son kullanma tarihi içeren bir mesaj döndürecektir.

<div data-with-frame="true"><figure><img src="/files/fee0f044a7d9987983537e9264a22b01f299c7c6" alt=""><figcaption></figcaption></figure></div>

## Bir aboneliğin indirimini nasıl kaldırır veya değiştirirsiniz

Bir aboneliğe bağlı indirim kaldırılabilir veya başka bir indirimle değiştirilebilir.

Bir indirimi durdurmak için, blok için tetik koşullarını ayarlayın ve hesaplayıcıda stripe\_remove\_subscription\_discount fonksiyonunu çağırarak stripe\_subscription\_id (abonelik ID’si) parametresini gönderin.

<div data-with-frame="true"><figure><img src="/files/2cd12dc5f46e60acc22fffd0459de784bd639d02" alt=""><figcaption></figcaption></figure></div>

İşlem başarılı olursa, fonksiyon abonelik ID’sini ve indirim iptal tarihini içeren bir mesaj döndürecektir.

Bir indirimi değiştirmek, yeni bir indirim eklemek gibi, stripe\_add\_subscription\_discount fonksiyonu kullanılarak yapılır. stripe\_subscription\_id ve coupon\_id parametrelerini gönderdiğinizden emin olun. Başarılı bir istek, aboneliğe bağlı kuponu güncelleyecek ve güncellenmiş ayrıntıları içeren bir mesaj döndürecektir.

## Sonucun nasıl işleneceği

Başarılı bir ödemenin ardından bot, başarılı bir işlemi gösteren callback’ler alacaktır. Sistemde bu callback’ler kullanıcıdan gelen mesajlar olarak görünür. Kullanıcıların bunları manuel olarak göndermesini önlemek için, bunlar gizli anahtarın ilk 20 karakteri ve ardından \_success olacak şekilde oluşturulur; örneğin: sk\_live\_d35gky6d8ers\_success

<div data-with-frame="true"><figure><img src="/files/36d541ffec47460c03855c0ed9c8408f8e922bc0" alt="" width="563"><figcaption></figcaption></figure></div>

Bu callback’ler kullanıcı tarafından GÖRÜLMEZ — yalnızca operatör tarafından görülebilir.

Karşılaştırma türü "Exact match" olarak ayarlanmalıdır.

Başarılı bir ödemeden sonra stripe\_payment\_completed değişkeni de True olarak ayarlanır.

Örneğin, başarılı bir ödemeyi koşullu bir blok kullanarak işleyebilir ve kullanıcıya uygun mesajı gösterebilirsiniz.

<div data-with-frame="true"><figure><img src="/files/f02aa05cd2400e20fc32311ac30ccce5655a3841" alt=""><figcaption></figcaption></figure></div>

Ödeme tamamlandıktan sonra, stripe\_callback\_data değişkeni müşterinin verilerine eklenir ve tamamlanan işlem için ödeme sistemi yanıtını içerir. Gerekli veriler, sonuç sözlüğünden get yöntemi kullanılarak çıkarılabilir.

{% hint style="warning" %}
Tekrar eden bir ödemeyi işlemek için önce payment\_sum ve daha önce oluşturulmuş bağlantıyı sıfırlamanız, ardından yeni bir bağlantı almak için payment\_sum değişkenini yeniden atamanız gerekir. Önceki değeri kullanabilirsiniz.
{% endhint %}

## Ödemeler nasıl test edilir

Entegrasyonu test etmek için test ortamındaki gizli anahtarı kullanabilirsiniz. Bunun için Stripe panosunda sağdaki menüyü kullanarak test ortamına geçin.

![](https://lh5.googleusercontent.com/r-tuJboMES8alkTUpKwA4HKrmL_epNtSXdENrv12EyR9dGCtvRLBK6qw4UGcr59GA3unxc1cV1otCu80nqHEw9VhbEK05ovPQ1Ad8chBv50LAWPO16nEPC2hFhCAsCe3khtBJrob=s0)

Ardından bu kılavuzun başında açıklanan kurulum adımlarını izleyin. Test gizli anahtarını girin ve test ortamına webhook URL’sini ekleyin.

Test için bir test ödeme kartı numarası kullanın ([ülkeniz için kart numarasını resmi Stripe web sitesinde bulabilirsiniz](https://stripe.com/docs/testing#regulatory-cards)).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/tr/integrations/payment/stripe.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
