# Stripe

## Cómo conectar

Para conectar el sistema de pago Stripe, necesitará una clave API secreta y una clave de webhook.

Puede copiar la clave API secreta yendo a la sección Developers -> API key y copiando la Secret key.

Paso 1. Vaya a la sección Developers -> API key:

<figure><img src="/files/e82c6b46b2941c59eed5055127d5f0e2e8d5124c" alt="" width="563"><figcaption><p>Fig. 1 Cómo encontrar la sección API</p></figcaption></figure>

Paso 2. Encuentre y copie la Secret key:

<figure><img src="/files/cd21dec249195466fca94b7d949e361ee23e6bb1" alt=""><figcaption></figcaption></figure>

A continuación, debe establecer la URL para los callbacks. Esto es necesario para que el bot reciba notificaciones de pago.

Vaya a la sección Webhooks y añada la dirección para los webhooks.

<figure><img src="/files/1cf1a3546665e07f1af237d193041864511c5165" alt=""><figcaption></figcaption></figure>

Se abre el formulario:

<figure><img src="/files/241cdc15dd7b226aef88dfa7b2070a6c75dd0fff" alt=""><figcaption></figcaption></figure>

Paso 1. Haga clic en "+add destination".

Paso 2. Seleccione los eventos:

<figure><img src="/files/bfcb73e30b8d5c0e9467b9fab14a355edb00b09a" alt=""><figcaption></figcaption></figure>

Paso 3. Seleccione el tipo de "Webhook endpoint":

<figure><img src="/files/debbf8ecbc878d216f54195a09fdd56643c804ef" alt=""><figcaption></figcaption></figure>

Paso 4. Nos familiarizamos con el tipo de solicitud y hacemos clic en "Continue":

<figure><img src="/files/95c002ba63579ee3c20ac48444cf6eea7f73e780" alt=""><figcaption></figcaption></figure>

Paso 5. Escribimos el nombre y especificamos la URL del endpoint:

<figure><img src="/files/f1dc622e909b8e938204a4d22088ad2ede051511" alt=""><figcaption></figcaption></figure>

Especifique la URL - <https://chatter.salebot.pro/stripe_callback/result>

Paso 6. Se crearán dos endpoints, puede ver la configuración antes de añadirlos:&#x20;

<figure><img src="/files/8f9da3967e387b8aa5cb7e562f1051c74c1c3a9f" alt="" width="563"><figcaption></figcaption></figure>

Paso 7. A continuación, haga clic en el botón "Add destinations". Entonces los webhooks se guardarán.

Paso 8. Haga clic en el botón "Done".

<figure><img src="/files/2f9250235eef95fe7ba1c92a7b53047aa7ccfeae" alt=""><figcaption></figcaption></figure>

Lo guardamos y llegamos a la página con el webhook instalado:

<figure><img src="/files/0f5f3af5e282346fe9dbc8cecdb285c9c4001f59" alt=""><figcaption></figcaption></figure>

Paso 9. A continuación, haga clic en el webhook donde seleccionó todos los eventos:

<figure><img src="/files/603668a7e98d4554020ab74436576fb1308a1381" alt=""><figcaption></figcaption></figure>

Paso 10. Encontramos la clave Signig y la guardamos para nosotros (en el futuro la necesitaremos para conectarla a Salebot):

<figure><img src="/files/0e141dacccc0f7e77b0da8d6a57be729a343028e" alt=""><figcaption></figcaption></figure>

Después de recibir las claves, procedemos a conectar con Mavibot.

En Mavibot, abra la sección "Acquiring" y seleccione Stripe.

<figure><img src="/files/948a169527d58317d7e96f922e268ba7f8384896" alt=""><figcaption></figcaption></figure>

En la página de conexión, debe introducir las claves recibidas:

<figure><img src="/files/d1403806a1415ae105512fa60666d7e6aa5bffcc" alt=""><figcaption></figcaption></figure>

Haga clic en "Save Settings".

{% hint style="success" %}
¡Listo!&#x20;

¡Con esto se completa la conexión del sistema de pago!
{% endhint %}

## Cómo conectar un callback sobre el estado de la transacción

Para obtener un callback adicional, necesitaremos conectar un webhook en **además del existente.**

Especifique la URL - [https://chatter.salebot.pro/stripe\_callback/\<api\_key>/charge\_status](https://chatter.salebot.pro/stripe_callback/<api_key>/charge_status)

y seleccione los eventos:

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

<figure><img src="/files/8407287daad3370d5ac2d455e2b7ab0de2034e6e" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="success" %}
**Obtenga más información sobre cada tipo de webhook:**

