Robokassa (KZ)
Cómo configurar Robokassa
Veamos cómo implementar la recepción de pagos en el bot a través del servicio Robokassa.
Cree una tienda en línea en el panel personal del servicio Robokassa e indique los datos de configuración técnica:
- Algoritmo de cálculo del hash: MD5 - URL de resultado: https://chatter.mavibot.ai/robokassa_callback/result - Método de envío de datos por la URL de resultado: GET - URL de éxito: https://chatter.mavibot.ai/robokassa_callback/success - Método de envío de datos por la URL de éxito: GET - URL de fallo: https://chatter.mavibot.ai/robokassa_callback/fail - Método de envío de datos por la URL de fallo: GET

Cree contraseñas de prueba y realice la configuración inicial en modo de prueba.
¿Cómo conectar Robokassa a MaviBot?
Vaya a la sección "Procesamiento de pagos" y haga clic en "Conectar" en el bloque de Robokassa:

y complete el formulario en la ventana que se abre:
El campo Identificador de tienda — Shop ID, que puede encontrar en la configuración de la tienda en el panel personal de Robokassa.
Las contraseñas #1 y #2 son secuencias únicas generadas de números y letras.
el campo Tasa de IVA. Es necesario indicar el código adecuado para transmitir el valor del IVA. Este campo establece la tasa impositiva en la KKT. Se determina para cada tipo de producto por separado, pero para todas las unidades de un producto concreto en conjunto.
Se utiliza con los valores:
Sin IVA.
IVA al 0%.
IVA al 5%
IVA del recibo al tipo calculado del 12%.
IVA del recibo al tipo calculado del 16%.
Cómo generar un enlace de pago
Generar un enlace de pago en el bloque se puede UNA DE las formas disponibles:
Creación de un enlace mediante la variable payment_sum y parámetros adicionales (versión obsoleta que sigue funcionando)
Botón con la función Pago
Se puede crear el enlace de pago en un botón con la función "Pago".
Aquí explicamos cómo crear un botón con la función "Pago"
Veamos todos los parámetros posibles de este botón. Sobre cómo crear un botón con la función Pago se explica en este artículo:
Parámetros obligatorios del botón Pago
Para generar un enlace de pago en la configuración del botón es necesario indicar parámetros obligatorios: Importe y Nombre del producto.

el campo Importe. En este campo indicamos el precio del producto en rublos
campo Nombre del producto. En este campo solo se pueden usar caracteres del alfabeto inglés o ruso, números y signos de puntuación. La longitud máxima es de 100 caracteres. Esta información se muestra en la interfaz de Robokassa y en el Recibo Electrónico que recibe el cliente después de un pago exitoso.
NO SE PUEDE usar comillas dobles en el nombre del producto: elimínelas o sustitúyalas por comillas simples.
casilla de verificación Pago recurrente. Para conectar el pago recurrente
casilla de verificación Notificación de clic. Para rastrear la transición al enlace de pago, puede marcar la casilla. En ese caso, al hacer clic en el botón, en el diálogo con el cliente en SaleBot llegará una notificación de que se ha seguido el enlace
A esta notificación se le puede configurar la lógica posterior del bot.
Muchas pasarelas de pago admiten cajas registradoras en la nube, necesarias según la ley 54-FZ. Lea las particularidades de la emisión de recibos en el sitio web de la pasarela de pago elegida para no meterse en una situación incómoda con la inspección fiscal.
Para generar un recibo
menú Datos para generar el recibo. Al hacer clic se abrirá un menú desplegable con los parámetros para generar el recibo:

campo Nombre del producto. Obligatorio para generar el recibo.
NO SE PUEDE usar comillas dobles en el Nombre del producto: elimínelas o sustitúyalas por comillas simples.
campo Importe total en rublos. En este campo es necesario indicar el importe a pagar teniendo en cuenta la cantidad de productos. Si la cantidad es 1, entonces el Importe total en rublos es igual al valor del campo Importe en el campo obligatorio de configuración del botón
campo Cantidad. Cantidad o peso del producto. Se puede transmitir un número entero o decimal con punto. Ejemplo, 5 o 10.3
Variables del cliente que se crearán automáticamente al usar el botón con la función Pago
En cuanto el usuario reciba el bloque con el botón "Pago", se crearán automáticamente las variables del cliente:

