Cómo configurar Robokassa

Veamos cómo implementar la recepción de pagos en el bot a través del servicio Robokassa.

  1. Cree una tienda en línea en el panel de control del servicio Robokassa e indique los siguientes ajustes técnicos:

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 "Adquirencia" y haga clic en "Conectar" en la tarjeta de Robokassa:

y complete el formulario en la ventana que se abre:

  1. Campo Identificador de tienda — Shop ID, que puede encontrar en la configuración de la tienda en el panel de control de Robokassa.
  2. Contraseña #1, contraseña #2 — secuencias únicas generadas de dígitos+letras.
  3. Campo Tasa de IVA. Debe indicar el código adecuado para transmitir el valor del IVA. Este campo establece la tasa impositiva en el KKT. Se determina para cada tipo de producto por separado, pero para todas las unidades de un producto específico juntas.

Se aplica con los valores:

  • Sin IVA.
  • IVA a la tasa del 0%.
  • IVA a la tasa del 5%.
  • IVA del recibo a la tasa calculada del 12%.
  • IVA del recibo a la tasa calculada del 16%.

Cómo formar un enlace de pago

Puede formar un enlace de pago en el bloque mediante UNO DE los métodos disponibles:

Botón con la función Pago

Puede crear un enlace de pago en un botón con la función "Pago".

Cómo crear un botón con la función "Pago" lo explicamos aquí

Veamos todos los parámetros posibles de este botón. 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 formar un enlace de pago en la configuración del botón, debe indicar los parámetros obligatorios: Monto y Nombre del producto.

campo Monto. En este campo indicamos el costo 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 use comillas dobles en el nombre del producto: elimínelas o reemplácelas por comillas simples.

casilla de verificación Pago automático. Para activar el pago automático.

casilla de verificación Con 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, llegará una notificación al diálogo con el cliente en Salebot de que se ha realizado una transición al enlace.

En esta notificación se puede configurar la lógica posterior del bot.

Muchos sistemas de pago admiten cajas registradoras en línea en la nube, son necesarias según la Ley Federal 54.
Lea las características de la emisión de recibos en el sitio web del sistema de pago seleccionado para no tener problemas con la inspección fiscal.

Para formar un recibo

menú Datos para formar un recibo. Al hacer clic, se abrirá un menú desplegable con parámetros para formar un recibo:

campo Nombre del producto. Obligatorio para formar un recibo.

NO use comillas dobles en el Nombre del producto: elimínelas o reemplácelas por comillas simples.

campo Monto total en rublos. En este campo debe indicar el monto a pagar teniendo en cuenta la cantidad de productos. Si la cantidad es 1, entonces el Monto total en rublos es igual al valor en el campo Monto en la configuración obligatoria del botón.

campo Cantidad. Cantidad o peso del producto. Se puede transmitir un número entero o fraccionario 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

Tan pronto como el usuario reciba un bloque con el botón "Pago", se crearán automáticamente las variables del cliente:

Variable de servicio del cliente __payments , que almacena el monto, el identificador del enlace creado, es necesaria para identificar el hook del sistema de pago.

¡La variable de servicio del cliente __payments NO se puede eliminar ni modificar!

Variable del cliente error_payment_button se crea si ocurre un error al formar el botón.

En el valor de la variable error_payment_button se escribirá el texto del error o la respuesta del sistema de pago con el error.

Los valores de las variables se vuelven relevantes al pasar al siguiente bloque.

Cómo procesar el resultado

¡Atención!

Robokassa envía una notificación solo para transacciones exitosas mediante el parámetro Result URL. No hay callbacks para pagos fallidos en el servicio Robokassa.

Fail URL es solo la página de pago fallido, a la que se redirigirá al pagador en caso de un error de código en la página de pago.

Pago exitoso.

Después de configurar correctamente el pago y formar el enlace para realizar el pago, pruebe la configuración creada. Si el pago se realiza con éxito, entonces en el diálogo del cliente (sección "Clientes") llegará AUTOMÁTICAMENTE un CALLBACK, que consta de 10 caracteres de la clave secreta del sistema de pago, la palabra _success y, separado por un espacio, el monto del pago. El callback se genera automáticamente, no es necesario crearlo usted mismo ni solicitarlo al soporte del sistema de pago.

