# Wayforpay

{% hint style="info" %}

* Registro rápido y confirmación del comerciante
* Registro de comerciante para personas sin sitio web
* Porcentaje unificado para personas físicas y jurídicas – 2.5%
* Disponibilidad de Google Play y ApplePay
  {% endhint %}

### **Cómo conectar**

Para conectar el sistema de pago wayforpay, necesitará 3 valores:

1. login del comerciante
2. clave secreta del comerciante
3. el nombre de dominio del sitio web del comerciante.

Vaya a su cuenta personal -> configuración de la tienda **<https://m.wayforpay.com/mportal/merchant/list>**

<figure><img src="/files/183ea12584ad265653288f241a7561f00f14a272" alt="" width="563"><figcaption></figcaption></figure>

Copie los datos y vaya a la configuración en Mavibot.

Abra la sección "Adquisición", seleccione wayforpay.

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

Debe ingresar los datos recibidos en el formulario que se abre:

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

Para generar un enlace de pago, debes establecer el valor de la **payment\_sum** variable (por ejemplo, 150 o 100.55; si el importe es fraccionario, entonces se separa con un punto):

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

Inmediatamente después de eso, aparecerá la **wayforpay\_pay\_url** variable. Esta variable puede mostrarse en el mensaje con un enlace o colocarse en el botón con el texto "Pagar":

Opción 1. El enlace de pago en el botón:

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

Opción 2. El enlace de pago está en el campo url del archivo adjunto:

<figure><img src="/files/0571523212d1c1873447373410f38ac53957b13e" alt=""><figcaption></figcaption></figure>

El enlace se ve así:

<https://secure.wayforpay.com/invoice/id1bbb2ad0375>

{% hint style="warning" %}
Por defecto, <mark style="color:rojo;">USD (dólares)</mark> está establecido; si necesita otra moneda, debe establecer el valor de la variable de moneda.
{% endhint %}

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

**currency** - es la moneda predeterminada del pedido, UAH (los valores posibles son USD, EUR, RUB)

**session\_timeout** - Vida útil del enlace en segundos, el valor predeterminado es 3600 (1 hora)

**product\_name** - nombre del producto

**language** - idioma de la página de pago, el valor predeterminado es UA (los valores posibles son RU, EN)\
\
**buyer\_name** - nombre del cliente

**buyer\_email** - correo electrónico del cliente

**buyer\_first\_name** - nombre del cliente

**buyer\_last\_name** - apellido del cliente

Así es como la página de pago tiene un enlace.