1. **charge.succeeded** - contiene información sobre la finalización exitosa de la transacción (similar a un callback sobre un pago exitoso)
2. **charge.pending** - "la transacción está en curso", puede tardar hasta 7 días en completarse.\
   El webhook tendrá este aspecto: {primeros 10 caracteres}{tipo de webhook}\
   *Por ejemplo*: *sk\_test\_45LDPJLKT95d\_charge.pending*&#x20;
3. **charge.failed** *-* "la transacción falló."\
   El webhook tendrá este aspecto: {primeros 10 caracteres}{tipo de webhook}\
   Por ejemplo: *sk\_test\_45LDPJLKT95d\_charge.failed*
   {% endhint %}

Añadimos el webhook recibido después de guardarlo en Mavibot en el campo - Webhook key2:

<figure><img src="/files/9cf3ed1659302fd48b487914723d18043806bf76" alt="" width="563"><figcaption></figcaption></figure>

**stripe\_invoice\_id** - ID de la transacción para la cual no se recibió inmediatamente después del pago el callback de pago exitoso.

## Cómo conectar impuestos

Para usar impuestos en los pagos, primero debe crearlos en la cuenta personal de Stripe. Para ello, escriba tax rates en la barra de búsqueda:

<figure><img src="/files/d6002ae7d1bcb208685d20250d41e3a479a8f157" alt=""><figcaption></figcaption></figure>

Y haga clic en "+ Add tax rates":

<figure><img src="/files/9f7eabde98e060a2aea65b587e38fb8b7e212fa0" alt=""><figcaption></figcaption></figure>

A continuación, especifique la tasa de impuesto aplicable:

<figure><img src="/files/df362e3f816cc6809465e76c527d12c3f80d4536" alt=""><figcaption></figcaption></figure>

En el menú que se abre, seleccione el tipo de impuesto, la región a la que se aplica, la tasa impositiva y la opción que indica si este impuesto debe incluirse en el importe del pago 'Inclusive' o añadirse por encima del importe - exclusive:

<figure><img src="/files/ea10852bc5cff38c3508577135a0a00d4f722aa4" alt=""><figcaption></figcaption></figure>

Después de crear la tasa impositiva, copie su ID en la **stripe\_tax\_id** variable antes de establecer el importe del pago.

<figure><img src="/files/797aaa835c22f2e5827aedee150b4dd3e26c6ab1" alt=""><figcaption></figcaption></figure>

Para evitar errores, ponga una cadena vacía ("") en la variable stripe\_tax\_id después de recibir el enlace, para poder aplicar el impuesto solo cuando sea necesario.

Si todo se hace correctamente, entonces, en el caso de la tasa impositiva con el parámetro exclusive, verá lo siguiente

<figure><img src="/files/d0bf4fbb893b81ba2dd4dea6ef8cfb28f2d5d0c7" alt=""><figcaption><p>Ejemplo de un pago con una tasa impositiva exclusive</p></figcaption></figure>

## **Cómo obtener un enlace de pago**&#x20;

Para generar un enlace de pago, debes establecer el valor de la **payment\_sum** variable (por ejemplo, 150 o 100.55 (separado por un punto!)), y después aparecerá la variable stripe\_pay\_url. Esta variable puede mostrarse con un enlace o colocarse en un botón con el texto "Pay".

El enlace se ve así:

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

{% hint style="warning" %}
De forma predeterminada, se establece USD (dólar); si necesita otra moneda, debe establecer el valor de la **currency** variable.
{% endhint %}

Además, antes de establecer el valor de la **payment\_sum** variable, puede establecer las siguientes variables opcionales para configurar el pago.