Por ejemplo: ovg58keefc_success 2999, donde:

ovg58keefc : 10 caracteres de la clave secreta del sistema de pago

_success : resultado del procesamiento de la solicitud (pago exitoso)

2999 : monto del pago

Procesamiento del bloque:

Callback:

Los callbacks (notificaciones) del sistema de pago NO son visibles para el usuario. Solo se muestran en la pestaña "Clientes" y son visibles para el operador/administrador.

Ejemplo de configuración de reacción a un callback

En el bloque con condición (puede ser un bloque "Condición inicial" o un bloque "No estado con condición"), debe indicar el callback que llega al pagar.

Importante: seleccionar la coincidencia Coincidencia exacta o Por presencia de palabras clave

Luego, al pagar, el cliente recibirá un mensaje del bloque en el que se configuró la reacción al callback:

Pago con error

Si el monto indicado en la configuración del botón difiere del monto que el cliente pagó, entonces al bot AUTOMÁTICAMENTE llegará un CALLBACK, que consta de 10 caracteres de la clave secreta del sistema 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 del sistema de pago

_different_amounts : resultado del procesamiento de la solicitud (el monto del pago difiere del monto en el enlace)

123456 : ID único del pago

Función get_robokassa_payment_url en la Calculadora

Para formar un enlace de pago, puede usar la función get_robokassa_payment_url en el bloque Calculadora.

En el campo Calculadora, asignaremos a la variable el valor de la función get_robokassa_payment_url

El nombre de la variable lo define usted mismo. En las capturas de pantalla hay ejemplos de nombres de variables.

En esta variable se escribirá el enlace de pago. La variable se puede mostrar en pantalla como un enlace en un mensaje o colocarla 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

Muchos sistemas de pago admiten cajas registradoras en línea en la nube, son necesarias según la Ley Federal 54.
Lea las características de la emisión de recibos en el sitio web del sistema de pago seleccionado para no tener problemas con la inspección fiscal.

Calculadora

Ejemplo 1:

Descripción de parámetros

get_robokassa_payment_url(amount, description, products_for_receipt, recurrent, currency)

Parámetros de la función:

Parámetro Valor del parámetro
amount

**Monto a pagar.** En este campo indicamos el costo 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 formar recibos.**

Lea más aquí.

recurrent **Activación del pago automático.** Si el pago automático está activado, transmita el valor 1; si está desactivado, transmita el valor None.
currency

**Código de moneda de tres letras.**

Debe transmitir el valor estrictamente según los parámetros aceptados por el servicio Robokassa.
USD - dólar;
EUR - euro;
KZT - tenge.

Ejemplo de código para copiar
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 un enlace en un mensaje o colocarla en un botón con texto, por ejemplo, "Comprar".

Si en el bloque hay varias funciones para obtener un enlace y se comete un error, el valor del error se escribirá en la variable error_payment_func


El error se escribirá según la última función en la Calculadora.

Después de configurar correctamente el pago y formar el enlace para realizar el pago, pruebe la configuración creada.

Cómo agregar una descripción del pago

Puede agregar una descripción al pago configurando 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, entonces en el diálogo del cliente (sección "Clientes") llegará AUTOMÁTICAMENTE un CALLBACK, que consta de 10 caracteres de la clave secreta del sistema de pago, la palabra _success y, separado por un espacio, el monto del pago. El callback se genera automáticamente, no es necesario crearlo usted mismo ni solicitarlo al soporte del sistema de pago.

Por ejemplo: ovg58keefc_success 1500, donde:

ovg58keefc : 10 caracteres de la clave secreta del sistema de pago

_success : resultado del procesamiento de la solicitud (pago exitoso)

1500 : monto del pago

¡Llamamos su 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 una reacción al procesamiento exitoso del pago.

Ejemplo

