# Botón de pago

Un botón con la función de Pago simplifica el trabajo con sistemas de pago conectados al proporcionar un enlace de pago.

imagen

Tenga en cuenta que, en muchos mensajeros, los enlaces solo pueden colocarse en botones en línea dentro del texto. No olvides seleccionar el tipo de botón adecuado en la configuración del bloque después de crear el botón.

El botón de la función Pago está disponible para los siguientes sistemas de pago:

* Stripe

Dentro de un solo bloque, puedes crear botones de "Pago" para diferentes sistemas de pago con importes de pago distintos.

Si no hay sistemas de pago conectados al proyecto, este tipo de botón no estará disponible.

imagen

**Campos principales del botón de Pago:**

* **Campo de texto:** Este texto aparecerá en el botón con el enlace de pago en el mensaje.
* **Función:** Selecciona el tipo de botón **Pago**.
* **Campo de función:** Para crear un botón que proporcione un enlace de pago, elige **Pago** función.
* **Campo del sistema de pago:** La lista muestra los sistemas de pago conectados al proyecto.

Según el sistema de pago elegido, los campos requeridos para generar el enlace y crear el recibo variarán.

Puedes ver aquí la configuración del botón de la función Pago para diferentes sistemas de pago:

El **campos obligatorios para generar el enlace de pago** son **Importe** y **Nombre del producto/Descripción del producto**.

* **Campo de importe:** Introduce aquí el importe del pago.
* **Campo de nombre del producto:** Introduce el nombre del producto que se mostrará en la página de pago.

Comillas dobles **puedes** se use en el nombre del producto.

Puedes sustituirlas por apóstrofos o comillas simples.

Según el sistema de pago elegido, en la configuración del botón aparecerán menús desplegables llamados "Datos del recibo" y/o "Información adicional". Al hacer clic en ellos, se mostrarán campos adicionales:

imagen

### Variables al usar el botón de la función Pago <a href="#variables-when-using-the-payment-function-button" id="variables-when-using-the-payment-function-button"></a>

Tan pronto como el usuario reciba el bloque con el botón "Pago", se crean automáticamente las siguientes variables del cliente:

* **Variable de cliente del sistema `__payments`** – esta variable almacena el importe del pago y el identificador del enlace de pago generado. Se utiliza para identificar la respuesta del webhook del sistema de pago.

La variable de cliente del sistema `__payments` **no debe eliminarse ni modificarse**!

La variable de cliente `error_payment_button` se crea si ocurre un error al generar el botón de pago.

Su valor contendrá el mensaje de error o la respuesta de error devuelta por el sistema de pago.

Los valores de las variables se vuelven activos (actualizados) cuando el usuario pasa al siguiente bloque.

#### Cómo gestionar el resultado <a href="#how-to-handle-the-result" id="how-to-handle-the-result"></a>

**Pago exitoso**

Después de un pago exitoso, el bot recibirá un **callback** que consta de los primeros 10 caracteres de la clave secreta del sistema de pago, la palabra `_success`y el importe del pago separados por un espacio. Por ejemplo: **`ovg58keefc_success 44`**, donde:

* `ovg58keefc`: los primeros 10 caracteres de la clave secreta del sistema de pago
* `_success`: indica el resultado de la solicitud (pago exitoso)
* `44`: el importe del pago

Las devoluciones de llamada (notificaciones) del sistema de pago **no son visibles para el usuario**. Solo se muestran en la pestaña **Clientes** y son visibles para el **operador**.

**Ejemplo de uso:** **Paso 1.** En el bloque con el **Pago** botón, añade botones con el **Pago** función. **Paso 2.** En la **Condición de conexión** campo de este bloque al **Pago exitoso** bloque, especifica el **callback**. Esto funciona igual si especificas la devolución de llamada de pago exitoso en el **Campo de condición** del **bloque de comprobación de condición principal** .

¡Nota! Selección del tipo de coincidencia — **Coincidencia exacta** o **Coincidencia por palabra clave.**

Consejo útil

Para enviar una notificación sobre un pago exitoso al cliente sin interrumpir su avance por el embudo principal, crea **"Bloques sin estado con condiciones."**

**Pago con error**

Si ocurre un **error de pago**, el bot recibirá un **callback** que consta de los primeros 10 caracteres de la clave secreta del sistema de pago, la palabra `_fail`y el importe del pago separados por un espacio. Por ejemplo: `ovg58keefc_fail 44`, donde:

* `ovg58keefc`: los primeros 10 caracteres de la clave secreta del sistema de pago
* `_fail`: el resultado del procesamiento de la solicitud — pago fallido o con error
* `44`: el importe del pago

Depende del sistema de pago. **No todos los sistemas de pago envían una devolución de llamada para errores de pago.**

Si el importe especificado en la configuración del botón difiere de **el importe realmente pagado por el cliente**, el bot recibirá un **callback** que consta de los primeros 10 caracteres de la clave secreta del sistema de pago, la frase `_different_amounts`y un ID de pago único separados por un espacio. Por ejemplo: `ovg58keefc_different_amounts 123456`, donde:

* `ovg58keefc`: los primeros 10 caracteres de la clave secreta del sistema de pago
* `_different_amounts`: el resultado del procesamiento de la solicitud (el importe del pago difiere del importe del enlace)
* `123456`: ID de pago único


---

# 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/chatbot/builder/botones/boton-de-pago.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.