Variable de servicio del cliente __payments , que almacena el importe y el identificador del enlace creado; es necesaria para identificar el webhook de la pasarela de pago.
¡La variable de servicio del cliente __payments NO SE PUEDE eliminar ni modificar!
Variable del cliente error_payment_button se crea si se produjo un error al generar el botón.
En el valor de la variable error_payment_button se escribirá el texto del error o la respuesta de la pasarela de pago con error.
Los valores de las variables se vuelven actuales al pasar al siguiente bloque
Cómo procesar el resultado
¡Atención!
Robokassa envía una notificación solo de las transacciones exitosas mediante el parámetro Result URL. En el servicio Robokassa no hay callbacks de pagos fallidos.
Fail URL es solo la página de pago fallido a la que se redirigirá al pagador en caso de que se produzca un error de código en la página de pago.
Pago exitoso.
Después de configurar correctamente el pago y generar el enlace para realizarlo, pruebe la configuración creada. Si el pago se realiza con éxito, en el diálogo del cliente (sección "Clientes") AUTOMÁTICAMENTE llegará un CALLBACK, compuesto por 10 caracteres de la clave secreta de la pasarela de pago, la palabra _success y, separado por un espacio, el importe del pago. El callback se genera automáticamente, no hace falta redactarlo usted mismo ni solicitarlo al soporte de la pasarela de pago,


Por ejemplo: ovg58keefc_success 2999, donde:
ovg58keefc : 10 caracteres de la clave secreta de la pasarela de pago
_success : resultado del procesamiento de la solicitud (pago exitoso)
2999 : importe del pago
Procesamiento del bloque:

Callback:

El usuario NO VE los callbacks (notificaciones) de la pasarela de pago. Se muestran solo en la pestaña "Clientes" y son visibles para el operador/administrador.
Ejemplo de configuración de la reacción al callback
En el bloque con condición (puede ser tanto el bloque "Condición inicial" como el bloque "Estado no con condición") es necesario indicar el callback que llega al pagar.
Importante: la elección de coincidencia Coincidencia exacta o Por presencia de palabras clave

Después, al pagar, el cliente recibirá un mensaje del bloque en el que está configurada la reacción al callback:

Pago con error
Si el importe indicado en la configuración del botón difiere del importe que el cliente pagó, en el bot AUTOMÁTICAMENTE llegará un CALLBACK, compuesto por 10 caracteres de la clave secreta de la pasarela de pago, la palabra _different_amounts y, separado por un espacio, el ID único del pago
Por ejemplo: ovg58keefc_different_amounts 123456 , donde:
ovg58keefc : 10 caracteres de la clave secreta de la pasarela de pago
_different_amounts : resultado del procesamiento de la solicitud (el importe del pago difiere del importe del enlace)
123456 : ID único del pago
Función get_robokassa_payment_url en la Calculadora
Para generar un enlace de pago puede usar la función get_robokassa_payment_url en el bloque Calculadora.
En el campo Calculadora asignamos a la variable el valor de la función get_robokassa_payment_url
Usted asigna el nombre de la variable por su cuenta. En las capturas se muestran ejemplos de nombres de variables.
En esta variable se escribirá el enlace de pago. La variable se puede mostrar en pantalla como enlace en un mensaje o colocar en un botón con el texto "Pagar".
EJEMPLO de enlace de pago:: https://auth.robokassa.ru/Merchant/Index.aspx?MerchantLogin=test_salebot&OutSum=800&InvId=1412&IsTest=1&SignatureValue=0427369c3bd068bae30935f896060dda
Muchas pasarelas de pago admiten cajas registradoras en la nube, necesarias según la ley 54-FZ. Lea las particularidades de la emisión de recibos en el sitio web de la pasarela de pago elegida para no meterse en una situación incómoda con la inspección fiscal.
Ejemplo 1:

get_robokassa_payment_url(amount, description, products_for_receipt, recurrent, currency)
Parámetros de la función:
amount
Importe a pagar. En este campo indicamos el precio del producto en rublos.
(Parámetro obligatorio)
description
Nombre del producto. En este campo solo se pueden usar caracteres del alfabeto inglés o ruso, números y signos de puntuación. La longitud máxima es de 100 caracteres. Esta información se muestra en la interfaz de Robokassa y en el Recibo Electrónico que recibe el cliente después de un pago exitoso. (Parámetro obligatorio)
products_for_
receipt
Parámetros para generar recibos.
Lea más aquí.
recurrent
Conexión del pago recurrente. Si el pago recurrente está activado, transmita el valor 1; si está desactivado, transmita el valor None
currency
Código de moneda de tres letras.
Es necesario transmitir el valor estrictamente según los parámetros aceptados por el servicio Robokassa. USD - dólar; EUR - euro; KZT - tenge.
Ejemplo 1: enlace de pago sin recibo
res = get_robokassa_payment_url(100, 'Cómprame')
Ejemplo 2: enlace de pago con recibo
receipt = [{"name":"DDDDDDDD","amount":"44","quantity":"1","vat_code":"5","method":"full_payment","object":"commodity"}]
res = get_robokassa_payment_url(100, 'Cómprame', receipt, '3', 1, 1)
La variable se puede mostrar en pantalla como enlace en un mensaje o colocar en un botón con el texto, por ejemplo, "Comprar".
Si en el bloque hay varias funciones para obtener el enlace y se produce un error, el valor del error se escribirá en la variable error_payment_func
El error se escribirá en la última función en la Calculadora
Después de configurar correctamente el pago y generar el enlace para realizarlo, pruebe la configuración creada.
Cómo añadir una descripción al pago
Puede añadir una descripción al pago estableciendo la variable payment_description

Esta descripción se mostrará en el formulario de pago, así como en el recibo.
Cómo procesar el resultado
Si el pago se realiza con éxito, en el diálogo del cliente (sección "Clientes") AUTOMÁTICAMENTE llegará un CALLBACK, compuesto por 10 caracteres de la clave secreta de la pasarela de pago, la palabra _success y, separado por un espacio, el importe del pago. El callback se genera automáticamente, no hace falta redactarlo usted mismo ni solicitarlo al soporte de la pasarela de pago,
Por ejemplo: ovg58keefc_success 1500, donde:
ovg58keefc : 10 caracteres de la clave secreta de la pasarela de pago
_success : resultado del procesamiento de la solicitud (pago exitoso)
1500 : importe del pago
¡Atención!
El callback solo es visible para usted en el diálogo con el cliente.
El cliente no ve el callback, pero usted puede configurar la reacción al procesamiento exitoso del pago.
Ejemplo
Configuración del bloque con la función get_robokassa_payment_url:
Si muestra el enlace en el texto:

¡Importante!
El enlace de pago es único: ¡no se puede copiar y luego enviarlo a otros clientes!
Envíe el enlace de pago a través de una variable en el bot (véase la fig. 17).
Callback en caso de pago exitoso:

Enlace en el botón:

Procesamiento del bloque:

Callback en caso de pago exitoso:

Creación de un enlace mediante la variable payment_sum y parámetros adicionales
También puede aceptar pagos generando un enlace con la variable payment_sum, en la que basta con indicar el importe del pago.
Tenga en cuenta: la variable payment_sum recibe el valor en último lugar, después de las variables opcionales payment_description, product_name etc.
Para generar un enlace de pago, debe establecer el valor de la variable payment_sum, inmediatamente después aparecerá la variable robokassa_pay_url. Esta variable se puede mostrar en pantalla como enlace o colocar en un botón con el texto "Pagar".

EJEMPLO de funcionamiento de los bloques (enlaces de pago):

¡Importante!
El enlace de pago es único: ¡no se puede copiar y luego enviarlo a otros clientes!
Envíe el enlace de pago a través de una variable en el bot
Para pasar el enlace en el botón, indique la variable en el botón en el campo url:

Resultado del pago al generar el enlace de pago a través de payment_sum
Después de un pago exitoso, llegará un callback al bot. En el sistema usted ve este callback como un mensaje del usuario; para que el usuario no pueda enviarlo, estos constan de la primera contraseña del servicio Robokassa y el añadido con el estado success, por ejemplo: qxgZ7zkNX4HHnG8UpZ61_success.