Configuraciones del bloque con la función get_robokassa_payment_url:

  1. Si proporciona el enlace en el texto:

¡Importante!

¡El enlace de pago es único: no se puede copiar y luego enviar a otros clientes!

Envíe el enlace de pago a través de una variable en el bot (ver fig. 17).

Callback al pago exitoso:

  1. Enlace en un botón:

Ejecución del bloque:

Callback al pago exitoso:

Creación de un enlace usando la variable payment_sum y parámetros adicionales

También puede aceptar pagos generando un enlace con la variable payment_sum, en la que solo necesita especificar el monto del pago.

Tenga en cuenta: a la variable payment_sum se le asigna el valor al final, 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 un enlace o colocarla en un botón con el texto "Pagar".

EJEMPLO de ejecución del bloque (enlaces de pago):

¡Importante!

¡El enlace de pago es único: no se puede copiar y luego enviar a otros clientes!

Envíe el enlace de pago a través de una variable en el bot

Para pasar el enlace en un botón, especifique 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. Este callback en el sistema lo ve como un mensaje del usuario; para que el usuario no pueda enviarlo, consta de la primera contraseña del servicio Robokassa y el sufijo 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 LO VE el usuario, solo se muestra al operador

El tipo de comparación debe ser "Coincidencia exacta"

Para realizar un pago repetido, es necesario restablecer payment_sum, el enlace previamente generado y luego reasignar la variable payment_sum para obtener un nuevo enlace

Ejemplo de restablecimiento de variables:
robokassa_pay_url=''
payment_sum=0

Después de completar el pago, se agregará al cliente la variable robokassa_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 crear un esquema de prueba

Ejemplo de un esquema que le permitirá probar y comenzar rápidamente a trabajar con el servicio Robokassa:

La figura muestra un ejemplo del primer bloque, en el que se pregunta al usuario cuánto desea pagar.

En la siguiente figura se muestran las configuraciones de la flecha; en ella debe estar activado el interruptor "El usuario ingresa datos" y en el campo debe estar escrita la variable payment_sum:

Luego, en el siguiente bloque de pago, agregue 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 monto que el cliente escribió estará disponible para el pago.

Después del pago, llegará un callback, para el cual también se puede configurar una reacción.

¡Importante!

No existe un callback de pago fallido en Robokassa.

Para ello, agregue otro bloque con una condición, y en la línea de condición escriba el callback en el formato "qxgZ7zkNX4HHnG8UpZ61_success":

El tipo de verificación debe ser "Coincidencia exacta"

El esquema funcionará de la siguiente manera:

Cómo generar una solicitud de fiscalización

En un botón con la función "Pago"

Al crear un botón, en el menú desplegable "Datos para generar el recibo", complete los campos "Nombre del producto", "Monto total en rublos", "Cantidad", "Tasa de IVA", "Sistema tributario".

Más detalles en la sección "Para generar el recibo".

Mediante la variable payment_sum

Dado que la generación del enlace se produce en el momento en que establece el valor de la variable payment_sum, debe definir las variables products_for_receipt y robokassa_sno.