![Ejemplo de creación de un enlace de pago](https://lh6.googleusercontent.com/Qsm1KH-AI7U8pv_6AjddIF3rWTlidd-TCKepv0LtbxbpEHBL72YbrQ-Yzb-UvI64-ih_XVqb9kjVCRcix6B5rWFK-AWgNLEbHgsaLCZvMHXoH7xHmSrnsZz-qKB0wHH67M0u8gyR)

Creemos un enlace para el pago por un importe de 1 <mark style="color:rojo;">USD</mark> y una duración de 2 horas:

<figure><img src="/files/857aa6d273971f06c5ea16ee5501bde923e00375" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Presta atención:** \
\- Primero, especifique los parámetros opcionales  **product\_name** etc.\
\- Y al final, asigne el valor de la **payment\_sum** variable.
{% endhint %}

Tenga en cuenta que primero establecemos las variables para la configuración, luego payment\_sum. Las variables pueden establecerse antes en la cadena, en lugar de en un solo bloque; este es un ejemplo.

A continuación, en el siguiente bloque, mostramos la **wayforpay\_pay\_url** variable, que contiene un enlace (por ejemplo, un enlace en el texto):

<figure><img src="/files/095d0edde3f0594d387a79660fee7b61f8544edc" alt=""><figcaption></figcaption></figure>

El bot funcionará de la siguiente manera:

<figure><img src="/files/6228a759dee5b1883038f4c1ba8d57a7b4070bb1" alt="" width="563"><figcaption></figcaption></figure>

### Cómo procesar el resultado

Después de un pago exitoso, se enviarán callbacks al bot, que le informarán que el pago fue exitoso. Verá estos callbacks en el sistema como mensajes del usuario, para que el usuario no pueda enviarlos; consisten en los primeros 10 caracteres de la clave secreta y el sufijo \_success, por ejemplo:  **flk3409ref\_success**

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

{% hint style="info" %}
Estos callbacks NO SON VISIBLES para el usuario, solo se muestran al operador.
{% endhint %}

El tipo de comparación debe ser "Complete Match"

Además, después de un pago exitoso, la variable wayforpay\_payment\_completed 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/8664cde3ec0dde77c96c4d7286db0a7193c08463" alt=""><figcaption></figcaption></figure>

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

{% hint style="info" %}
Si no desea sacar al cliente del esquema principal del chatbot, use el bloque "Sin estado con una condición". No se puede ir a este bloque, por lo que el cliente no será sacado del embudo principal después del pago y recibirá una notificación de pago exitoso.

Y si necesitas continuar el embudo con una reacción a un pago exitoso, entonces usa el bloque "Condición de inicio", luego el cliente pasará del bloque de pago al bloque "Condición de inicio", desde el cual puedes continuar el embudo.
{% endhint %}

{% hint style="success" %}
Se proporciona más información sobre los bloques condicionales en el artículo del mismo nombre
{% endhint %}

Después de completar el pago, la **wayforpay\_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** .

## Funciones para trabajar con la calculadora

### Para pagos recurrentes

wayforpay\_recurrent\_payment(amount, currency, session\_timeout, product\_name, language, buyer\_name, buyer\_email, regular\_date\_next, regular\_date\_end, regular\_count, regular\_mode) - genera un enlace para un pago recurrente.&#x20;

<table><thead><tr><th width="303.85546875">Parámetro</th><th>Descripción</th></tr></thead><tbody><tr><td>amount</td><td>importe del pago</td></tr><tr><td>currency</td><td>moneda. Predeterminado: UAH (los valores posibles: USD, EUR, RUB). Parámetro opcional.</td></tr><tr><td>session_timeout</td><td>vida útil del enlace en segundos. Predeterminado: 3600 (1 hora). Parámetro opcional.</td></tr><tr><td>product_name</td><td>nombre del producto. Parámetro opcional.</td></tr><tr><td>language</td><td>idioma de la página de pago. Predeterminado: UA (los valores posibles: RU, EN). Parámetro opcional.</td></tr><tr><td>buyer_name</td><td>nombre del cliente. Nombre opcional.</td></tr><tr><td>buyer_email</td><td>correo electrónico del cliente. Parámetro opcional.</td></tr><tr><td>regular_date_next</td><td>fecha de la próxima transacción automática. Predeterminado: un mes después de crear el enlace. Parámetro opcional.</td></tr><tr><td>regular_date_end</td><td>fecha de finalización de la transacción automática. Predeterminado: un año después de crear el enlace. Puede omitirse si se especifica el parámetro regular_count. Parámetro opcional.</td></tr><tr><td>regular_count</td><td>número de transacciones automáticas. Si se especifica, el parámetro regular_date_end se ignorará. Parámetro opcional.</td></tr><tr><td>regular_mode</td><td>intervalo de pago recurrente. Parámetro opcional. Valores posibles: <br>- once - pago único<br>- daily - diario<br>- weekly - semanal<br>- quarterly - cada 3 meses después de la fecha del primer pago<br>- monthly - una vez al mes<br>- bimonthly - una vez cada 2 meses<br>- halfyearly - una vez cada 6 meses<br>- yearly  - una vez al año</td></tr></tbody></table>

### Cancelación de pago recurrente

wayforpay\_delete\_recurrent() - cancela los futuros pagos automáticos del cliente. Devuelve "Ok" tras una ejecución exitosa.

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

{% hint style="success" %}
También puede usar los bloques "Disparador inicial" y "Estado" (el ejemplo usa los bloques "Sin estado con condición" y "Sin estado").

Si no desea eliminar al cliente del flujo principal del chatbot, use el bloque "Sin estado con condición" — este bloque no se puede ingresar manualmente, por lo que el cliente permanecerá en el embudo principal después del pago y seguirá recibiendo una notificación de pago exitoso.

Si necesita continuar el embudo basándose en el pago exitoso, use el bloque "Disparador inicial". En este caso, el cliente pasará del bloque de pago al bloque "Condición del disparador inicial", desde el cual puede continuar el embudo.
{% endhint %}


---

# 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/wayforpay.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.
