Prodamus (RU)
Disponible solo en el plan "Infobiz".
Cómo conectar Prodamus
Para conectar Prodamus necesitará la URL del formulario de pago y la clave secreta.
URL del formulario de pago la obtiene después del registro, tiene este aspecto: demo.payform.ru
La clave secreta se puede obtener en el área personal; allí mismo debe especificarse la URL para notificaciones.

Instrucciones detalladas de cómo hacerlo: https://help.prodamus.ru/payform.ru-onlain-oplaty/prochee/url-dlya-uvedomlenii-i-sekretnyi-klyuch
Dirección para notificaciones: https://chatter.salebot.pro/prodamus_callback/result
Esta dirección debe especificarse en la configuración en dos lugares.
En la página principal de configuración puede elegir el modo de funcionamiento del formulario: modo demo sin pagos o modo pagos:

La dirección para notificaciones debe especificarse en la configuración del sistema de pagos en dos lugares: pestaña Configuración del formulario - para pagos normales y pestaña Suscripciones - para pagos por suscripción.

Dirección para notificaciones: https://chatter.salebot.pro/prodamus_callback/result
Para configurar el trabajo con pagos por suscripción vaya a la pestaña Suscripciones e indique la dirección para notificaciones: https://chatter.mavibot.ai/prodamus_callback/result

¡Atención! Después de introducir la url, asegúrese de pulsar el botón «Guardar».
Para conectar Prodamus es necesario ir a la sección "Adquirencia"

Después solo hay que indicar en el formulario los datos mencionados arriba:

¡IMPORTANTE! la url del formulario de pago se indica SIN https://
Con esto finaliza la conexión. Ahora veamos cómo usar esta funcionalidad.
Cómo generar un enlace de pago
Se puede generar un enlace de pago en el bloque UNA DE las formas disponibles:
Creación de un enlace usando la variable payment_sum y parámetros adicionales (versión obsoleta pero funcional)
Botón con la función Pago
Veamos todos los parámetros posibles de este botón.
Parámetros obligatorios del botón Pago para Prodamus
Para generar un enlace de pago en la configuración del botón es necesario indicar parámetros obligatorios "Importe", "Nombre del producto", también el parámetro "Contenido pagado", si usted no tiene su propia caja registradora online y quiere recibir el comprobante de Prodamus.
Al pasar a la página de pago ya aparecerán escritos los datos del producto y su precio; al cliente solo le quedará indicar sus datos de contacto. Si en la configuración del botón indica el email y/o teléfono del usuario, en la página de pago aparecerán los datos del pagador y la información del producto y su precio.

campo Texto. Este texto se mostrará en el botón con el enlace de pago en el mensaje
campo Función. Para crear un botón para generar un enlace de pago, elegimos la función Pago
campo Sistema de pago. En la lista se muestran los sistemas de pago conectados al proyecto
Si no hay sistemas de pago conectados al proyecto, este tipo de botones no estará disponible
campo Nombre del producto (obligatorio). En este campo debe indicar el nombre del producto. Cuanto más preciso sea el nombre, mejor. Por ejemplo: no "Teléfono", sino "Smartphone Xiaomi modelo ..."
NO SE PUEDE usar comillas dobles en el nombre del producto: elimínelas o sustitúyalas por comillas simples.
campo Importe (obligatorio). En este campo indicamos el precio del producto.
menú Información adicional. Al hacer clic en este botón se abrirán campos adicionales para generar el enlace
Descripción del pedido
Descuento en rublos
Variable con el email del comprador
Variable con el número de teléfono del comprador
Tiempo de vida del enlace
ID del producto para suscripción (para crear pagos automáticos)
Contenido pagado
casilla Con notificación de clic. Para rastrear el paso por el enlace de pago, puede marcar la casilla. En ese caso, al hacer clic en el botón llegará al diálogo con el cliente en Salebot una notificación de que se ha realizado el paso por el enlace

Con esta notificación se puede configurar la lógica posterior del bot.
Muchos sistemas de pago admiten cajas registradoras online en la nube; son necesarias según la ley 54-FZ. Lea las características de emisión de comprobantes en el sitio web del sistema de pago elegido para no encontrarse en una situación incómoda con la inspección fiscal.
Y así es como se ve la página de pago que se abre al seguir el enlace del botón Pago:

Parámetros adicionales para generar el enlace de pago

