> 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/ru/integrations/payment/stripe.md).

# Stripe

## Как подключить

Чтобы подключить платёжную систему Stripe, вам понадобятся секретный API-ключ и ключ webhook.

Секретный API-ключ можно скопировать, перейдя в Developers → API keys и скопировав Secret key.

Шаг 1. Перейдите в Developers → API keys:

<div data-with-frame="true"><figure><img src="/files/5ba81e2b06e2acdf690a754dd3c94518f55789b2" alt=""><figcaption><p>Рис. 1. Как найти раздел api keys</p></figcaption></figure></div>

Шаг 2. Найдите и скопируйте Secret key:

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

Далее нужно указать callback URL. Это позволит боту получать уведомления об оплате.

Перейдите в раздел Webhooks и добавьте webhook URL.

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

Появится форма.

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

Шаг 3. Нажмите "+add destination".

Шаг 4. Выберите события.

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

Шаг 3. Выберите тип "Webhook endpoint".

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

Шаг 4. Проверьте тип запроса и нажмите "Continue".

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

Шаг 5. Введите имя и укажите URL конечной точки.

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

Укажите URL: <https://chatter.mavibot.ai/stripe\\_callback/result>

Шаг 6. Будут созданы две конечные точки — перед добавлением вы можете проверить настройки.

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

Шаг 7. Нажмите кнопку "Add destinations". Webhooks будут сохранены.

Шаг 8. Нажмите "Done".

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

Сохраните, и вы перейдёте на страницу с настроенным webhook.

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

Шаг 9. Нажмите на webhook, где вы выбрали все события.

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

Шаг 10. Найдите Signing key и сохраните его (он понадобится позже для подключения к MaviBot).

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

Когда ключи будут получены, перейдите к подключению в Mavibot.

В Mavibot откройте раздел "Acquiring" и выберите Stripe.

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

На странице подключения введите полученные ключи.

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

Нажмите "Save settings".

{% hint style="success" %}
Готово! Вы подключили Stripe.
{% endhint %}

## Как подключить callback статуса транзакции

Чтобы получать дополнительный callback, нужно добавить второй webhook рядом с существующим.

Укажите URL: <https://chatter.mavibot.ai/stripe\\_callback/\\>\<api\_key>/charge\_status

и выберите следующие события:

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

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

{% hint style="success" %}
Подробнее о каждом типе webhook:

1. `charge.succeeded` — содержит информацию об успешно завершённой транзакции (аналогично callback успешной оплаты)
2. `charge.pending` — "транзакция в процессе", может занять до 7 дней. Webhook будет иметь формат {первые 10 символов}{тип webhook}. Например: sk\_test\_45LDPJLKT95d\_charge.pending
3. `charge.failed` — "транзакция не удалась". Webhook будет иметь формат {первые 10 символов}{тип webhook}. Например: sk\_test\_45LDPJLKT95d\_charge.failed
   {% endhint %}

Добавьте ключ webhook, полученный после сохранения, в поле Mavibot — Webhook key2.

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

**stripe\_invoice\_id** — идентификатор транзакции, для которой callback об успешной оплате не был получен сразу после оплаты.

## Как настроить налоги

Чтобы использовать налоги в платежах, сначала нужно создать их в панели Stripe. Для этого введите "tax rates" в строке поиска:

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

И нажмите "+ Add tax rates".

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

Затем укажите применимую ставку налога.

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

В открывшемся меню выберите тип налога, регион его действия, процентную ставку и будет ли налог включён в сумму платежа (Inclusive) или добавлен сверху (Exclusive).

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

После создания налоговой ставки скопируйте её ID в переменную stripe\_tax\_id до указания суммы платежа.

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

Чтобы избежать ошибок, рекомендуется после получения ссылки установить переменную stripe\_tax\_id в пустую строку ("") — так вы сможете применять налог только при необходимости.

Если всё сделано правильно, в случае налоговой ставки с параметром exclusive вы увидите следующее:

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

Как получить платёжную ссылку

Чтобы сгенерировать платёжную ссылку, задайте значение переменной payment\_sum (например, 150 или 100.55 — используйте точку, а не запятую!). После этого появится переменная stripe\_pay\_url. Вы можете вывести эту переменную как ссылку или разместить её на кнопке с текстом "Pay".

