- Registro rápido y confirmación del comerciante
- Registro de comerciante para personas físicas sin sitio web
- Porcentaje unificado para personas físicas y jurídicas – 2.5%
- Disponibilidad de Google Play y ApplePay
Cómo conectar
Para conectar el sistema de pago Wayforpay, necesitarás 3 valores:
- inicio de sesión del comerciante
- clave secreta del comerciante
- nombre de dominio del sitio web del comerciante.
Ve a tu cuenta personal -> configuración de la tienda https://m.wayforpay.com/mportal/merchant/list

Copia los datos y ve a la configuración en Mavibot.
Abre la sección "Adquirencia", selecciona wayforpay.

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

Para generar un enlace de pago, debes establecer el valor de la variable payment_sum (por ejemplo, 150 o 100.55, si el monto es fraccionario, entonces el monto se separa con un punto):

Inmediatamente después, aparecerá la variable wayforpay_pay_url. Esta variable se puede mostrar 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:

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

El enlace se ve así:
https://secure.wayforpay.com/invoice/id1bbb2ad0375
Por defecto, está configurado USD (dólares), si necesitas otra moneda, debes establecer el valor de la variable de moneda.
Además, antes de establecer el valor de la variable payment_sum, puedes 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 - Tiempo de vida 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 se ve la página de pago con un enlace.
Vamos a crear un enlace para el pago por un monto de 1 USD y un tiempo de vida de 2 horas:

Presta atención:
- Primero, especifica los parámetros opcionales product_name etc.
- Y por último, asigna el valor de la variable payment_sum.
Ten en cuenta que primero establecemos las variables para la configuración, luego payment_sum. Las variables se pueden establecer antes en la cadena, no en un solo bloque, esto es un ejemplo.
A continuación, en el siguiente bloque, mostramos la variable wayforpay_pay_url, que contiene un enlace (por ejemplo, un enlace en el texto):

El bot funcionará de la siguiente manera:

Cómo procesar el resultado
Después de un pago exitoso, se enviarán callbacks al bot, que te informarán que el pago fue exitoso. Ves 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 posfijo _success, por ejemplo: flk3409ref_success

Estos callbacks NO SON VISIBLES para el usuario, se muestran solo al operador.
El tipo de comparación debe ser "Coincidencia exacta"
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:


Si no deseas sacar al cliente del esquema principal del chatbot, usa el bloque "Estado sin condición". No puedes 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, usa el bloque "Condición de inicio", entonces el cliente se moverá del bloque de pago al bloque "Condición de inicio", desde donde puedes continuar el embudo.
Más información sobre los bloques condicionales se proporciona en el artículo del mismo nombre.
Después de que se complete el pago, se agregará al cliente la variable wayforpay_callback_data, que contiene los datos de la respuesta del sistema de pago a la transacción completada. Puedes extraer los datos necesarios del diccionario resultante usando el método 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.
Cancelación de pago recurrente
wayforpay_delete_recurrent() - cancela los pagos automáticos futuros del cliente. Devuelve "Ok" en caso de ejecución exitosa.

También puedes usar los bloques "Disparador de inicio" y "Estado" (el ejemplo usa los bloques "Estado sin condición" y "Sin estado").
Si no deseas sacar al cliente del flujo principal del chatbot, usa el bloque "Estado sin condición" — este bloque no se puede ingresar manualmente, por lo que el cliente permanecerá en el embudo principal después del pago mientras recibe una notificación de pago exitoso.
Si necesitas continuar el embudo basado en el pago exitoso, usa el bloque "Disparador de inicio". En este caso, el cliente se moverá del bloque de pago al bloque "Condición de disparador de inicio", desde donde puedes continuar el embudo.