campo Descripción del pedido. La información indicada en este campo se mostrará en la página de pago en el campo Datos adicionales
campo Descuento. En este campo puede indicar el importe del descuento en rublos o rublos con kopeks. Para indicar una cantidad con kopeks usamos un punto como separador: 50.99 En la página de pago, en el campo Importe a pagar, se mostrará el importe con el descuento aplicado, y el precio original del producto aparecerá tachado.
Campo Variable con el email del comprador (opcional, si se ha pasado el Número de teléfono) En este campo se indica el email del usuario (cliente). Puede indicar la variable en la que se almacena el email del usuario.
Por ejemplo, #{email}
Campo Variable con el número de teléfono del comprador (opcional, si se ha pasado el Email). En este campo puede indicar la variable en la que está guardado el número de teléfono del comprador en formato 79000000000 Por ejemplo, #{phone}
Debe haber obligatoriamente un email y/o teléfono
campo Tiempo de vida del enlace. Se puede indicar una fecha en el formato dd.mm.aaaa hh:mm (por ejemplo 25.01.2021 11:00) o usar variables para asignar el plazo de caducidad del enlace.
Ejemplo de uso de la variable: #{link_expired}
campo ID del producto por suscripción. Para realizar un pago automático, pase el valor del ID del producto. Para crear una suscripción, hay que crear un producto de suscripción.
Instrucciones detalladas de cómo crear un producto para suscripción: https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski
Si se pasa el valor del ID del producto por suscripción, el importe del pago no se tendrá en cuenta. Los datos del producto se obtendrán de la ficha del producto en el área de Prodamus
El número de teléfono indicado al pagar será necesario para gestionar la suscripción.
Si se pasa ID del producto por suscripción", en el callback, al realizarse correctamente el pago, se transmitirá el ID de este producto
Campo Contenido pagado (condicionalmente obligatorio). Los datos son necesarios para la fiscalización del pago por Prodamus, si usted no tiene su propia caja registradora online. En este campo debe indicar la descripción de la compra, su precio y el enlace al recurso con el contenido.
Por ejemplo: Curso ‘Trenzado de trenzas’, precio 3000 rublos, enlace a la página del curso: https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911.
Estos datos son necesarios para su transmisión al Servicio Federal de Impuestos.
Botón con la función de pago
Si indica el tiempo de vida del enlace, entonces en caso de
Cuando el usuario solicitó el enlace de pago dentro de su período activo (es decir, su tiempo de vida aún no ha finalizado) y ya existe en el diálogo, no podrá pagar y recibirá una notificación como la siguiente:
La fecha de caducidad del enlace debe ser posterior a la fecha actual; de lo contrario, el cliente tampoco podrá pagar con ese enlace.
2. Cuando el usuario solicita el enlace y este ya no está activo En ese caso, el botón simplemente no aparecerá. Y en las variables del cliente aparecerá la variable "error_payment_button", que contiene el siguiente valor: "Error: la fecha de caducidad del enlace debe ser posterior a la fecha actual".
Para que el usuario pueda pagar correctamente, es recomendable procesar este caso adicionalmente.
¿Cómo hacerlo?
Cree un bloque con una condición en la que indique que, si llega una notificación de este tipo, error_payment_button == "Error: la fecha de caducidad del enlace debe ser posterior a la fecha actual"
Con la salida del texto: "Lo sentimos, no llegó a tiempo y el enlace de pago ya no es válido":


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 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 ocurrió 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 del sistema de pago con error.
Los valores de las variables pasan a ser válidos al pasar al siguiente bloque
Cómo procesar el resultado
Pago exitoso.
Después de un pago exitoso en el bot AUTOMÁTICAMENTE llegará un CALLBACK que consta de los primeros 10 caracteres de la clave secreta del sistema de pago, la palabra _success y, tras un espacio, el importe del pago. Para usarlo en la configuración del esquema basta con copiarlo.
Por ejemplo: ovg58keefc_success 44donde:
ovg58keefc : primeros 10 caracteres de la clave secreta del sistema de pago
_success : resultado del procesamiento de la solicitud (pago exitoso)
44 : importe del pago
Los callbacks (notificaciones) del sistema de pago el usuario NO los VE. Solo se muestran en la pestaña Clientes y son visibles para el operador.
Ejemplo de uso: Paso 1. En el bloque "con botón Pago" añadimos botones con la función Pago.
Paso 2. En el campo Condición de conexión de este bloque al bloque "Pago exitoso" indicamos el callback. Funciona igual si se indica el callback de pago exitoso en el campo Condición del bloque "Condición inicial".
Importante: elegir el tipo de coincidencia Coincidencia exacta o Por presencia de palabras clave
❗️Si decide comprobar el pago precisamente en la flecha por condición, piense la lógica de su esquema. En caso de que el cliente salga del bloque con el paso por condición con callback, no habrá transición al bloque. Este método de comprobación solo tiene sentido usarlo cuando el cliente no cambia su posición en el embudo (posición en el esquema). En los esquemas en los que el cliente se mueve entre bloques, es mejor usar la opción de indicar el callback en el bloque "Condición inicial".