Además, después de un pago exitoso la variable robokassa_payment_completed se establece en True.
Este callback NO VE el usuario, se muestran solo al operador
El tipo de coincidencia debe ser "Coincidencia exacta"
Para realizar un pago repetido, es obligatorio poner a cero payment_sum, el enlace generado previamente y solo después reasignar la variable payment_sum para obtener un enlace nuevo Ejemplo de reinicio de variables: robokassa_pay_url='' payment_sum=0
Después de finalizar el pago se añadirá al cliente la variable robokassa_callback_data, que contiene los datos de respuesta de la pasarela de pago sobre la operación realizada. Del diccionario obtenido se pueden extraer los datos necesarios mediante el método get.
Cómo crear un esquema de prueba
Ejemplo de esquema que permitirá probar y empezar rápidamente a trabajar con el servicio Robokassa:

En la imagen se muestra un ejemplo del primer bloque, en el que se pregunta al usuario cuánto quiere pagar.
En la imagen de abajo están los ajustes de la flecha; en ella debe estar activado el interruptor "El usuario introduce datos" y en el campo debe estar escrita la variable payment_sum:

Luego, en el siguiente bloque de pago, añada un botón y establezca en la línea url la variable robokassa_pay_url:


El esquema funcionará de la siguiente manera:

Al hacer clic en el botón, el importe que indicó el cliente estará disponible para el pago.
Después del pago llegará un callback, sobre el cual también se puede configurar una reacción.

¡Importante!
No existe un callback de pago fallido en Robokassa.
Para ello, añada otro bloque con condición y, en la línea de condición, escriba un callback del tipo "qxgZ7zkNX4HHnG8UpZ61_success":

El tipo de comprobación debe establecerse obligatoriamente en "Coincidencia exacta"
El esquema funcionará de la siguiente manera:

Cómo generar una solicitud de fiscalización
En el botón con la función “Pago”
Al crear el botón, en el menú desplegable “Datos para generar el recibo”, complete los campos “Nombre del producto”, “Importe total en rublos”, “Cantidad”, “Tasa de IVA”, “Sistema de tributación”.

