Wayforpay
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
Cómo conectar
Para conectar el sistema de pago wayforpay, necesitará 3 valores:
login del comerciante
clave secreta del comerciante
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

Copie los datos y vaya a la configuración en Mavibot.
Abra la sección "Adquisición", seleccione wayforpay.

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

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):

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:

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

El enlace se ve así:
https://secure.wayforpay.com/invoice/id1bbb2ad0375
Por defecto, USD (dólares) está establecido; si necesita otra moneda, debe establecer el valor de la variable de moneda.
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.
Creemos un enlace para el pago por un importe de 1 USD y una duración de 2 horas:

Presta atención: - Primero, especifique los parámetros opcionales product_name etc. - Y al final, asigne el valor de la payment_sum variable.
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):

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 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

Estos callbacks NO SON VISIBLES para el usuario, solo se muestran al operador.
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:


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.
Se proporciona más información sobre los bloques condicionales en el artículo del mismo nombre
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.
amount
importe del pago
currency
moneda. Predeterminado: UAH (los valores posibles: USD, EUR, RUB). Parámetro opcional.
session_timeout
vida útil del enlace en segundos. Predeterminado: 3600 (1 hora). Parámetro opcional.
product_name
nombre del producto. Parámetro opcional.
language
idioma de la página de pago. Predeterminado: UA (los valores posibles: RU, EN). Parámetro opcional.
buyer_name
nombre del cliente. Nombre opcional.
buyer_email
correo electrónico del cliente. Parámetro opcional.
regular_date_next
fecha de la próxima transacción automática. Predeterminado: un mes después de crear el enlace. Parámetro opcional.
regular_date_end
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.
regular_count
número de transacciones automáticas. Si se especifica, el parámetro regular_date_end se ignorará. Parámetro opcional.
regular_mode
intervalo de pago recurrente. Parámetro opcional. Valores posibles: - once - pago único - daily - diario - weekly - semanal - quarterly - cada 3 meses después de la fecha del primer pago - monthly - una vez al mes - bimonthly - una vez cada 2 meses - halfyearly - una vez cada 6 meses - yearly - una vez al año
Cancelación de pago recurrente
wayforpay_delete_recurrent() - cancela los futuros pagos automáticos del cliente. Devuelve "Ok" tras una ejecución exitosa.

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.
Última actualización