<table><thead><tr><th width="255">Parámetros de la función</th><th>Descripción de los parámetros</th></tr></thead><tbody><tr><td><strong>currency</strong></td><td>es la moneda del pedido. Valores aceptables -<a href="https://stripe.com/docs/currencies">https://stripe.com/docs/currencies</a></td></tr><tr><td><strong>payment_description</strong></td><td>descripción del pedido</td></tr><tr><td> <strong>stripe_tax_id</strong></td><td>Este es el ID de la tasa impositiva, configurado en la cuenta personal de Stripe.<br>Cómo configurarlo se describe en la sección "Cómo configurar impuestos" ссылка "<a href="#kak-podklyuchit-nalogi">Cómo conectar impuestos</a>"</td></tr><tr><td><strong>stripe_invoice_enable</strong> </td><td>Este parámetro indica la necesidad de guardar facturas (invoices, receipts). Introduzca cualquier valor: todos los documentos necesarios estarán entonces disponibles en su cuenta personal de Stripe.</td></tr><tr><td><strong>stripe_locale</strong></td><td>establece el idioma del enlace de pago: en, ru, de. Todos los idiomas disponibles están aquí: <a href="https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-locale ">https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-locale </a><br>Si el <strong>stripe_local</strong> si no se proporciona un valor, se usará por defecto el idioma del navegador del cliente.</td></tr><tr><td><strong>stripe_payment_method_type</strong></td><td><p>es el método de pago; el pago predeterminado es con tarjeta. Puede reemplazarlo por otros métodos de pago disponibles en Stripe. Los métodos disponibles se enumeran a continuación</p><p>Por ejemplo, <code>stripe_payment_method_type = "customer_balance"</code></p></td></tr><tr><td><strong>stripe_additional_payment_method_type</strong> </td><td>es para añadir un método de pago adicional. Los métodos disponibles se enumeran a continuación, por ejemplo, <code>stripe_additional_payment_method_type  = "sepa_debit"</code></td></tr><tr><td><strong>coupon_id</strong></td><td>ID del cupón de descuento</td></tr><tr><td>stripe_expired </td><td>es la duración del enlace de pago. Se especifica en segundos. El tiempo mínimo es 30 minutos, el máximo es 24 horas. El valor predeterminado es 24 horas</td></tr><tr><td>stripe_automatic_tax</td><td>activación del cálculo y cobro automático de impuestos durante el pago. Para activarlo, pase "1". La información detallada sobre esta configuración se puede encontrar en la documentación de Stripe. ссылка <a href="https://docs.stripe.com/tax/set-up">en la documentación de Stripe </a></td></tr></tbody></table>

{% hint style="warning" %}
¡Atención! Si usa ambas  ***stripe\_payment\_method\_type** y  **stripe\_additional\_payment\_method\_type*** variavle&#x73;***, entonces los valores en ellas ¡DEBEN ser DIFERENTES!***
{% endhint %}

<details>

<summary><em><mark style="color:verde;"><strong>Lista de valores para</strong></mark><strong>  </strong><strong>stripe_payment_method_type</strong> y <strong>stripe_additional_payment_method_type</strong></em></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>

Puede obtener más información sobre cada uno de los métodos y para qué países están disponibles en la documentación de Stripe: [ver en el sitio ](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type)

### **Ejemplo de creación del enlace de pago**

Creemos un enlace de pago por un importe de 1000 rublos (por defecto, dólar)

<figure><img src="/files/679a9659fc986c85a6613e968f82be80e3e128dd" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Tenga en cuenta:** \
\- Primero indique parámetros opcionales  **first\_name, payment\_description** y así sucesivamente.\
\- Y al final asignamos el valor a la variable **payment\_sum**

Las variables también se pueden establecer antes en la cadena, y no en un solo bloque; esto es un ejemplo.
{% endhint %}

Luego, en el lugar necesario, mostramos la variable **stripe\_pay\_url**, que contiene el enlace en el bloque o en el botón:

Ejemplo 1. Mostramos el enlace de pago directamente en el mensaje:

<figure><img src="/files/076fb510c931c30b5a31031d7574ccc8435d23c3" alt=""><figcaption></figcaption></figure>

Pruebas en el bot:

<figure><img src="/files/3fbd64500eac7d1b7b790decec2a0cabdf280e84" alt="" width="563"><figcaption></figcaption></figure>

Ejemplo 2. Añadimos el enlace de pago a un botón:

<figure><img src="/files/552749a93107f5b21460709980f480c172f9fb3a" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/29e93734ee756e2d2b37ba7303139b4cbc7703df" alt="" width="563"><figcaption></figcaption></figure>

Ejemplo 3. Añadimos el enlace como adjunto al mensaje:

<figure><img src="/files/9d438172101bf415d0592eaf82daeb8551923430" alt=""><figcaption></figcaption></figure>

Pruebas en el bot:

<figure><img src="/files/2919e27b82734aafcb85d6d84aaa971a54df12f8" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="success" %}
Los tres варианты son válidos para enviar el enlace de pago en el bot.&#x20;
{% endhint %}

Al hacer clic en el botón o al seguir el enlace, su pagador será redirigido a la página de pago:

<figure><img src="/files/dfbee9893d6c5ba9b51c91124c686be96d760fde" alt=""><figcaption></figcaption></figure>

En el ejemplo se ve que se aplicaron los parámetros que indicamos en la calculadora en la configuración del bloque: descripción del pedido, moneda e importe.&#x20;

Si pasa el parámetro de tasa impositiva (**stripe\_tax\_id)** en el bloque:&#x20;

<figure><img src="/files/67535b9bfee31bb45adaa4b700cc58f4daa1db3e" alt=""><figcaption></figcaption></figure>

Entonces también se mostrará la tasa impositiva en el formulario de pago:

<figure><img src="/files/d54c0b8fba1ae8a6f4806078ac303b566204a1b9" alt=""><figcaption></figcaption></figure>

<details>

<summary>Ejemplo de código para copiar</summary>

`payment_description = 'Pago de prueba en Stripe'` \
`currency = 'RUB'` \
`stripe_tax_id = 'copie aquí su tax ID'` \
`payment_sum = 1000`

Dónde encontrar el tax ID:

<figure><img src="/files/233f3cee037f5c62c97db25a7001be6065c9d9e5" alt=""><figcaption></figcaption></figure>

</details>

## **Cómo configurar pagos recurrentes**

Para los pagos recurrentes (suscripciones), antes de declarar la variable **payment\_sum** declare la variable **stripe\_subscription** y asígnele el nombre de la suscripción.&#x20;

También puede añadir las siguientes variables: \
**interval** – duración del intervalo de suscripción; a esta variable debe pasar el valor **‘day’** - para días, **‘week’** - semanas, **‘month’** - meses, **‘year’** - años. \
Si la variable no se declara, entonces ***por defecto*** se pasará el parámetro **‘month’.**

{% hint style="warning" %}
**¡Importante!** La duración de un ciclo de suscripción no puede ser superior a 1 año (para el parámetro ‘year’), más de 12 meses (para el parámetro ‘month’), ni más de 52 semanas (para el parámetro ‘week’).
{% endhint %}

<figure><img src="/files/f4b5593702b5452d5968a7e344b77ece59af10b1" alt=""><figcaption></figcaption></figure>

**interval\_count** – número de intervalos especificados: cuántos días, semanas o meses habrá en la suscripción por la cantidad indicada. ***Por defecto*** se pasará un parámetro igual a uno (**1**);

**stripe\_payment\_method\_type** - método de pago; por defecto está seleccionado el pago con tarjeta (card). Puede reemplazarse por otros métodos de pago disponibles en Stripe. A continuación se indican los métodos disponibles.

Por ejemplo, `stripe_payment_method_type = 'customer_balance'`

**stripe\_additional\_payment\_method\_type** - añadir un método de pago adicional. A continuación se indican los métodos disponibles

Por ejemplo, `stripe_additional_payment_method_type  = 'sepa_debit'`

{% hint style="warning" %}
¡Importante! Si usa ambas variables ***stripe\_payment\_method\_type** y  **stripe\_additional\_payment\_method\_type, entonces los valores en ellas ¡DEBEN ser DIFERENTES!***
{% endhint %}

<details>

<summary><em><mark style="color:verde;"><strong>Lista de valores para</strong></mark><strong>  </strong><strong>stripe_payment_method_type</strong> y  <strong>stripe_additional_payment_method_type:</strong></em></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" %}
Para obtener más información sobre cada uno de los métodos y para qué países están disponibles, consulte la documentación de Stripe: ver el sitio web ссылка [ver en el sitio ](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type)
{% endhint %}

{% hint style="warning" %}
**¡Atención!** La duración de la suscripción no puede exceder 1 año (para el parámetro ‘year’), más de 12 meses (para el parámetro ‘month’), ni más de 52 semanas (para el parámetro ‘week’).
{% endhint %}

En este ejemplo, se creará una suscripción llamada 'My\_subscription' con un precio de 90 USD durante 3 meses y se realizará un pago recurrente por el mismo importe después de 1 mes:

<figure><img src="/files/4fa742d7ac3b2778536fc30006417122a1caf42e" alt=""><figcaption></figcaption></figure>

Un ejemplo para copiar:

`stripe_subscription = 'My_subscription'` \
`interval = 'month'` \
`interval_count = 3` \
`payment_sum = 90`&#x20;

Después del pago, el cliente tendrá **stripe\_subscription\_id** variables en las variables del trato, que serán necesarias para configurar la cancelación de la suscripción, y **stripe\_customer\_id**, que más adelante se puede usar para comprobar el estado de la suscripción.