Más detalles en la sección "Para generar un recibo".
Con la ayuda de la variable payment_sum
Como la generación del enlace se realiza en el momento en que estableció el valor de la variable payment_sum, debe definir las variables products_for_receipt y robokassa_sno.
Importante:
al generar el enlace mediante la variable payment_sum, el sistema de tributación se establece en la variable robokassa_sno.
payment_sum debe ser igual al coste total de todos los productos (la suma de todos los parámetros sum).
Ejemplo:
session_timeout = 7200
product_name = Primer pago
robokassa_sno = osn
products_for_receipt = [{"name": "Nombre del producto", "quantity": 2, "sum": 2, "tax": "none"}, {"name": "Nombre del producto 2", "quantity": 1, "sum": 6, "tax": "none"}]
payment_sum = 10
Para las funciones get_robokassa_payment_url y robokassa_recurrent_payment
Al llamar a las funciones get_robokassa_payment_url o a la función robokassa_recurrent_payment pase como argumentos las variables taxation y products_for_receipt según la descripción de abajo.
Las funciones prepararán un enlace teniendo en cuenta la nomenclatura de productos y generarán una solicitud de fiscalización.
Importante:
Las variables taxation y products_for_receipt deben definirse para cada pago individual.
El servicio Robokassa no almacena estos parámetros y no podrá fiscalizar los pagos para los que no se haya enviado la nomenclatura.
products_for_receipt - un array que contiene la nomenclatura de productos.
Cada unidad de producto debe representarse como un diccionario que contenga los parámetros name, quantity, sum, tax, payment_method, payment_object y nomenclature_code.
! products_for_receipt deben indicarse en el siguiente formato:
[
{"name": "Nombre del producto", "quantity": "Cantidad del producto", "sum": "Coste del producto", "tax": "Tasa de IVA"},
{"name": "Nombre del producto 2", "quantity": "Cantidad del producto 2", "sum": "Coste del producto", "tax": "Tasa de IVA"}
]
donde,
1) name - nombre del producto. Si en el nombre del producto utiliza caracteres especiales, por ejemplo comillas, es obligatorio escaparlos.
2) quantity - cantidad o peso del producto (número entero o decimal con punto)
3) sum o amount (obligatorio, dos variantes del nombre) - importe total en rublos de toda la cantidad de este producto, teniendo en cuenta todos los descuentos, bonificaciones y precios especiales posibles.
4) tax o vat_code - (obligatorio, dos variantes del nombre, el valor depende del nombre) - tasa de IVA. Este parámetro establece la tasa impositiva en la KKT.
none
sin IVA
vat0
IVA al 0%
vat5
IVA al 5%
vat12
IVA al 12%
vat16
IVA al 16%
'1'
Sin IVA
'2'
IVA al 0%
'8'
IVA al 5%
'15'
IVA al 12%
'14'
IVA al 16%
5) method o payment_method - (dos variantes del nombre, parámetro opcional) indicador del método de cálculo.
full_prepayment
prepago del 100%. Pago anticipado completo antes de la entrega del objeto del cálculo
prepayment
prepago. Pago anticipado parcial antes de la entrega del objeto del cálculo
advance
anticipo
full_payment
pago completo. Pago íntegro, incluido el anticipo (pago previo) en el momento de la entrega del objeto del cálculo;
partial_payment
pago parcial y crédito. Pago parcial del objeto del cálculo en el momento de su entrega con posterior pago a crédito;
credit
entrega a crédito. Entrega del objeto del cálculo sin pago en el momento de su entrega con posterior pago a crédito;
credit_payment
pago del crédito. Pago del objeto del cálculo después de su entrega con pago a crédito (pago del crédito).
6) object o payment_object - (dos variantes del nombre, parámetro opcional) objeto del cálculo (si no se envía, será commodity (mercancía))
commodity
Mercancía. Sobre el bien vendido, excepto el bien sujeto a impuestos especiales (nombre y otros datos que describen el bien)
excise
Bien sujeto a impuestos especiales. Sobre el bien sujeto a impuestos especiales vendido (nombre y otros datos que describen el bien)
job
Trabajo. Sobre el trabajo realizado (nombre y otros datos que describen el trabajo)
service
Servicio. Sobre el servicio prestado (nombre y otros datos que describen el servicio)
gambling_bet
apuesta de juego de azar. Sobre la aceptación de apuestas al realizar actividades de juegos de azar
gambling_prize
premio de juego de azar. Sobre el pago de fondos en forma de premio al realizar actividades de juegos de azar
lottery
billete de lotería. Sobre la recepción de fondos al vender billetes de lotería, billetes electrónicos de lotería, recepción de apuestas de lotería al realizar actividades de lotería
lottery_prize
premio de lotería. Sobre el pago de fondos en forma de premio al realizar actividades de lotería
intellectual_activity
prestación de resultados de actividad intelectual. Sobre la concesión de derechos de uso de resultados de actividad intelectual o medios de individualización
payment
pago. Sobre anticipo, señal, prepago, crédito, aporte a cuenta del pago, recargo por mora, multa, remuneración, bonificación y otro objeto de cálculo similar
agent_commission
remuneración de agencia. Sobre la remuneración del usuario que sea agente de pagos (subagente), agente bancario de pagos (subagente), comisionista, mandatario u otro agente;
composite
objeto de cálculo compuesto. Sobre un objeto de cálculo que consta de objetos, a cada uno de los cuales se le puede asignar el valor de los signos enumerados anteriormente
another
otro objeto de cálculo. Sobre un objeto de cálculo que no pertenece a los objetos de cálculo enumerados anteriormente
property_right
derecho patrimonial
non-operating_gain
ingreso no operativo
insurance_premium
cotizaciones de seguro
sales_tax
tasa comercial
resort_fee
tasa turística
7) nomenclature_code - (condicionalmente obligatorio) marcación del producto: se transmite tal como está impresa en el embalaje del producto.
El parámetro es obligatorio solo para aquellas tiendas que venden productos sujetos a etiquetado obligatorio.
El código de marcación está situado en el embalaje del producto, junto al código de barras o en forma de código QR.
¡Importante! Para la fiscalización es importante enviar los parámetros del recibo.
El formato correcto del recibo se transmite así:
rec = [{"name": "Paquete 1 mes", "quantity": 1, "sum": 4800, "tax": "none"}]
response = robokassa_recurrent_payment(4800, 'Formación en la escuela de vuelo Aviator', 'ru', rec, 'osn')
donde debes sustituir tus propios datos.
Generación del recibo al recibir el pago en Cursos en la página del curso
Debes seleccionar en la sección "Pago" en la configuración del curso el sistema de pago Robokassa:

Completa en la sección "Adquisición" en la configuración del sistema de pago (si no lo has hecho antes) el campo "Tipo de IVA".