Pago exitoso para productos con auto-suscripción.
Después de un pago exitoso en el bot AUTOMÁTICAMENTE llegará un CALLBACK que consta de los primeros 10 caracteres de la clave secreta del sistema de pago, la palabra _success y tras un espacio, el ID del producto por suscripción
Por ejemplo: 214009eefc_success 618117donde:
009eefc : 10 caracteres de la clave secreta del sistema de pago
_success : resultado del procesamiento de la solicitud (pago exitoso)
618117: ID del producto por suscripción

Pago con error
En caso de error al realizar el pago al bot AUTOMÁTICAMENTE llegará un CALLBACK que consta de 10 caracteres de la clave secreta del sistema de pago, la palabra _fail y, tras un espacio, el importe del pago
Por ejemplo, ovg58keefc_fail 44 , donde
ovg58keefc : 10 caracteres de la clave secreta del sistema de pago
_fail : resultado del procesamiento de la solicitud - el pago no se realizó o fue con error.
44 : importe del pago
Depende del sistema de pago. No todos los sistemas de pago envían un callback de error de pago.
Si el importe indicado en la configuración del botón difiere del importe que el cliente pagó, entonces AUTOMÁTICAMENTE llegará un CALLBACK que consta de 10 caracteres de la clave secreta del sistema de pago, la palabra _different_amounts y, tras 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 importe del pago difiere del importe del enlace)
123456 : ID único del pago
Función get_prodamus_payment_url en la Calculadora
Para generar un enlace de pago puede usar la función get_prodamus_payment_url en el bloque Calculadora.
En el campo Calculadora asignaremos a la variable el valor de la función get_prodamus_payment_url
El nombre de la variable lo define usted mismo. En las capturas se muestran ejemplos de nombres de variables.
En esta variable se guardará el enlace de pago. La variable se puede mostrar como enlace en el mensaje o colocar en un botón con el texto "Pagar".
EJEMPLO de enlace de pago: https://payform.ru/7p3JR8/
Ejemplo 1:

su_variable = get_prodamus_payment_url(amount, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
Parámetros de la función:
amount
importe a pagar. Puede pasar un valor entero o un número con punto. Por ejemplo 25 o 52.5 (parámetro obligatorio)
product_name
Nombre del producto. (parámetro obligatorio)
expired
tiempo de vida del enlace de pago, en formato dd.mm.aaaa (por ejemplo 25.01.2021). También se puede en el campo "Calculadora" indicar: expired = current_date + 2 (el enlace será válido 2 días hasta las 00:00). expired también se puede indicar la fecha con hora exacta, separada por un espacio, en formato dd.mm.aaaa hh:mm (por ejemplo: 25.01.2021 12:23). También se pueden usar variables estándar; por ejemplo, asignemos al enlace un tiempo de validez de 30 minutos:
time = current_time + 30
expired = "#{current_date} #{time}"
Para omitir este parámetro, pase en su lugar un par de comillas simples o dobles, o el valor None
customer_phone
número de teléfono del comprador, no es obligatorio si se ha pasado el parámetro customer_email Para omitir este parámetro, pase en su lugar comillas simples o dobles.
customer_email
email del comprador, no es obligatorio si se ha pasado el parámetro customer_phone Para omitir este parámetro, pase en su lugar comillas simples o dobles.
discount
importe del descuento. Pasamos el parámetro como número o número con punto: 25 o 63.5 Para omitir este parámetro, pase en su lugar comillas simples o dobles.
description
descripción del producto (si no se indica, se completa con 'Pago de la factura order_id') Para omitir este parámetro, pase en su lugar comillas simples o dobles.
extra_params
parámetros adicionales que no existen en esta función. Los parámetros adicionales posibles se pueden ver en el enlace de la documentación del trabajo con la API del sistema de pago https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov Ejemplo: extra_params = {"payments_limit": "3", "payment_method": "vsegdada_installment_0_0_6"}
Para omitir este parámetro, pase en su lugar un par de comillas simples / un par de comillas dobles o el valor None.
products_for_receipt
Cadena de 50 a 4000 caracteres en formato "descripción del pedido - precio - enlace al recurso adquirido".
Por ejemplo:
“Curso ‘Pesca de besugo’, precio 4999 rublos, enlace a la página del curso: https://www.lovilescha.ru/courses/poimai_kilogram/". Obligatoriosi no tiene su propia caja registradora online, para la fiscalización de pagos a través de Prodamus.
extra_params = {"payments_limit": "3"}
products_for_receipt = "Curso ‘Pesca de besugo’, precio 4999 rublos, enlace a la página del curso: https://www.lovilescha.ru/courses/poimai_kilogram/"
link_prodamus_url = get_prodamus_payment_url(4999, 'Curso ‘Pesca de besugo’', '27.03.2023 17:00', '79167777771', '[email protected]', 20, 'El mejor curso del mercado', extra_params, products_for_receipt)
Si en el bloque hay varias funciones para obtener el enlace y se comete un error, el valor del error se guardará en la variable error_payment_func
El error se guardará en la última función en la Calculadora
Creación de un enlace usando la variable payment_sum y parámetros adicionales
Tenga en cuenta: a la variable payment_sum se le asigna el valor del último, después de las variables opcionales payment_description, product_name etc.
Para generar un enlace de pago, basta con establecer en el campo Calculadora el valor de la variable payment_sum. Inmediatamente después aparecerá la variable prodamus_pay_url.
EJEMPLO de enlace de pago:: https://payform.ru/7p3JR8/
Esta variable se puede mostrar como enlace en el mensaje o colocar en un botón con el texto "Pagar".
Antes de declarar la variable payment_sum también se pueden indicar las siguientes variables opcionales:
product_name
nombre del producto (si no se indica, se completa con 'Pago de la factura order_id') - en la captura de abajo se muestra dónde aparece
payment_description
descripción del producto (si no se indica, se completa con 'Pago de la factura order_id', captura abajo) - en la captura de abajo se muestra dónde aparece
discount_value
importe del descuento (por ejemplo discount_value = 25 o discount_value = 50.25)
customer_phone
número de teléfono del comprador, no es obligatorio si se ha pasado el parámetro
customer_email
email del comprador
link_expired
tiempo de vida del enlace de pago, en formato dd.mm.aaaa (por ejemplo 25.01.2021). También se puede en el campo "Calculadora" indicar: link_expired = current_date + 2 (el enlace será válido 2 días hasta las 00:00)
link_expired
también se puede indicar la fecha con hora exacta, separada por un espacio, en formato dd.mm.aaaa hh:mm (por ejemplo: 25.01.2021 12:23). También se pueden usar variables estándar; por ejemplo, asignemos al enlace un tiempo de validez de 30 minutos:
time = current_time + 30 link_expired = "#{current_date} #{time}"
currency
moneda del pago, por defecto "rub". Lista completa de argumentos:
rub
usd
eur
kzt Este parámetro debe pasarse en minúsculas.
payment_title
título del pago (hasta 127 caracteres). Si no se indica, se completa con el texto: “Pago de la factura payment_id” (payment_id - identificador del pedido en Salebot)
payment_description
descripción breve del pago (hasta 127 caracteres)
locale
idioma de la página de pago, se indica como en-US, fr-XC, etc. Por defecto - ‘ru-Ru’. La lista completa está disponible en el enlace https://developer.paypal.com/api/rest/reference/locale-codes/
products_for_receipt
Cadena de 50 a 4000 caracteres en formato "descripción del pedido - precio - enlace al recurso adquirido".
Por ejemplo:
“Curso ‘Pesca de besugo’, precio 4999 rublos, enlace a la página del curso: https://www.lovilescha.ru/courses/poimai_kilogram/".
Obligatoriosi no tiene su propia caja registradora online, para la fiscalización de pagos a través de Prodamus.
payment_sum
(obligatorio) importe del pago
Variables discount_value, customer_phone, customer_email y link_expired también son válidas para suscripciones.

Ejemplo de implementación.
En el primer bloque fijamos el importe del pago:

Luego mostramos en el lugar necesario la url, enlace prodamus_pay_url:

prodamus_available_payment_methods se declara antes de declarar payment_sum.
Valores posibles:
AC
pago con tarjeta emitida en la RF
ACkz
pago con tarjeta de Kazajistán
ACf
pago con tarjetas de países de la CEI, excepto la RF
ACEURNMBX
Pago con tarjeta EUR de todos los países, excepto RF y RB
SBP
Pago rápido, sin introducir los datos de la tarjeta. Para tarjetas de RF
QW
Qiwi wallet
PC
Юmoney
GP
terminal de pago
sbol
Sberbank Online invoice - Pago por factura installment - A plazos de Prodamus
installment_5_21
A plazos de Prodamus a 3 meses
installment_6_28
A plazos de Prodamus a 6 meses
installment_10_28
A plazos de Prodamus a 10 meses
installment_12_28
A plazos de Prodamus a 12 meses installment_0_0_3 - Financiación de Tinkoff a 3 meses
installment_0_0_4
Financiación de Tinkoff a 4 meses
installment_0_0_6
Financiación de Tinkoff a 6 meses
installment_0_0_10
Financiación de Tinkoff a 10 meses
installment_0_0_12
Financiación de Tinkoff a 12 meses
installment_0_0_24
Financiación de Tinkoff a 24 meses
installment_0_0_36
Financiación de Tinkoff a 36 meses
credit
Crédito de Tinkoff
vsegdada_installment_0_0_4
A plazos de VsegdaDa a 4 meses (no funciona con available_payment_methods)
vsegdada_installment_0_0_6
A plazos de VsegdaDa a 6 meses
vsegdada_installment_0_0_10
A plazos de VsegdaDa a 10 meses
vsegdada_installment_0_0_12
A plazos de VsegdaDa a 12 meses sin sobreprecio
vsegdada_installment_0_0_24
A plazos de VsegdaDa a 24 meses
vsegdada_installment_0_0_36
A plazos de VsegdaDa a 36 meses
sbrf_installment_0_0_6
A plazos de SberBank a 6 meses
sbrf_installment_0_0_10
A plazos de SberBank a 10 meses
sbrf_installment_0_0_12
A plazos de SberBank a 12 meses
sbrf_installment_0_0_24
A plazos de SberBank a 24 meses
sbrf_installment_0_0_36
A plazos de SberBank a 36 meses
otp_installment_0_0_6
A plazos del Banco OTP a 6 meses
otp_installment_0_0_10
A plazos del Banco OTP a 10 meses
otp_installment_0_0_12
A plazos del Banco OTP a 12 meses
otp_installment_0_0_24
A plazos del Banco OTP a 24 meses
otp_installment_0_0_36
A plazos del Banco OTP a 36 meses
mts_installment_0_0_6
A plazos del Banco MTS a 6 meses
mts_installment_0_0_10
A plazos del Banco MTS a 10 meses
mts_installment_0_0_12
A plazos del Banco MTS a 12 meses
mts_installment_0_0_24
A plazos del Banco MTS a 24 meses
mts_installment_0_0_36
A plazos del Banco MTS a 36 meses
monetaworld
Tarjetas de bancos del mundo, excepto RF
sbrf_bnpl
A plazos de Sber
Se permite pasar varios valores, separándolos con una barra vertical. Por ejemplo: prodamus_available_payment_methods = "AC|PC|QW"
prodamus_currency - otro parámetro adicional para pasar un importe en una divisa determinada. Valores posibles de la divisa: kzt - para tenge eur - para euro usd - para dólar
Entonces, el importe indicado en el enlace estará en la divisa especificada.
Al recibir el callback payment_callback hay que fijarse en el parámetro currency y currency_sum, en el que habrá la divisa y el importe en esa divisa.
¡Importante! Compruebe si en su página tiene el método de pago en la divisa necesaria, ya que si no está, se pasará a la página sin métodos de pago. Los métodos se conectan a través del soporte. Puede ver los activados en la configuración de la página o generando un enlace de pago


Cómo procesar el resultado
Pago exitoso
¡Importante! Después de un pago exitoso o fallido llegarán callbacks al bot, con los que podrá entender que el pago se realizó correctamente. Estos callbacks en el sistema se ven como mensajes del usuario; para que el usuario no pueda enviarlos, consisten en la clave secreta y un sufijo con el estado, por ejemplo: 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_success o 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_fail. También después de un pago exitoso la variable prodamus_payment_completed se establece en True.
Atención. Los callbacks llegan con retraso, así que después de mostrar el enlace de pago al usuario recomendamos enviar un mensaje como: “Después del pago, espere el mensaje de finalización exitosa del pago”
¡IMPORTANTE! Para los enlaces creados con el botón con la función Pago o con la función en la Calculadora, después del pago al bot AUTOMÁTICAMENTE llegará un CALLBACK que consta de los caracteres de la clave secreta del sistema de pago, la palabra _success y, tras un espacio, el importe del pago. Para usarlo en la configuración del esquema basta con copiarlo.
Por ejemplo: ovg58keefc_successdonde:
ovg58keefc : clave secreta completa
_success : resultado del procesamiento de la solicitud (pago exitoso)
Por ejemplo, puede procesar el pago exitoso mediante un bloque con condición y mostrar el mensaje correspondiente al usuario:

El tipo de comparación 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
Desactivación/reactivación de la suscripción
Además, en Prodamus existen notificaciones sobre la activación/desactivación de la suscripción:

"El suscriptor desactivó la suscripción" - si la suscripción se cancela manualmente (por ejemplo, se dio de baja de la suscripción).
Puede llegar antes de que termine el período pagado actual. Implica una acción a su discreción: ignorarla o ponerla en observación, intentar recuperar al suscriptor.
"El suscriptor reactivó la suscripción" - restauración de la suscripción.
Puede llegar si el suscriptor reactivó la suscripción antes de que termine el período pagado actual. Implica una acción a su discreción: ignorarla o eliminarla de la lista de seguimiento para recuperación.
"Desactivación de la suscripción" - si la suscripción se desactiva tras varios cobros fallidos
Cómo guardar los valores del callback
Después de recibir la notificación de pago exitoso, en la solicitud del cliente (variable payment_callback) se escribirá el callback de Prodamus, con todos los datos del pago recibido. De él se pueden guardar los datos necesarios y usarlos a su discreción. Ejemplo de callback:
{"date": "2021-03-30T11:44:43+03:00", "order_id": "757679", "order_num": "", "domain": "demo.payform.ru", "sum": "14.50", "customer_phone": "+77777777777", "customer_extra": "Aquí descripción del producto", "payment_type": "Tarjeta plástica Visa, MasterCard, MIR", "commission": "3.5", "commission_sum": "0.51", "attempt": "1", "discount_value": "10.5", "products[0][name]": "Acceso a materiales de formación", "products[0][price]": "14.50", "products[0][quantity]": "1", "products[0][sum]": "14.50", "payment_status": "success", "payment_status_description": "Pago exitoso", "payment_init": "manual"}
Al generar el enlace puede indicar variables product_name y payment_description. Entonces, al recibir el callback, se podrán extraer así
product = get(payment_callback,'products[0][name]')
description = get(payment_callback,'customer_extra')

Tenga en cuenta: a la variable payment_sum se le asigna el valor del último, después de las variables opcionales payment_description, product_name
La suma se puede obtener así
summa = get(payment_callback,'sum')
Qué callbacks están disponibles
Además de los callbacks principales de pago exitoso, en el chat con el usuario se muestra un mensaje que el usuario no ve, con los siguientes textos:
El suscriptor desactivó la suscripción (más detalles aquí)
El suscriptor reactivó la suscripción (más detalles aquí)
Suscripción finalizada
Pago no exitoso - nota con explicación (en la captura anterior)
Notificación de próximo cargo - fecha y hora del próximo cargo
Solicitud de pago a plazos con estado
Ejemplos de callbacks en el diálogo con el cliente:
El suscriptor desactivó la suscripción
El suscriptor reactivó la suscripción
Suscripción finalizada
Pago no exitoso - Fondos insuficientes.
Pago no exitoso - La tarjeta ha caducado.
Pago no exitoso - Se ha superado el límite de la tarjeta.
Pago no exitoso - Tarjeta perdida
Pago no exitoso - Error del sistema
Pago no exitoso - Operación rechazada. Póngase en contacto con el banco emisor de la tarjeta.
Pago no exitoso - Rechazo de la operación por el banco emisor.
Pago no exitoso - Rechazo de la operación por el banco.
Notificación de próximo cargo - dd.mm.aaaa hh:mm
Solicitud de pago a plazos aprobada
Solicitud de pago a plazos cancelada
Solicitud de pago a plazos rechazada
Puede leer más sobre la descripción de los errores aquí:
Opcionalmente, se puede configurar el envío al usuario de algún mensaje. Por ejemplo, enviaremos un mensaje indicando que el cobro automático no se pudo realizar. Para la notificación de pago no exitoso con una causa concreta, se puede configurar un bloque con una respuesta, por ejemplo, así:

Para enviar un mensaje a todos los cobros fallidos, independientemente de la causa, se puede configurar del siguiente modo:

Y para todos los callbacks en los que esté presente el texto Pago no exitosoal usuario le llegará un mensaje con el texto que usted haya indicado.
Cómo crear pagos por suscripción
Cómo crear una suscripción
Para crear una suscripción, hay que crear un producto de suscripción. Instrucciones detalladas de cómo hacerlo: https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski
A continuación copiamos el id del producto de suscripción; abajo se muestra de dónde obtenerlo:
Para generar un enlace de pago de suscripción, debe establecer el valor (id del producto de suscripción) de la variable prodamus_subscriptioninmediatamente después aparecerá la variable prodamus_pay_url.

La variable prodamus_pay_url se puede mostrar en pantalla como enlace o colocar en un botón con el texto "Pagar". El enlace tiene este aspecto: https://payform.ru/7p3JR8/
El procesamiento del resultado se realiza igual que en un pago único (leer arriba).
Después de una suscripción exitosa, se añadirá al usuario la variable customer_phone con el número de teléfono introducido al pagar. El número de teléfono es necesario para gestionar la suscripción.
customer_phone es necesario para gestionar la suscripción si no se ha pasado customer_email
Cómo crear un enlace de suscripción con la función get_prodamus_subscription_url
Veamos otra forma de generar un enlace de pago de un producto por suscripción.
Creamos un producto de suscripción en el panel de Prodamus. Instrucciones detalladas de cómo hacerlo: https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski
A continuación copiamos el id del producto de suscripción; abajo se muestra de dónde obtenerlo:
Para obtener un enlace de pago de un producto por suscripción en el Calculador, indicamos la función
get_prodamus_subscription_url(subscription_id, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
Ejemplo 1: Enlace de pago de un producto por suscripción

link = get_prodamus_subscription_url(subscription_id, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
Parámetros de la función:
subscription_id
ID del producto por suscripción. El ID se puede copiar en el panel de Prodamus (parámetro obligatorio)
product_name
Nombre del producto. (parámetro obligatorio)
expired
tiempo de vida del enlace de pago, en formato dd.mm.aaaa (por ejemplo 25.01.2021). También se puede en el campo "Calculadora" indicar: expired = current_date + 2 (el enlace será válido 2 días hasta las 00:00). expired también se puede indicar la fecha con hora exacta, separada por un espacio, en formato dd.mm.aaaa hh:mm (por ejemplo: 25.01.2021 12:23). También se pueden usar variables estándar; por ejemplo, asignemos al enlace un tiempo de validez de 30 minutos:
time = current_time + 30
expired = "#{current_date} #{time}"
Para omitir este parámetro, pase en su lugar un par de comillas simples o dobles, o el valor None
customer_phone
número de teléfono del comprador, no es obligatorio si se ha pasado el parámetro customer_email Para omitir este parámetro, pase en su lugar comillas simples o dobles.
customer_email
email del comprador, no es obligatorio si se ha pasado el parámetro customer_phone Para omitir este parámetro, pase en su lugar comillas simples o dobles.
discount
importe del descuento. Pasamos el parámetro como número o número con punto: 25 o 63.5 Para omitir este parámetro, pase en su lugar comillas simples o dobles.
description
descripción del producto (si no se indica, se completa con 'Pago de la factura order_id') Para omitir este parámetro, pase en su lugar comillas simples o dobles.
extra_params
parámetros adicionales que no existen en esta función.
Los parámetros adicionales posibles se pueden ver en el enlace de la documentación del trabajo con la API del sistema de pago https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov
Ejemplo: extra_params = {"payments_limit": "3"}
Para omitir este parámetro, pase en su lugar un par de comillas simples / un par de comillas dobles o el valor None.
products_for_receipt
Cadena de 50 a 4000 caracteres en formato "descripción del pedido - precio - enlace al recurso adquirido".
Por ejemplo:
“Curso ‘Pesca de besugo’, precio 4999 rublos, enlace a la página del curso: https://www.lovilescha.ru/courses/poimai_kilogram/".
Obligatoriosi no tiene su propia caja registradora online, para la fiscalización de pagos a través de Prodamus.
extra_params = {"payments_limit": "3"}
products_for_receipt = "Curso ‘Pesca de besugo’, precio de la suscripción mensual 2000 rublos, enlace a la página del curso: https://www.lovilescha.ru/courses/poimai_kilogram/"
link_prodamus_sub = get_prodamus_subscription_url(618988, 'Curso ‘Pesca de besugo’', '27.03.2023 17:02', '79167777771', '[email protected]', 20, 'El mejor curso del mercado', extra_params, products_for_receipt)
Si en el bloque hay varias funciones para obtener el enlace y se comete un error, el valor del error se guardará en la variable error_payment_func
El error se guardará en la última función en la Calculadora
Cómo gestionar el estado de la suscripción
El método solo funciona con suscripciones reales; en modo demo no hay enlace con la tarjeta
Para gestionar la suscripción, debe pasarse uno de los parámetros obligatorios customer_phone o customer_email.
Para poder dar de baja al usuario de la suscripción, hay que crear un bloque y llamar a la función: https://store.salebot.pro/function/delete_subscription_prodamus
Con los parámetros:
{ "customer_phone": "#{customer_phone}", "id_subscription":"#{prodamus_subscription}", "url":"https://demo.payform.ru/", "secret_key":"453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66", "switcher":"0" "profile_id":"12345" }
url - URL del formulario de pago indicada en la configuración del constructor secret_key - clave secreta de la configuración id_subscription - id del producto de suscripción customer_phone - teléfono del suscriptor switcher = 0 es detener la suscripción; si se pasa 1, la suscripción se activa de nuevo. profile_id - ID del perfil en el sistema Prodamus
¡Atención!
Si llega el id del perfil, el valor se guardará en la variable profile_id.
profile_id puede pasarse a la función delete_subscription_prodamus en lugar de customer_phone o customer_email para cancelar la suscripción.
Ejemplo de configuración del bloque de suscripción:

Tenga en cuenta que la función devuelve status, que guardamos y podemos procesar a nuestra discreción; en caso de desactivación\activación exitosa status es igual a ok
Función para gestionar la suscripción
prodamus_subscription_switch_status(subscription_id, switcher, customer_phone, customer_email, profile_id)
id_subscription - id del producto de suscripción
switcher = 0 es detener la suscripción; si se pasa 1, la suscripción se activa de nuevo.
customer_phone - teléfono del suscriptor - opcional, si se ha pasado customer_email
customer_email - email del suscriptor - opcional, si se ha pasado customer_phone
profile_id - ID del perfil en el sistema Prodamus

Ejemplo: se ha pasado el parámetro customer_phone, se omitió customer_email
stat = prodamus_subscription_switch_status('618117', '0', '75431312321')
Ejemplo 2: se ha pasado el parámetro customer_email, se omitió customer_phone
stat = prodamus_subscription_switch_status('618117', '0', '', '[email protected]')
La función devolverá ok si todo ha ido bien o la descripción del error
Gestión de descuentos en la suscripción
La función establece el importe del descuento para los pagos posteriores de la suscripción. El descuento puede establecerse para un número limitado o ilimitado de cobros.
prodamus_subscription_discount(subscription_id, discount, customer_phone, num, profile_id) donde: subscription_id - ID de la suscripción discount - número decimal con precisión de hasta dos cifras después de la coma, el valor debe ser mayor que cero y no superar el precio base de la suscripción customer_phone - número de teléfono del cliente en formato: +79999999999 (parámetro opcional, si existe la variable customer_email (aparece tras el primer pago, ver descripción arriba)) num - cantidad de pagos a los que se aplicará el descuento (parámetro opcional; si no se pasa, la cantidad de pagos con descuento no está limitada)
profile_id - ID del perfil en el sistema Prodamus Si la solicitud se ejecuta correctamente, la función devolverá 'ok'; si la solicitud se ejecuta con error, la función devolverá su descripción.
El importe del descuento y el intervalo se sobrescriben SOLO si la función se llama de nuevo con nuevos valores.
Ejemplos:
1. Aplicación de un descuento en todos los pagos automáticos posteriores por 1 rublos (no se indica el número de teléfono, ya que se tomará automáticamente de la variable customer_phone, y el número de cobros con descuento por defecto es durante todo el período de suscripción)
r = prodamus_subscription_discount('624034', '1')
2. Aplicación de un descuento de 2 rublos para los siguientes 3 cobros (el número de teléfono se reemplaza por comillas vacías, ya que se tomará automáticamente de la variable customer_phone)
r = prodamus_subscription_discount('624034', '2', '', '3')
3. Ejemplo de aplicación de un descuento en forma de número con parte fraccionaria hasta centésimas (separador punto), los datos numéricos se indican sin comillas, el número de teléfono se pasa mediante la variable

r = prodamus_subscription_discount(#{prodamus_subscription}, 10.25, #{customer_phone}, 3)
Cómo establecer la fecha del próximo pago de la suscripción
Con este método se puede desplazar la fecha del próximo pago de la suscripción. La fecha solo se puede desplazar "hacia el futuro" respecto a la fecha actual establecida del próximo pago. De este modo se aumenta el tiempo de permanencia en el club.
Por ejemplo, se puede usar como bono para los suscriptores.
Para ello hay que usar la función:
prodamus_subscription_payment_date(subscription_id, date, customer_phone, profile_id)
donde:
subscription_id - id de la suscripción date - fecha en formato dd.mm.aaaa hh:mm o dd.mm.aaaa, entonces la hora será 00:00 customer_phone - no es obligatorio; si no se pasa, se tomará de la variable customer_phone; si allí tampoco se encuentra, no se ejecutará profile_id - ID del perfil en el sistema Prodamus
Cómo pasar parámetros a Prodamus
Para pasar a Prodamus los parámetros que necesites (por ejemplo, la fecha de inicio de la suscripción, desactivar el pago a plazos, etc.), añade prodamus_ al principio del nombre de la variable
Entonces, al generar el enlace de pago, estos parámetros se transmitirán al sistema de pago automáticamente.
Cómo probar el pago
¡Solo probamos el pago!
Para que no se cobren fondos de tu cuenta al probar la integración y la configuración de los embudos de pago, puedes usar tarjetas de prueba
Primero cambia tu página de pago al modo DEMO ⤵
No olvides pulsar el botón "Guardar"

Para realizar un pago de prueba puedes usar cuentas de prueba
Tarjetas de prueba de Sberbank:
MIR Número de tarjeta 2202 2050 0001 2424 Fecha de caducidad 05/35 Código de verificación en el reverso 669
MasterCard Número de tarjeta 5469 9801 0004 8525 Fecha de caducidad 05/26 Código de verificación en el reverso 041 Código de verificación 3-D Secure 111111
Visa Número de tarjeta 4006 8009 0096 2514 Fecha de caducidad 05/26 Código de verificación en el reverso 941 Código de verificación 3-D Secure 111111
¡Al pagar con cuentas de prueba, todos los embudos e integraciones configurados se activarán igual que en un pago normal!
El formulario ha sido probado
Para recibir pagos con dinero real, es necesario poner el formulario en modo operativo. Es decir, mover el interruptor del modo demo a la posición para que se vuelva de color rojo pálido
Última actualización