Importante:

  • al generar el enlace a través de la variable payment_sum, el sistema tributario se define en la variable robokassa_sno.
  • payment_sum debe ser igual al costo total de todos los productos (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 robokassa_recurrent_payment, pase como argumentos las variables taxation y products_for_receipt según la descripción a continuación.

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á realizar la fiscalización de los pagos para los que no se haya pasado la nomenclatura.

  1. products_for_receipt - 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 debe especificarse en el siguiente formato:

[

{"name": "Nombre del producto", "quantity": "Cantidad del producto", "sum": "Costo del producto", "tax": "Tasa de IVA"},

{"name": "Nombre del producto 2", "quantity": "Cantidad del producto 2", "sum": "Costo 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 necesario escaparlos.

  2. quantity - cantidad o peso del producto (número entero o decimal con punto)

  3. sum o amount (obligatorio, dos variantes de nombre) - monto total en rublos por toda la cantidad de este producto, teniendo en cuenta todos los posibles descuentos, bonificaciones y precios especiales.

  4. tax o vat_code - (obligatorio, dos variantes de nombre, el valor depende del nombre) - tasa de IVA. Este parámetro establece la tasa impositiva en la caja registradora.

**Valores para tax: **

Valor Descripción
none sin IVA
vat0 IVA a tasa 0%
vat5 IVA a tasa 5%
vat12 IVA a tasa 12%
vat16 IVA a tasa 16%

Valores para vat_code:

Valores Descripción
'1' Sin IVA
'2' IVA a tasa 0%
'8' IVA a tasa 5%
'15' IVA a tasa 12%
'14' IVA a tasa 16%
  1. method o payment_method - (dos variantes de nombre, parámetro opcional) indicador del método de pago.
Posibles valores del parámetro: Qué implica el valor:
full_prepayment pago anticipado 100%. Pago anticipado completo antes de la transferencia del objeto de cálculo
prepayment pago anticipado. Pago anticipado parcial antes de la transferencia del objeto de cálculo
advance anticipo
full_payment pago completo. Pago completo, incluyendo el anticipo (pago anticipado) en el momento de la transferencia del objeto de cálculo;
partial_payment pago parcial y crédito. Pago parcial del objeto de cálculo en el momento de su transferencia con pago posterior a crédito;
credit transferencia a crédito. Transferencia del objeto de cálculo sin su pago en el momento de la transferencia con pago posterior a crédito;
credit_payment pago de crédito. Pago del objeto de cálculo después de su transferencia con pago a crédito (pago de crédito).
  1. object o payment_object - (dos variantes de nombre, parámetro opcional) objeto de cálculo (si no se pasa, será commodity (producto))
Posibles valores del parámetro Qué implica el valor
commodity Producto. Sobre el producto vendido, excepto productos sujetos a impuestos especiales (nombre y otra información que describa el producto)
excise Producto sujeto a impuestos especiales. Sobre el producto sujeto a impuestos especiales vendido (nombre y otra información que describa el producto)
job Trabajo. Sobre el trabajo realizado (nombre y otra información que describa el trabajo)
service Servicio. Sobre el servicio prestado (nombre y otra información que describa el servicio)
gambling_bet Apuesta de juego de azar. Sobre la recepción de apuestas en la realización de actividades de juegos de azar
gambling_prize Premio de juego de azar. Sobre el pago de dinero en efectivo como premio en la realización de actividades de juegos de azar
lottery Boleto de lotería. Sobre la recepción de dinero en efectivo en la venta de boletos de lotería, boletos de lotería electrónicos, recepción de apuestas de lotería en la realización de actividades de lotería
lottery_prize Premio de lotería. Sobre el pago de dinero en efectivo como premio en la realización de actividades de lotería
intellectual_activity Provisió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, depósito, pago anticipado, crédito, cuota a cuenta, multa, sanción, remuneración, bono y otro objeto de cálculo similar
agent_commission Comisión de agente. Sobre la remuneración del usuario que actúa como agente de pagos (subagente), agente de pagos bancario (subagente), comisionista, mandatario u otro agente;
composite Objeto de cálculo compuesto. Sobre el objeto de cálculo que consta de objetos, a cada uno de los cuales se le puede asignar un valor de los indicadores anteriores
another Otro objeto de cálculo. Sobre el objeto de cálculo que no pertenece a los objetos de cálculo anteriores
property_right Derecho de propiedad
non-operating_gain Ingreso no operativo
insurance_premium Primas de seguro
sales_tax Impuesto sobre las ventas
resort_fee Tasa turística
  1. nomenclature_code - (condicionalmente obligatorio) marcado del producto: se transmite tal como está impreso en el embalaje del producto.

El parámetro es obligatorio solo para aquellas tiendas que venden productos sujetos a marcado obligatorio.

El código de marcado se encuentra 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 transmitir los parámetros del recibo.

El formato correcto del recibo se transmite de la siguiente manera:

rec = [{"name": "Пакет 1 месяц", "quantity": 1, "sum": 4800, "tax": "none"}]

response = robokassa_recurrent_payment(4800, 'Обучение в Лётной школе Авиатор', 'ru', rec, 'osn')

donde debe sustituir sus propios datos.

Formación del recibo al recibir el pago en Cursos en la página del curso

Debe seleccionar en la sección "Pago" en la configuración del curso el sistema de pago Robokassa:

Complete en la sección "Adquirencia" en la configuración del sistema de pago (si no lo hizo antes) el campo "Tasa de IVA".

Cuáles pueden ser los errores

Código de error 40

«No es posible realizar un pago repetido de la factura con el mismo número».

Después de un pago exitoso, es necesario transferir 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

«Monto de pago incorrecto».

Este error puede ocurrir al redirigir al cliente a la página de pago para emitir una factura. Significa que no está transmitiendo el monto por el cual se debe realizar el pago, o está transmitiendo un monto igual a cero.

Código de error 29

«Parámetro Signature incorrecto»

Aquí puede haber varias razones, pero todas están relacionadas con el script responsable de iniciar el pago (más concretamente, su parte que forma el parámetro Signature según una fórmula compuesta por variables). Este error es bastante común, y estas son 3 posibles causas:

  • Primera: Identificador de tienda (MerchantLogin) incorrecto;
  • Segunda: Contraseña 1 (MerchantPass1) incorrecta;
  • Tercera: está utilizando parámetros adicionales (shp_) que se agregaron al código del programa de la caja, pero no se incluyeron en la fórmula de cálculo, o viceversa, están indicados en la fórmula de cálculo pero no en el código. Si se utilizan, transmítalos en orden alfabético, tanto en los parámetros de pago como en la fórmula de cálculo de Signature.

¡Punto importante! Si está trabajando en modo de prueba, transmitiendo el parámetro IsTest=1 o activándolo con una casilla de verificación en la configuración del módulo/bot, use solo el par de contraseñas técnicas de prueba (pestaña «Configuración técnica» de la tarjeta de su 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 completó 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 es bastante común y puede tener 2 causas.

  • Primera: efectivamente es así, y es necesario activar la tienda, y solo entonces emitir la factura.
  • Segunda: indicó incorrectamente el Identificador de tienda en la configuración técnica del sitio. Puede ver el correcto en la sección «Mis tiendas» del Panel de control. Vaya a la pestaña «Configuración técnica» y busque el campo «Identificador de tienda». Copie el identificador e ingréselo en la configuración del sitio.

Cómo realizar pagos automáticos del servicio Robokassa

Instrucciones paso a paso para conectar pagos automáticos para el servicio Robokassa

Paso 1. Activar pagos automáticos en el botón de pago

Vaya a la configuración del bloque en el que proporciona el enlace de pago y vaya a la configuración del botón:

Luego, en la configuración del botón, busque la casilla de verificación "Pagos automáticos" y actívela:

Si desea aceptar pagos automáticos en todos los botones de pago, puede activar los pagos automáticos en la configuración de conexión del sistema de pago:

Paso 2. Realizar un pago normal.

Luego, debe realizar un pago normal (obtener un enlace de pago y que el cliente lo pague), como se describió anteriormente. 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 pagos posteriores.

Si se elimina, NO se podrá realizar el siguiente pago automático.

¡Llamamos su atención!

Desactive la casilla de verificación "Pagos en modo de prueba" (si está activa), ¡de lo contrario, la variable robokassa_previous_invoice_id con el identificador de pago NO se generará!

Paso 3. Programar el débito automático

Desde el bloque Pago exitoso, programe una flecha con un temporizador hacia el bloque con el pago automático. Como ejemplo, programemos el siguiente pago en 30 días.

Para que se realice el pago automático en el bloque deseado, en el campo Calculadora, debe agregar la llamada a la función robokassa_recurrent_payment, pasándole los parámetros en el orden indicado:

  1. payment_amount - monto a pagar (costo del producto en rublos)
  2. 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.
  3. country - zona de dominio ('ru' o 'kz')
  4. products_for_receipt - parámetros para la formación de recibos.

Más detalles en la sección "Cómo formar una solicitud de fiscalización -> Para las funciones get_robokassa_payment_url y robokassa_recurrent_payment

  1. taxation - sistema de tributación.

Más detalles en la sección "Cómo formar una solicitud de fiscalización -> Para las funciones get_robokassa_payment_url y robokassa_recurrent_payment

Ejemplo de solicitud de pago automático:

¡Al realizar un pago automático, no debe haber un enlace de pago de Robokassa ni la variable payment_sum!

Paso 4. Programar débitos regulares y configurar la posibilidad de cancelar los pagos automáticos.

Para la repetición regular de pagos, programe un bucle: una flecha con un retraso, por ejemplo, 30 días.

Si tiene prevista la posibilidad de cancelar los pagos automáticos, para que no se realice el siguiente pago, debe eliminar la variable robokassa_previous_invoice_id del cliente.

Para ello, en el campo Calculadora, elimine la variable:

robokassa_previous_invoice_id = ""

Pago normal con pagos automáticos activados

Si los pagos automáticos están activados, pero se necesita un enlace sin suscripción (sin pagos automáticos), antes de formar el enlace, debe establecer la variable robokassa_manual_recurrent_disable con el valor 1.

En el campo Calculadora, declare la variable:
robokassa_manual_recurrent_disable = 1

¡Atención!

El callback en los pagos automáticos es idéntico al callback que llega en los pagos exitosos.

Cómo configurar la reacción al callback, lo explicamos en la sección "Cómo procesar el resultado"

Cuáles son los requisitos del servicio Robokassa para los chatbots

Respuesta oficial del servicio Robokassa:

Puede colocar un producto en el marketplace con una descripción y un precio, y aceptar pagos en el bot; puede hacer una página única con descripción, precio, datos de contacto e indicación de que la entrega del producto/la prestación del servicio es electrónica. Debemos tener un vínculo con el producto en el marketplace o con el sitio web, ya que qué vende en su bot y en qué bot, no podemos saberlo.

No incluimos el enlace al canal de Telegram como URL. También hay requisitos para el contenido del sitio: "El sitio debe ser funcional, con contenido completo, enlaces internos que funcionen.

Los productos y servicios en su sitio deben estar descritos en detalle: La descripción debe incluir las características de los productos y servicios ofrecidos, sus propiedades de consumo y el precio actual.

En su sitio web debe colocarse información actualizada obligatoriamente: teléfono, correo electrónico, reglas de pedido y plazos de ejecución del pedido, condiciones de pago, entrega y devolución.

Cada sitio se considera individualmente.

Robokassa en Telegram

Conexión del bot de prueba RobokassaPaymentTestBot.

  1. Al seleccionar Connect Robokassa Test, el usuario va al bot RobokassaPaymentTestBot.
  2. El usuario presiona el botón /start.
  3. El usuario recibe la respuesta del bot «Ingrese el ID de la tienda».
  4. Debe ingresar el id de la tienda en el servicio Robokassa.
  5. El bot solicitará una confirmación, que confirma 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.
  6. El usuario ingresa un código de 6 dígitos.
  7. Si todo es exitoso, al usuario se le mostrará el mensaje: “Ha conectado exitosamente el bot @BotName a Robokassa. @BotFather le informará el nuevo token.”
  8. Después de esto, en BotFather aparece el token de pago al que se conectan los pagos.

Conexión del bot en vivo RobokassaPaymentBot.

  1. Al seleccionar Connect Robokassa Live, el usuario va al bot RobokassaPaymentBot.
  2. El usuario presiona el botón /start.
  3. El usuario recibe la respuesta del bot «Ingrese el ID de la tienda».
  4. Debe ingresar el id de la tienda en el servicio Robokassa.
  5. El bot solicitará una confirmación, que confirma 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.
  6. El usuario ingresa un código de 6 dígitos.
  7. Si todo es exitoso, al usuario se le mostrará el mensaje: “Ha conectado exitosamente el bot @BotName a Robokassa. @BotFather le informará el nuevo token.”
  8. 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 análogo a lo descrito aquí