Qué errores puede haber
Código de error 40
«No es posible repetir el pago de una factura con el mismo número».
Después de un pago exitoso, es necesario trasladar el diálogo al bloque "Fin de recopilación de datos", para que se genere un nuevo número de pago.
Código de error 34
«El servicio de pagos recurrentes no está permitido para la tienda».
Código de error 31
«Importe de pago incorrecto».
Tal error puede surgir al redirigir al cliente a la página de pago para emitir una factura. Significa que no nos estás transmitiendo el importe por el que se debe realizar el pago, o transmites un importe igual a cero.
Código de error 29
«Parámetro Signature incorrecto»
Aquí las causas pueden ser varias, pero todas están relacionadas con el script responsable de la inicialización del pago (más concretamente, su parte que forma el parámetro Signature según una fórmula compuesta por variables). Este error aparece con bastante frecuencia, y estas son 3 posibles causas:
Primera: Identificador de tienda incorrecto (MerchantLogin);
Segunda: contraseña 1 incorrecta (MerchantPass1);
Tercera: utilizas parámetros adicionales (shp_), que están añadidos al código del módulo de cobro, pero no se han incluido en la fórmula de cálculo, o viceversa, en la fórmula de cálculo están indicados, pero en el código no. Si se utilizan, envíalos en orden alfabético, tanto en los parámetros de pago como en la fórmula de cálculo de Signature.
¡Momento importante! Si trabajas en modo de prueba, enviando el parámetro IsTest=1 o activándolo con una casilla en la configuración del módulo/bot, usa solo la pareja de contraseñas técnicas de prueba (pestaña «Configuración técnica» de la ficha de tu tienda).
Código de error 23
«No se puede crear un pago de prueba. La tienda no tiene configurados los parámetros de prueba».
Esto significa que, antes de realizar un pago de prueba, no has completado todos los datos necesarios en el bloque «Parámetros para realizar pagos de prueba» de la pestaña «Configuración técnica».
Código de error 25
«La tienda no está activada».
Este error aparece con bastante frecuencia, y aquí pueden existir 2 causas.
Primera: es realmente así, y es necesario activar la tienda, y solo después emitir la factura.
Segunda: has indicado incorrectamente el Identificador de tienda en la configuración técnica del sitio. El correcto puedes verlo en la sección «Mis tiendas» del Área personal. Ve a la pestaña «Configuración técnica» y encuentra el campo «Identificador de tienda». Copia el identificador e introdúcelo en la configuración del sitio.
Cómo realizar pagos automáticos del servicio Robokassa
Instrucción paso a paso para conectar los autopagos del servicio Robokassa
Paso 1. Activar autopagos en el botón de pago
Ve a la configuración del bloque en el que das el enlace de pago y entra en la configuración del botón:

Luego, en la configuración del botón, encuentra la casilla "Autopagos" y actívala:

Si quieres aceptar autopagos en todos los botones de pago, puedes activarlos en la configuración de conexión del sistema de pago:

Paso 2. Realizar un pago normal. Después hay que realizar un pago normal (obtener el enlace de pago y que el cliente lo pague), como se describe arriba. Después de un pago exitoso, el cliente tendrá la variable robokassa_previous_invoice_id con el identificador del pago.
La variable robokassa_previous_invoice_id es obligatoria para los pagos posteriores. Si la eliminas, el siguiente autopago NO podrá realizarse.
¡Atención!
Desactiva la casilla "Pagos en modo de prueba" (si la tienes activa), de lo contrario no se generará la variable robokassa_previous_invoice_id con el identificador del pago.


Paso 3. Programar el cobro automático
Desde el bloque Pago exitoso programamos una flecha con temporizador hacia el bloque con el autopago. A modo de ejemplo, programemos el siguiente pago dentro de 30 días.

Para que el autopago se ejecute en el bloque deseado, en el campo Calculadora hay que añadir la llamada a la función robokassa_recurrent_payment, pasándole los parámetros en el orden indicado:
payment_amount - importe a pagar (precio del producto en rublos)
description - nombre del producto. En este campo solo se pueden usar caracteres del alfabeto inglés o ruso, cifras y signos de puntuación. La longitud máxima es de 100 caracteres. Esta información se muestra en la interfaz de Robokassa y en el Recibo Electrónico que recibe el cliente después de un pago exitoso.
country - zona de dominio (‘ru’ o ‘kz’)
products_for_receipt - parámetros para generar recibos.
Más detalles en la sección "Cómo generar una solicitud de fiscalización -> Para las funciones get_robokassa_payment_url y robokassa_recurrent_payment
taxation - sistema de tributación.
Más detalles en la sección "Cómo generar una solicitud de fiscalización -> Para las funciones get_robokassa_payment_url y robokassa_recurrent_payment
Ejemplo de solicitud de autopago:

Al realizar el autopago no debe haber enlace de pago de Robokassa ni la variable payment_sum!
Paso 4. Programamos cobros regulares y configuramos la posibilidad de cancelar los autopagos. Para la repetición regular del pago programamos un bucle: una flecha con retardo, por ejemplo, de 30 días.

Si tienes prevista la posibilidad de cancelar los autopagos, entonces para que el siguiente pago no se ejecute es necesario eliminar del cliente la variable robokassa_previous_invoice_id
Para ello, en el campo Calculadora eliminamos la variable:
robokassa_previous_invoice_id = ""

Pago normal con autopagos activados
Si los autopagos están activados, pero hace falta un enlace sin suscripción (sin autopagos), entonces antes de generar el enlace hay que establecer la variable robokassa_manual_recurrent_disable con el valor 1
En el campo Calculadora declaramos la variable:
robokassa_manual_recurrent_disable = 1

¡Atención!
El callback en los autopagos es idéntico al callback que llega en los pagos exitosos.
Cómo configurar la reacción al callback, lo contamos en la sección "Cómo procesar el resultado"
Qué requisitos tiene el servicio Robokassa para los chatbots
Respuesta oficial del servicio Robokassa:
Puedes colocar un producto en el mercado con una descripción y un precio y aceptar el pago en el bot; puedes hacer una landing de una sola página con descripción, precio, datos de contacto e indicando que la entrega del producto/prestación del servicio es electrónica. Debe haber una vinculación con el producto en el mercado o con el sitio web, porque no podemos saber qué vendes en tu bot ni en qué bot estamos.
No incluimos el enlace al canal de Telegram como URL. También los requisitos para el contenido del sitio: "El sitio debe funcionar, con contenido completo, enlaces internos operativos.
Los productos y servicios de tu sitio web deben estar descritos en detalle: la descripción debe incluir las características de los bienes y servicios ofrecidos, sus propiedades de consumo y el precio actual.
En tu sitio web debe figurar información actualizada: teléfono, e-mail, normas de realización y plazos de ejecución del pedido, condiciones de pago, entrega y devolución.
Cada sitio se analiza individualmente.
Robokassa en Telegram
Conexión del bot de prueba RobokassaPaymentTestBot.
Al elegir Connect Robokassa Test, el usuario pasa al bot RobokassaPaymentTestBot.
El usuario pulsa el botón /начать.
El usuario recibe la respuesta del bot «Introduce el ID de la tienda».
Es necesario introducir el id de la tienda en el servicio Robokassa.
El bot pedirá una confirmación que confirme la propiedad de la tienda mediante el envío de un SMS al número indicado en la tienda: «Se ha enviado un SMS al número *%%%%», donde %%%% son los últimos 4 dígitos del teléfono
El usuario introduce un código de 6 dígitos.
Si todo sale bien, al usuario se le mostrará el mensaje: “Has conectado correctamente el bot @BotName a Robokassa. @BotFather te comunicará el nuevo token.”
Después de esto, en BotFather aparece el token de pago al que se conectan los pagos.
Conexión del bot live RobokassaPaymentBot.
Al elegir Connect Robokassa Live, el usuario pasa al bot RobokassaPaymentBot,
El usuario pulsa el botón /начать.
El usuario recibe la respuesta del bot «Introduce el ID de la tienda».
Es necesario introducir el id de la tienda en el servicio Robokassa.
El bot pedirá una confirmación que confirme la propiedad de la tienda mediante el envío de un SMS al número indicado en la tienda: «Se ha enviado un SMS al número *%%%%», donde %%%% son los últimos 4 dígitos del teléfono
El usuario introduce un código de 6 dígitos.
Si todo sale bien, al usuario se le mostrará el mensaje: “Has conectado correctamente el bot @BotName a Robokassa. @BotFather te comunicará el nuevo token.”
Después de esto, en BotFather aparece el token de pago al que se conectan los pagos.
El procesamiento de los resultados del pago es similar al descrito aquí
Última actualización