Ссылка выглядит так:

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

{% hint style="warning" %}
По умолчанию валюта установлена в USD. Чтобы использовать другую валюту, задайте значение переменной currency.
{% endhint %}

Также перед заданием значения payment\_sum вы можете установить следующие необязательные переменные, чтобы настроить платёж.

<table><thead><tr><th width="271.8984375">Параметры функции</th><th>Описание параметра</th></tr></thead><tbody><tr><td><strong>currency</strong></td><td>валюта заказа. Доступные значения здесь —<a href="https://stripe.com/docs/currencies">https://stripe.com/docs/currencies</a></td></tr><tr><td><strong>payment_description</strong></td><td>описание платежа</td></tr><tr><td> <strong>stripe_tax_id</strong></td><td>идентификатор налоговой ставки, настроенной в вашей панели Stripe.<br>Инструкции по настройке приведены в разделе "<a href="#how-to-set-up-taxes">Как настроить налоги</a>".</td></tr><tr><td><strong>stripe_invoice_enable</strong> </td><td>флаг включения сохранения счетов (квитанций). Установите любое значение, чтобы включить это — все соответствующие документы будут доступны в вашей панели Stripe.</td></tr><tr><td><strong>stripe_locale</strong></td><td><p>задаёт язык страницы оплаты: en, de и т. д. Все доступные варианты: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-locale</p><p>Если stripe_locale не задан, будет использован язык браузера клиента.</p></td></tr><tr><td><strong>stripe_payment_method_type</strong></td><td>способ оплаты; по умолчанию оплата картой. Может быть заменён на другие доступные в Stripe способы оплаты. Доступные способы перечислены ниже. Например, <code>stripe_payment_method_type = "customer_balance"</code></td></tr><tr><td><strong>stripe_additional_payment_method_type</strong> </td><td>добавить дополнительный способ оплаты. Доступные способы перечислены ниже. Например, <code>stripe_additional_payment_method_type = "sepa_debit"</code></td></tr><tr><td><strong>coupon_id</strong></td><td>идентификатор скидочного купона</td></tr><tr><td>stripe_expired </td><td>время истечения платёжной ссылки. Указывается в секундах. Минимум — 30 минут, максимум — 24 часа. По умолчанию — 24 часа.</td></tr><tr><td>stripe_automatic_tax</td><td>включить автоматический расчёт и взимание налога при оформлении заказа. Для включения передайте "1". Подробнее см. в <a href="https://docs.stripe.com/tax/set-up">статьях Stripe.</a></td></tr></tbody></table>

{% hint style="warning" %}
Важно! Если вы используете одновременно переменные stripe\_payment\_method\_type и stripe\_additional\_payment\_method\_type, значения в них должны быть разными!
{% endhint %}

<details>

<summary>Список значений для stripe_payment_method_type и stripe_additional_payment_method_type</summary>

card\
acss\_debit\
affirm \
afterpay\_clearpay \
alipay\
au\_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" %}
[Подробнее о каждом методе и странах, где они доступны, см. в документации Stripe](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type)
{% endhint %}

### Пример генерации платёжной ссылки

Создадим платёжную ссылку на 1000 AED (по умолчанию валюта — USD).

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

{% hint style="warning" %}
Примечание:&#x20;

— Сначала укажите необязательные параметры, такие как first\_name, payment\_description и т. д.&#x20;

— Затем последним задайте значение переменной payment\_sum.

Переменные также можно задавать раньше в цепочке, не обязательно в том же блоке — это лишь пример.
{% endhint %}

Затем выведите переменную stripe\_pay\_url, в которой содержится ссылка, в нужном месте — либо в блоке сообщения, либо на кнопке:

Пример 1. Вывести платёжную ссылку прямо в сообщении:

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

<div data-with-frame="true"><figure><img src="/files/09f49148ea16ca59fcb2a17254ee515a47f7df20" alt="" width="563"><figcaption><p>Тестирование в боте.</p></figcaption></figure></div>

Пример 2. Добавить платёжную ссылку на кнопку.

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

При нажатии на кнопку или переходе по ссылке плательщик будет перенаправлен на страницу оплаты.

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

В примере видно, что применились параметры, которые мы указали в калькуляторе в настройках блока: описание заказа, валюта и сумма.

