Cómo conectar
Para conectar el sistema de pago bePaid necesitarás el ID de la tienda, la clave secreta y la clave pública. Una vez obtenidos, pasamos a la configuración en MaviBot.
En MaviBot, abre la sección "Adquirencia", selecciona bePaid. Debes ingresar los datos obtenidos.

Ten en cuenta que el último campo es un interruptor para el alojamiento de la API según el país de uso: Bielorrusia o Rusia.

Cómo generar un enlace de pago
Para generar un enlace de pago, debes establecer el valor de la variable payment_sum (por ejemplo, 150 o 100.55 (¡con punto!)), inmediatamente después aparecerá la variable bepaid_pay_url. Esta variable se puede mostrar en pantalla como un enlace o colocarla en un botón con el texto "Pagar".
El enlace tiene el siguiente aspecto:
https://checkout.bepaid.by/widget/hpp.html?token=a05eabd3f9368725efbc175614c7d469da08f198cc51916b07fb75e53f9a3e1a
También, antes de establecer el valor de la variable payment_sum, se pueden definir las siguientes variables opcionales para configurar el pago.
Por defecto está configurado el Rublo bielorruso, si se necesita otra moneda, se debe establecer el valor de la variable currency
Después de completar el pago, al cliente se le agregará la variable bepaid_callback_data, que contiene los datos de respuesta del sistema de pago sobre la operación realizada. Del diccionario obtenido se pueden extraer los datos necesarios mediante el método get.
Cómo probar los pagos
Para realizar un pago de prueba, antes de especificar la variable payment_sum, debes definir la variable test_payments con cualquier valor.
¡No olvides eliminarla al poner el bot en modo producción!
Tarjetas para pruebas:
4200000000000000 success
4005550000000019 failed
Si algo no funciona, compara los datos con los del sitio oficial: https://docs.bepaid.by/ru/test-integration#test-card-number
Ejemplo de generación de enlace de pago
Creemos un enlace de pago por 100 rublos bielorrusos (moneda por defecto)
Ten en cuenta que primero se definen las variables adicionales para la configuración, luego payment_sum. Las variables se pueden definir antes en la cadena, no necesariamente en un solo bloque, esto es solo un ejemplo.
Luego, en el lugar deseado, mostramos la variable bepaid_pay_url, que contiene el enlace
Gestión de suscripciones
La integración del sistema de pago permite crear suscripciones para tus clientes.
Antes de comenzar a usar la funcionalidad de MaviBot, crea un plan de suscripción en tu cuenta personal de bePaid.
Si en tu cuenta personal no se muestra el menú "Planes" y "Suscripciones", contacta a tu gestor.
Creación de suscripción y obtención del enlace de pago
Usa la función get_bepaid_subscription_url, pasándole el parámetro plan_id, donde
Como resultado, la función creará una suscripción y devolverá un enlace para su pago.
Envía el enlace al cliente y espera a que se complete el pago.
Si el pago es exitoso, la suscripción se activará, se agregarán las variables bepaid_subscription_id y bepaid_subscription_status a la transacción, y se enviará un callback al bot (consulta la sección “Cómo procesar el resultado”).
Obtención de información sobre la suscripción
Para obtener los datos de la suscripción actual del cliente, llama a la función get_bepaid_subscription_info, pasándole el parámetro subscription_id (el valor se puede tomar de la variable bepaid_subscription_id).
Cancelación de la suscripción
Para cancelar la suscripción, usa la función cancel_bepaid_subscription.
Esta función acepta un único parámetro subscription_id (el valor se puede tomar de la variable bepaid_subscription_id).
Si la cancelación es exitosa, la variable bepaid_subscription_status tomará el valor “canceled”, y se enviará un callback al bot (consulta la sección “Cómo procesar el resultado”).
Estados de las suscripciones
Pagos recurrentes
También puedes organizar un sistema de suscripciones sin crear un plan en tu cuenta personal de bePaid.
Para ello, necesitarás el token de la tarjeta del cliente.
Para obtener el token de la tarjeta, el cliente debe realizar un pago de configuración a través del enlace generado con payment_sum.
Antes de establecer el valor de payment_sum, define la variable bepaid_contract, en la que indiques el propósito de los futuros pagos por token: “recurring” para pagos regulares con periodicidad definida o “card_on_file” para pagos irregulares (por ejemplo, pago posterior por un servicio prestado).
La opción “card_on_file” no es compatible con todos los adquirentes. Si deseas usarla, contacta a tu gestor de cuenta.
Después de un pago exitoso, se agregará a la transacción la variable bepaid_client_card_token, que almacenará el token de la tarjeta del cliente. Este token permite debitar fondos de la tarjeta del cliente sin su participación.
Luego, configura el embudo y establece la fecha o condición para el débito automático y llama a la función de la calculadora make_bepaid_token_payment, pasándole los parámetros necesarios.
Orden de los parámetros:
amount -> currency -> description -> contract
Descripción de los parámetros:
¡El valor de contract debe coincidir obligatoriamente con el valor especificado al crear el enlace para el pago de configuración!
Si el pago se realiza con éxito, la función devolverá el mensaje “Débito exitoso por token de bePaid”, recibirás un callback de pago exitoso y la variable de la transacción bepaid_token_payment_completed tomará el valor “True”.
Si el pago falla, la función devolverá un mensaje indicando el motivo del pago fallido, se enviará al bot un callback con el sufijo “_fail”, y la variable de la transacción bepaid_token_payment_completed tomará el valor “False”.
El banco puede solicitar que el cliente complete el pago. En ese caso, la función devolverá un enlace con una solicitud de autenticación 3-D Secure.
Cómo procesar el resultado
En respuesta a las acciones del cliente, se enviarán al bot callbacks compuestos por los primeros 20 caracteres de la clave secreta y un sufijo que depende del tipo y resultado de la operación.
En el sistema, el callback se ve como un mensaje de usuario, pero el usuario mismo no lo ve.
Para pagos
Como resultado de un pago no relacionado con una suscripción, recibirás uno de los siguientes mensajes:
númeroClave_success - para pago exitoso;
númeroClave_fail - para pago fallido;
El estado del último pago también se puede rastrear mediante las variables bepaid_payment_completed (para pagos con participación del cliente) y bepaid_token_payment_completed (para pagos sin aceptación por token de tarjeta)
Para suscripciones
Después de una activación exitosa de la suscripción en el primer pago o en pagos posteriores, se enviará al bot el mensaje númeroClave_success.
Si la suscripción fue cancelada, recibirás númeroClave_canceled.
En caso de un pago fallido de la suscripción, recibirás el mensaje númeroClave**_fail.**