{% hint style="warning" %}
¡La notificación (callback) se recibe solo en el primer pago recurrente!

NO HABRÁ callback para las llamadas repetidas. El control pasa por la función y el stripe\_customer\_id. [a través de la función](#proverka-statusa-podpiski) ссылка
{% endhint %}

<figure><img src="/files/781e8fd7948e49174d1610e8f8cac16a74537a97" alt="" width="371"><figcaption></figcaption></figure>

### Volver a la configuración de pagos regulares

Para volver a los pagos regulares, asigne a la variable de suscripción una cadena vacía **stripe\_subscription = "**. En este caso, las variables interval y interval\_count no afectarán a la creación del enlace.

<figure><img src="/files/5a64d62a28369ce0008daab80c75ea1925b35368" alt=""><figcaption></figcaption></figure>

### **Cancelación de la configuración de suscripción**

Para cancelar una suscripción en la calculadora, use el **stripe\_remove\_subscription(stripe\_subscription\_id)** método, donde **stripe\_subscription\_id** es el identificador que se guardó en la información del trato después del pago.

Esto le permitirá mantener activa su suscripción de pago hasta el final del período pagado actual, pero no se realizarán más cargos, y la suscripción se cancelará después de la fecha de vencimiento:

<figure><img src="/files/ad7503152349ab672af4d57d2dfd23d7cfac4423" alt=""><figcaption></figcaption></figure>

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

stripe\_remove\_subscription - Si tiene éxito, recibirá una respuesta con información sobre la fecha en la que la suscripción cancelada sigue siendo válida.

En este ejemplo, el resultado de la ejecución de la función se colocará en la variable answer y se podrá comprobar el resultado de la ejecución.&#x20;

### Comprobación del estado de la suscripción

**stripe\_check\_subscription(subscription\_id, customer\_id)**, donde

**stripe\_subscription\_id** - ID de la suscripción \
**stripe\_customer\_id** - ID del cliente en Stripe (parámetro opcional)

<figure><img src="/files/dab3b8010f19fa3b5e57114f1e7e3816e6edbdf6" alt=""><figcaption></figcaption></figure>

## Cómo crear un cupón y obtener un ID de descuento

Para obtener el ID del descuento, cree un cupón en su cuenta personal en la sección ”coupons”. ссылка ”[coupons](https://dashboard.stripe.com/coupons)”.

<figure><img src="/files/622ccc34f12eb1688711d173e026d9a9de0ec84d" alt=""><figcaption></figcaption></figure>

Después de hacer clic en el botón “New”, se abre una página donde debe especificar:

1. &#x20;Name — nombre del descuento;
2. ID — identificador que se genera automáticamente.
3. Type — tipo de descuento: porcentaje o cantidad fija
4. Duration — la duración del descuento (único o recurrente, por ejemplo, para suscripciones) y otros parámetros.

<figure><img src="/files/d8382ce64e2e4e8461438186650af58290350df1" alt=""><figcaption></figcaption></figure>

El cupón de descuento aparecerá en el “Product catalog“ en la sección “Coupons”, y podrá ver el ID del descuento entrando en el menú del cupón:

<figure><img src="/files/8d25f87aa64930344978db0a104f993801ed401a" alt=""><figcaption></figcaption></figure>

Haga clic en el cupón para copiar el ID del cupón:

<figure><img src="/files/8a2558192530bd1c80993292c7a4108da78117ff" alt=""><figcaption></figcaption></figure>

### Cómo añadir un descuento al pedido

1. Al generar un enlace de pago (tanto para suscripciones como para pagos únicos).

En la calculadora del bloque, antes de declarar la **payment\_sum** variable, establezca la **coupon\_id** variable asignándole el ID del descuento de la cuenta personal de Stripe.

<figure><img src="/files/93da2d3c372352df879f503d2faabd07e493d1de" alt=""><figcaption></figcaption></figure>

2. Para añadir a una suscripción existente usando el **stripe\_add\_subscription\_discount** función.

Establezca las condiciones para activar el bloque y llame a la función especificada en la calculadora, proporcionándole los parámetros stripe\_subscription\_id (id de suscripción) y coupon\_id (id del cupón de descuento). El descuento se aplicará a los pagos posteriores de la suscripción.

<figure><img src="/files/c8fc2a6ea27df733a01d9b9279e6149d9d63147c" alt=""><figcaption></figcaption></figure>

<details>

<summary>Ejemplo de código para copiar</summary>

`stripe_subscription = 'Suscripción premium'` \
`interval = 'month'` \
`payment_description = 'Pago de prueba en Stripe'` \
`currency = 'USD'` \
`coupon_id = 'ID de su cupón'` \
`stripe_add_subscription_discount(stripe_subscription_id, coupon_id)` \
`stripe_tax_id = 'ID del impuesto'` \
`payment_sum = 90`

</details>

Si se añade correctamente, la función devuelve un mensaje que indica el ID de la suscripción, el tipo, el importe o el porcentaje del descuento y también su fecha de vencimiento.

<figure><img src="/files/b847dc348aed625e7f9b49f20dd69161b0533f3b" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Para obtener más información sobre la creación de una suscripción, consulte la sección "Cómo configurar pagos recurrentes"  ссылка "[Cómo configurar pagos recurrentes](#kak-nastroit-rekurrentnye-platezhi)"
{% endhint %}

### Cómo eliminar/cambiar el descuento de la suscripción

El descuento adjunto a la suscripción puede eliminarse o sustituirse por otro descuento.

Si desea terminar el descuento, establezca una condición para activar el bloque y llame a la **stripe\_remove\_subscription\_discount** función en la calculadora, proporcionándole el **stripe\_subscrition\_id** parámetro (id de suscripción).

<figure><img src="/files/d6c26c8aa2485694fadb81775d0acd0553b3b794" alt=""><figcaption></figcaption></figure>

Al completarse correctamente la operación, la función devuelve un mensaje que contiene el ID de la suscripción y la fecha de cancelación del descuento.

La sustitución del descuento, así como la adición de uno nuevo, se realiza mediante **stripe\_add\_subscription\_discount** función. No olvide pasarle los **stripe\_subscription\_id** y **coupon\_id** parámetros.\
Una solicitud correcta actualizará el cupón adjunto a la suscripción y devolverá un mensaje con la información actual.

{% hint style="info" %}
Puede leer cómo obtener un ID de descuento en la sección "Cómo crear un cupón y obtener un ID de descuento".  ссылка "[Cómo crear un cupón y obtener ID de descuento](#kak-sozdat-kupon-i-poluchit-id-skidki)".
{% endhint %}

## Cómo procesar el resultado

Después de un pago exitoso, se enviarán callbacks al bot, lo que le hará saber que el pago fue exitoso. Verá estos callbacks en el sistema como mensajes del usuario, de modo que el usuario no pueda enviarlos; consisten en los primeros 20 caracteres de la clave secreta y el sufijo de éxito, por ejemplo: **sk\_live\_d35gky6d8ers\_success**&#x20;

<figure><img src="/files/1e0dd2699e6a2d36fc6afa41c278e7d607ee1a43" alt="" width="563"><figcaption></figcaption></figure>

Estos callbacks NO SON VISIBLES para el usuario, solo se muestran al operador.

El tipo de comparación debe ser "**Coincidencia exacta"**

Además, después de un pago exitoso, **stripe\_payment\_completed** variable se establece en **True.**

Por ejemplo, puedes procesar un pago exitoso en un bloque condicional y mostrar el mensaje correspondiente al usuario:

<figure><img src="/files/5631e8614da0c1097c6cca4b2a75d0ed06ce4001" alt=""><figcaption></figcaption></figure>

Después de completar el pago, la **stripe\_callback\_data** variable se añadirá al cliente, conteniendo los datos de la respuesta del sistema de pago sobre la transacción completada. Puede extraer los datos necesarios del diccionario resultante usando la **get** .

{% hint style="warning" %}
Para hacer un pago repetido, debe restablecer payment\_sum, el enlace generado previamente y luego reasignar la variable payment\_sum para obtener un nuevo enlace. Puede especificar el valor anterior.
{% endhint %}

## **Cómo probar los pagos**

Para probar la integración, puede usar la clave secreta del entorno de pruebas. Para ello, cambie al modo de prueba en la cuenta personal de Stripe usando el interruptor del menú derecho&#x20;

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

A continuación, realice la configuración descrita al principio de esta guía. Introduzca la clave secreta de prueba y añada la dirección del webhook al entorno de prueba.

El número de tarjeta de prueba

4242 4242 4242 4242\
cualquier fecha futura\
CVC - cualquier tres números

Si algo no funciona, compare los datos con los datos del sitio web oficial. ссылка[ en el sitio web oficial.](https://stripe.com/docs/testing#regulatory-cards)


---

# Agent Instructions: 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/es/pago/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.