Если вы передаёте параметр налоговой ставки (stripe\_tax\_id) в блоке.

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

Налоговая ставка также будет отображаться в форме оплаты.

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

<details>

<summary>Пример кода для копирования</summary>

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

currency = 'AED'&#x20;

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

payment\_sum = 1000

</details>

Где найти ID налога.

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

## Как настроить регулярные платежи

Для регулярных платежей (подписок) объявите переменную stripe\_subscription перед переменной payment\_sum и присвойте ей название подписки.

Вы также можете добавить следующие переменные: interval — длительность интервала подписки. Передайте 'day' для дней, 'week' для недель, 'month' для месяцев или 'year' для годов. Если переменная не задана, по умолчанию будет использоваться 'month'.

{% hint style="warning" %}
Важно!

Длительность одного цикла подписки не может превышать 1 год (для параметра 'year'), 12 месяцев (для параметра 'month') или 52 недели (для параметра 'week').
{% endhint %}

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

interval\_count — количество указанных интервалов: сколько дней, недель или месяцев включено в подписку на указанную сумму. По умолчанию — 1.

stripe\_payment\_method\_type — способ оплаты; по умолчанию оплата картой. Может быть заменён на другие доступные в Stripe способы оплаты. Доступные способы перечислены ниже.

Например, `stripe_payment_method_type = 'customer_balance'`

stripe\_additional\_payment\_method\_type — добавить дополнительный способ оплаты. Доступные способы перечислены ниже.

Например, `stripe_additional_payment_method_type = 'sepa_debit'`

{% hint style="warning" %}
Важно! Если вы используете одновременно переменные stripe\_payment\_method\_type и stripe\_additional\_payment\_method\_type, значения в них ДОЛЖНЫ БЫТЬ РАЗНЫМИ!
{% endhint %}

<details>

<summary>Список значений для stripe_payment_method_type и stripe_additional_payment_method_type:</summary>

card\
acss\_debit\
affirm \
afterpay\_clearpay \
alipay\
au\_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" %}
[Подробнее о каждом методе и странах, где они доступны, см. в документации Stripe](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type).
{% endhint %}

{% hint style="warning" %}
Важно!

Длительность одного цикла подписки не может превышать 1 год (для параметра 'year'), 12 месяцев (для параметра 'month') или 52 недели (для параметра 'week').
{% endhint %}

В этом примере будет создана подписка с названием 'My\_subscription' с ценой 1000 AED за 1 месяц, и через 1 месяц будет списан такой же повторяющийся платёж.

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

Пример для копирования:

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

Чтобы списывать платёж по подписке раз в два, три или четыре месяца, передайте параметр interval\_count:

`stripe_subscription = 'My_subscription'`

`interval = 'month'`

`interval_count = 3`

`payment_sum = 90`

Чтобы изменить интервал платежа по подписке с ежемесячного на еженедельный, передайте в параметре interval слово week:

`stripe_subscription = 'My_subscription'`

`interval = 'week'`

`interval_count = 3`

`payment_sum = 90`

После оплаты в переменных транзакции клиента появятся stripe\_subscription\_id, который нужен для настройки отмены подписки, и stripe\_customer\_id, который позже можно использовать для проверки статуса подписки.

{% hint style="warning" %}
Уведомление (callback) отправляется только для первого повторяющегося платежа!

Для последующих платежей callback НЕ будет. Отслеживание выполняется через функцию и stripe\_customer\_id.
{% endhint %}

<figure><img src="/files/192b96fdb394bff8b12108a9c8637fe370ac2093" alt="" width="371"><figcaption></figcaption></figure>

## Настройки возврата к обычным платежам

Чтобы вернуться к обычным платежам, присвойте переменной подписки пустую строку: stripe\_subscription = ''. В этом случае переменные interval и interval\_count не будут влиять на генерацию ссылки.

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

## Настройки отмены подписки

Чтобы отменить подписку в калькуляторе, используйте метод stripe\_remove\_subscription(stripe\_subscription\_id), где stripe\_subscription\_id — это идентификатор, сохранённый в переменных транзакции после оплаты.

Это сохранит оплаченную подписку активной до конца текущего расчётного периода, но дальнейших списаний не будет, и подписка будет отменена по истечении срока.

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

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

stripe\_remove\_subscription — при успехе возвращает ответ с информацией о дате, до которой отменённая подписка останется активной.

В этом примере результат функции будет сохранён в переменной answer, что позволит вам проверить итог.

## Проверка статуса подписки

stripe\_check\_subscription(subscription\_id, customer\_id), где

stripe\_subscription\_id — идентификатор подписки stripe\_customer\_id — идентификатор клиента в Stripe (необязательный параметр)

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

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

## Как создать купон и получить ID скидки

Чтобы получить идентификатор скидки, создайте купон в панели управления в разделе "Coupons". ”[coupons](https://dashboard.stripe.com/coupons)”.

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

Нажатие кнопки "New" откроет страницу, где нужно указать:

1. Name — название скидки;
2. ID — идентификатор, генерируется автоматически;
3. Type — тип скидки: процент или фиксированная сумма;
4. Duration — длительность скидки (одноразовая или постоянная, например для подписок) и другие параметры.

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

Купон скидки появится в "Product catalogue" в разделе "Coupons", а посмотреть ID скидки можно, открыв меню купона.

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

Нажмите на купон, чтобы скопировать ID купона.

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

## Как применить скидку к заказу

1. При генерации платёжной ссылки (работает и для подписок, и для разовых платежей).

В калькуляторе блока перед объявлением переменной payment\_sum задайте переменную coupon\_id и передайте идентификатор скидки из вашей панели Stripe.

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

2. К существующей подписке с помощью функции stripe\_add\_subscription\_discount.

Задайте условия срабатывания блока и вызовите указанную функцию в калькуляторе, передав параметры stripe\_subscription\_id (ID подписки) и coupon\_id (ID скидки купона). Скидка будет применена к последующим платежам по подписке.

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

<details>

<summary>Пример кода для копирования</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>

Если скидка применена успешно, функция вернёт сообщение с ID подписки, типом скидки, суммой или процентом и датой окончания действия.

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

## Как удалить или изменить скидку для подписки

Скидку, привязанную к подписке, можно удалить или заменить другой скидкой.

Чтобы остановить действие скидки, задайте условия срабатывания блока и вызовите в калькуляторе функцию stripe\_remove\_subscription\_discount, передав параметр stripe\_subscription\_id (ID подписки).

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

Если операция успешна, функция вернёт сообщение, содержащее ID подписки и дату отмены скидки.

Замена скидки, как и добавление новой, выполняется с помощью функции stripe\_add\_subscription\_discount. Обязательно передайте параметры stripe\_subscription\_id и coupon\_id. Успешный запрос обновит купон, привязанный к подписке, и вернёт сообщение с обновлёнными данными.

## Как обработать результат

После успешной оплаты бот получит callback'и, указывающие на успешную транзакцию. В системе эти callback'и отображаются как сообщения от пользователя. Чтобы пользователи не могли отправить их вручную, они состоят из первых 20 символов секретного ключа, за которыми следует \_success, например: sk\_live\_d35gky6d8ers\_success

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

Эти callback'и НЕ видны пользователю — их видит только оператор.

Тип сравнения должен быть установлен в "Exact match".

После успешной оплаты переменной stripe\_payment\_completed также присваивается значение True.

Например, успешную оплату можно обработать с помощью условного блока и показать пользователю соответствующее сообщение.

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

После завершения оплаты в данные клиента будет добавлена переменная stripe\_callback\_data, содержащая ответ платёжной системы по завершённой транзакции. Необходимые данные можно извлечь из полученного словаря с помощью метода get.

{% hint style="warning" %}
Чтобы обработать повторный платёж, сначала нужно сбросить payment\_sum и ранее сгенерированную ссылку, и только потом заново присвоить значение переменной payment\_sum, чтобы получить новую ссылку. Можно использовать предыдущее значение.
{% endhint %}

## Как тестировать платежи

Чтобы протестировать интеграцию, вы можете использовать секретный ключ из тестового окружения. Для этого переключитесь на тестовое окружение в панели Stripe с помощью меню справа.

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

Затем выполните шаги настройки, описанные в начале этого руководства. Введите тестовый секретный ключ и добавьте webhook URL в тестовом окружении.

Для тестирования используйте тестовый номер платёжной карты ([номер карты для вашей страны можно найти на официальном сайте Stripe](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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
