Prodamus (KZ)
Como conectar o Prodamus
Para conectar o Prodamus, você precisará do URL do formulário de pagamento e da chave secreta.
O URL do formulário de pagamento será fornecido após o cadastro; o exemplo é: demo.payform.ru.
A chave secreta pode ser obtida no painel pessoal; lá também é necessário informar o URL para o qual as notificações (notification) serão enviadas.

Guia detalhado sobre como fazer isso
Endereço para notificações: https://chatter.mavibot.ai/prodamus_callback/result
Esse endereço precisa ser informado em dois lugares nas configurações.
Na página principal das configurações, você pode escolher o modo de funcionamento do formulário de pagamento: modo demo sem pagamento ou modo de aceitação de pagamentos.

O endereço para notificações precisa ser informado em dois lugares nas configurações do sistema de pagamento: Aba “Configurar formulário” — para pagamentos únicos (normais) e “Assinaturas” — para pagamentos por assinatura.

Endereço para notificações: https://chatter.mavibot.ai/prodamus_callback/result
Para configurar o trabalho com pagamentos por assinatura “Assinaturas” vá para a aba e informe o endereço para notificações:
https://chatter.mavibot.ai/prodamus_callback/result

Atenção! Depois de inserir o URL, não se esqueça de “Salvar” botão.
Para conectar o Prodamus “Cobrança” é necessário acessar a seção.

Depois, basta inserir os dados mencionados acima no formulário:

Importante! Ao informar o URL do formulário de pagamento https:// não inclua.
Assim, a conexão está concluída. Agora vamos ver como usar essa funcionalidade.
Como criar um link de pagamento
Botão com a função “Pagar”
É possível criar um link de pagamento em um botão com a função “Pagar”.
Agora vamos ver todos os parâmetros possíveis desse botão.
Parâmetros obrigatórios do botão “Pagar” para Prodamus
Para criar um link de pagamento, é necessário informar os parâmetros obrigatórios nas configurações do botão: “Valor”, “Nome do produto” e também o parâmetro “Conteúdo pago” — se você não tiver sua própria caixa registradora online e quiser receber o recibo do Prodamus.
Ao acessar a página do pedido, as informações sobre o produto e seu preço são exibidas antecipadamente, e o cliente só insere seus dados de contato.
Se o Email e/ou telefone do usuário forem informados nas configurações do botão, na página do pedido serão exibidos os dados de contato do pagador e as informações sobre o produto e seu preço.

Campo “Texto” — esse texto será exibido na mensagem no botão com o link de pagamento.
Campo “Função” — para criar um botão que gera um link de pagamento, selecionamos a função “Pagar”.
Campo “Sistema de pagamento” — os sistemas de pagamento conectados ao projeto são exibidos na lista. Se nenhum sistema de pagamento estiver conectado ao projeto, esse tipo de botão ficará indisponível.
Campo “Nome do produto” (obrigatório) — é necessário informar o nome exato do produto. Por exemplo: não “Telefone”, mas “Smartphone Xiaomi, modelo …”. Observação: não use aspas duplas no nome do produto; remova-as ou substitua-as por aspas simples.
Campo “Valor” (obrigatório) — informamos o preço do produto.
Menu “Informações adicionais” — ao clicar nesse botão, são exibidos campos adicionais para criar o link:
Descrição do pedido
Desconto em rublos
Variável de Email do comprador
Variável do número de telefone do comprador
Tempo de validade do link
ID do produto para assinatura (para débito automático)
Conteúdo pago
Caixa de seleção “Notificação ao clicar” — pode ser marcada para acompanhar o acesso ao link de pagamento. Nesse caso, ao clicar no botão, uma mensagem chegará ao diálogo do cliente no SaleBot informando que o acesso ao link foi realizado.

Com base nessa mensagem, você pode configurar a lógica posterior do bot. Muitos sistemas de pagamento oferecem suporte a caixas registradoras online em nuvem, necessárias de acordo com a Lei 54-FZ.
Leia no site do sistema de pagamento escolhido as particularidades de emissão de recibos para não ter problemas com a Receita.
Veja como fica a página de pagamento que se abre ao acessar o link no botão “Pagar”:

Configurações adicionais para criar o link de pagamento

Campo “Descrição do pedido” — as informações inseridas neste campo serão exibidas na página de pagamento Dados adicionais campo.
Campo “Desconto” — aqui você pode informar o valor do desconto em rublos ou em rublos e centavos. Para centavos, use ponto como separador: 50.99 Na página de pagamento Valor a pagar o campo será exibido com o desconto aplicado, e o preço original do produto ficará riscado.
Campo “Variável de Email do comprador” (opcional, se o número de telefone for informado) — aqui é informado o Email do usuário (cliente). Também é possível usar uma variável salva de Email, por exemplo: #{email}
Campo “Variável do número de telefone do comprador” (opcional, se o Email for informado) — aqui você pode usar a variável com o número de telefone do comprador, formato: 79000000000, por exemplo: #{phone}
É obrigatório informar Email e/ou telefone.
Campo “Tempo de validade do link” — a data pode ser informada no formato dd.mm.aaaa hh:mm (por exemplo, 25.01.2021 11:00) ou o prazo de expiração do link pode ser definido por meio de variável. Por exemplo: #{link_expired}
Campo “ID do produto para assinatura” — informe o valor do ID do produto para o débito automático. Para criar uma assinatura, é necessário criar um produto de assinatura. Guia completo: Criação e configuração de assinaturas no Prodamus Se o ID do produto para assinatura for informado, o valor do pagamento não é considerado. Os dados do produto são obtidos do cartão do produto no painel do Prodamus. O número de telefone informado no pagamento será necessário para gerenciar a assinatura. Se o ID do produto para assinatura for informado, no callback após pagamento bem-sucedido será enviado o ID desse produto.
Campo “Conteúdo pago” (condicionalmente obrigatório) — esses dados são necessários para fiscalizar o pagamento via Prodamus, se você não tiver sua própria caixa registradora online. Neste campo são informadas a descrição da compra, o preço e o link para o conteúdo.
Por exemplo: curso “Trançando cabelos”, preço de 3000 rublos, link para a página do curso: https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911
Botão com a função “Pagar”
Se você informar o tempo de validade do link, ocorrerá o seguinte: Se o usuário solicitar o link de pagamento dentro do prazo de validade dele (ou seja, enquanto o tempo do link ainda não tiver expirado) e estiver no diálogo, não será possível efetuar o pagamento, e a seguinte mensagem será exibida para ele:
O prazo de validade do link deve ser posterior à data atual, caso contrário o cliente não poderá pagar com esse link.
2. Quando o usuário solicitar o link, se ele não estiver ativo no momento
Nesse caso, o botão simplesmente não será exibido. Nas variáveis do cliente "error_payment_button" a variável aparecerá, cujo valor será o seguinte:
"Erro: o prazo de validade do link deve ser posterior à data atual".
Para que o usuário possa efetuar o pagamento corretamente, recomenda-se tratar essa situação separadamente.
Crie um bloco condicional assim:
Se chegar a seguinte mensagem:
error_payment_button == "Erro: o prazo de validade do link deve ser posterior à data atual"
Então exiba o seguinte texto: "Desculpe, você não conseguiu efetuar o pagamento a tempo; o link de pagamento ficou inválido".


Variáveis de cliente criadas automaticamente ao usar o botão com a função “Pagar”
No momento em que o usuário recebe o bloco com o botão “Pagar”, são criadas automaticamente variáveis para o cliente:
Variável de cliente de serviço __payments — essa variável armazena o valor e o identificador do link criado e é necessária para identificar o webhook que vem do sistema de pagamento.
Variável de cliente de serviço __payments-não pode ser desativado ou alterado!
error_payment_button variável de cliente é criada automaticamente se ocorrer um erro ao gerar o botão.
Nessa variável será gravado o texto do erro ou a resposta de erro do sistema de pagamento.
Os valores das variáveis ficarão válidos quando o próximo bloco for acessado.
Como tratar o resultado
Pagamento bem-sucedido
Após um pagamento bem-sucedido, o bot recebe CALLBACK AUTOMATICAMENTE que consiste nos 10 primeiros caracteres da chave secreta do sistema de pagamento, _success e do valor do pagamento.
Para usar na configuração do esquema, basta copiá-lo.
Exemplo: ovg58keefc_success 44, onde:
ovg58keefc— os 10 primeiros caracteres da chave secreta do sistema de pagamento_success— resultado do processamento da solicitação (pagamento bem-sucedido)44— valor do pagamento
O usuário NÃO VÊ os callbacks (mensagens) do sistema de pagamento. Eles só “Clientes” aba e ficam visíveis para o operador.
Exemplo de uso: Passo 1. Adicionamos botões com a função “Pagar” ao bloco “Botão com pagamento”. Passo 2. O callback Condição de ligação é indicado no campo. Da mesma forma, se você indicar o callback de pagamento bem-sucedido na condição do bloco “Condição inicial”, o funcionamento ocorrerá de forma análoga.
Importante: Selecionar “Correspondência exata” ou “Contém palavras-chave”.
❗️Se você decidir verificar o pagamento exatamente na seta indicada pela condição, pense cuidadosamente na lógica do seu fluxo. Se o cliente sair do bloco que passa pela condição com o callback, a transição para o bloco não acontecerá. Esse método de verificação é mais adequado apenas quando o cliente não muda de posição no funil.
Em esquemas onde o cliente se move entre blocos, é mais eficaz usar o callback “Condição inicial” no bloco.

Pagamento bem-sucedido para produtos com assinatura automática
Após um pagamento bem-sucedido, o bot recebe CALLBACK AUTOMATICAMENTE que consiste nos 10 primeiros caracteres da chave secreta do sistema de pagamento, _success e do ID do produto da assinatura.
Exemplo: 214009eefc_success 618117, onde:
009eefc— os 10 primeiros caracteres da chave secreta do sistema de pagamento_success— resultado do processamento da solicitação (pagamento bem-sucedido)618117— ID do produto da assinatura

Pagamento com erro
No caso de erro ao realizar o pagamento, o bot recebe CALLBACK AUTOMATICAMENTE que consiste nos 10 primeiros caracteres da chave secreta do sistema de pagamento, _fail e do valor do pagamento.
Exemplo: ovg58keefc_fail 44, onde:
ovg58keefc— os 10 primeiros caracteres da chave secreta do sistema de pagamento_fail— resultado do processamento da solicitação (pagamento não realizado ou com erro)44— valor do pagamento
Isso depende do sistema de pagamento. Nem todos os sistemas enviam callback de falha de pagamento.
Se o valor informado nas configurações do botão for diferente do valor pago pelo cliente, o bot recebe CALLBACK AUTOMATICAMENTE que consiste nos 10 primeiros caracteres da chave secreta do sistema de pagamento, _different_amounts e do identificador único do pagamento.
Exemplo: ovg58keefc_different_amounts 123456, onde:
ovg58keefc— os 10 primeiros caracteres da chave secreta do sistema de pagamento_different_amounts— resultado do processamento da solicitação (o valor do pagamento é diferente do valor no link)123456— identificador único do pagamento
Na calculadora get_prodamus_payment_url função
get_prodamus_payment_url funçãoPara criar um link de pagamento No bloco Calculadora get_prodamus_payment_url função pode ser usada.
No campo da Calculadora atribuímos à variável o valor desta função: get_prodamus_payment_url.
Você escolhe o nome da variável. Nas capturas de tela são mostrados exemplos de nomes de variáveis.
Nessa variável será gravado o link de pagamento. A variável pode ser exibida na mensagem como link ou colocada em um botão com o texto “Pagar”.
Exemplo de link de pagamento: https://payform.kz/7p3JR8/
Exemplo 1:

your_variable = get_prodamus_payment_url(amount, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
Parâmetros da função:
amount
Valor do pagamento — pode ser informado como número inteiro ou número com separador decimal. Por exemplo: 25 ou 52.5. (parâmetro obrigatório)
product_name
Nome do produto (parâmetro obrigatório)
expired
Tempo de validade do link de pagamento — dd.mm.aaaa no formato (por exemplo, 25.01.2021).
Além disso, Calculadora no campo você pode informar assim:
expired = current_date + 2 (o link será válido por 2 dias até 00:00).
Também é possível informar um horário exato: dd.mm.aaaa hh:mm (por exemplo, 25.01.2021 12:23).
Também é possível usar variáveis padrão, por exemplo, definir a validade do link por 30 minutos:
Se você quiser omitir esse parâmetro, pode usar em vez disso uma aspa simples, aspas duplas ou None valor.
customer_phone
Número de telefone do comprador — opcional, se customer_email o parâmetro for informado.
Se você quiser omitir esse parâmetro, pode usar em vez disso uma aspa simples ou aspas duplas.
customer_email
Endereço de Email do comprador — opcional, se customer_phone o parâmetro for informado.
Se você quiser omitir esse parâmetro, pode usar em vez disso uma aspa simples ou aspas duplas.
discount
Valor do desconto — o parâmetro pode ser informado como número inteiro ou número com ponto: 25 ou 63.5.
Se você quiser omitir esse parâmetro, pode usar em vez disso uma aspa simples ou aspas duplas.
description
Descrição do produto (se não for informado, será preenchido automaticamente com 'Pagamento da fatura order_id' ).
Se você quiser omitir esse parâmetro, pode usar em vez disso uma aspa simples ou aspas duplas.
extra_params
Parâmetros adicionais, parâmetros que não existem nesta função. Os parâmetros adicionais disponíveis podem ser vistos na documentação de trabalho com a API do sistema de pagamento: API REST do Prodamus
Exemplo:
Se você quiser omitir esse parâmetro, use em vez disso uma aspa simples/aspas duplas ou None valor.
products_for_receipt
string de 50 a 4000 caracteres no formato "descrição do pedido - preço - link para o recurso adquirido".
Por exemplo:
“Curso ‘Pesca de peixe-louco’, preço 4999 rublos, link para a página do curso: https://www.lovilescha.ru/courses/poimai_kilogram/"
Este parâmetro é obrigatório se você não tiver sua própria caixa registradora online; ele é necessário para fiscalizar o pagamento via Prodamus.
extra_params = {"payments_limit": "3"}
products_for_receipt = "Curso ‘Pesca de peixe-louco’, preço 4999 rublos, link para a página do curso: https://www.lovilescha.ru/courses/poimai_kilogram/"
link_prodamus_url = get_prodamus_payment_url( 4999, 'Curso ‘Pesca de peixe-louco’', '27.03.2023 17:00', '79167777771', 'mail@mail.com', 20, 'O melhor curso do mercado', extra_params, products_for_receipt
Neste exemplo:
extra_params— parâmetros adicionais (por exemplo, limite de pagamento).products_for_receipt— informações sobre o produto exibidas no recibo.get_prodamus_payment_urlo link de pagamento é gerado pela função.
Se houver várias funções de obtenção de links no bloco e ocorrer um erro, o valor do erro será gravado na variável error_payment_func .
O erro é gravado no Calculadora pela última função.
payment_sum variável e criação de links por meio de parâmetros adicionais
payment_sum variável e criação de links por meio de parâmetros adicionaisAtenção: payment_sum o valor da variável é recebido da última variável, ou seja, após as variáveis não obrigatórias: payment_description, product_name etc.
Para criar um link de pagamento No campo da Calculadora payment_sum basta definir o valor da variável.
Depois disso, automaticamente prodamus_pay_url a variável aparecerá.
Exemplo de link de pagamento: https://payform.ru/7p3JR8/
Essa variável pode ser exibida na mensagem como link ou colocada em um botão com o texto “Pagar”.
payment_sum Antes de declarar a variável, podem ser informadas as seguintes variáveis opcionais:
product_name
Nome do produto (se não for informado, será preenchido automaticamente com "Pagar fatura order_id") – na captura de tela abaixo é mostrado onde isso é exibido.
payment_description
Descrição do produto (se não for informado, será preenchido automaticamente com 'Pagamento da fatura order_id' será preenchido) – na captura de tela abaixo é mostrado onde isso é exibido.
discount_value
Valor do desconto (por exemplo, discount_value = 25 ou discount_value = 50.25)
customer_phone
Número de telefone do comprador — opcional, se outro parâmetro for informado.
customer_email
Endereço de Email do comprador
link_expired
Tempo de validade do link de pagamento — dd.mm.aaaa no formato (por exemplo, 25.01.2021).
Além disso, Calculadora no campo você pode informar assim:
link_expired = current_date + 2 (o link será válido por 2 dias até 00:00).
link_expired
Além disso, é possível informar um horário exato, formato: dd.mm.aaaa hh:mm (por exemplo, 25.01.2021 12:23).
Também é possível usar variáveis padrão, por exemplo, definir a validade do link por 30 minutos:
time = current_time + 30 link_expired = "#{current_date} #{time}"
currency
Moeda do pagamento, por padrão "rub".
Lista completa de argumentos:
rubusdeurkzt
Esse parâmetro deve ser informado em letras minúsculas.
payment_title
Título do pagamento (até 127 caracteres). Se não for informado, será preenchido automaticamente com o seguinte texto:
“Pagar fatura payment_id” (payment_id — identificador do pedido no MaviBot).
payment_description
Breve descrição do pagamento (até 127 caracteres)
locale
Idioma da página de pagamento — en-US, fr-XC é exibido no formato etc. Valor padrão – ru-RU.
A lista completa pode ser consultada no link a seguir
products_for_receipt
string de 50 a 4000 caracteres no formato "descrição do pedido - preço - link para o recurso adquirido".
Por exemplo:
“Curso ‘Pesca de breme’, preço de 4999 tenge, link para a página do curso: https://www.lovilescha.ru/courses/poimai_kilogram/"
Este é um parâmetro obrigatório, necessário para fiscalizar pagamentos via Prodamus, caso você não tenha sua própria caixa registradora online.
payment_sum
(obrigatório) valor do pagamento
discount_value, customer_phone, customer_email e link_expired as variáveis também são relevantes para assinaturas.

Exemplo de implementação. No primeiro bloco, definimos o valor do pagamento:

Na próxima etapa, onde for necessário prodamus_pay_url exibimos o link:

prodamus_available_payment_methods variável payment_sum é definido antes da publicação.
Valores possíveis:
AC
Pagamento com cartão emitido na Rússia
ACkz
Pagamento com cartão do Cazaquistão
ACf
Pagamento com cartões dos países da CEI, exceto a Rússia
ACEURNMBX
Pagamento com cartões EUR de todos os países, exceto Rússia e Belarus
SBP
Pagamento rápido, sem inserir dados do cartão. Para cartões russos
QW
Carteira Qiwi
PC
YooMoney
GP
Terminal de pagamento
sbol
Sberbank Online
invoice
Pagamento por fatura
installment
Parcelamento via Prodamus
installment_5_21
Parcelamento em 3 meses via Prodamus
installment_6_28
Parcelamento em 6 meses via Prodamus
installment_10_28
Parcelamento em 10 meses via Prodamus
installment_12_28
Parcelamento em 12 meses via Prodamus
installment_0_0_3
Parcelamento em 3 meses via Tinkoff
installment_0_0_4
Parcelamento em 4 meses via Tinkoff
installment_0_0_6
Parcelamento em 6 meses via Tinkoff
installment_0_0_10
Parcelamento em 10 meses via Tinkoff
installment_0_0_12
Parcelamento em 12 meses via Tinkoff
installment_0_0_24
Parcelamento em 24 meses via Tinkoff
installment_0_0_36
Parcelamento em 36 meses via Tinkoff
crédito
Crédito via Tinkoff
vsegdada_installment_0_0_4
Parcelamento em 4 meses via “ВсегдаДа” (não funciona com available_payment_methods)
vsegdada_installment_0_0_6
Parcelamento em 6 meses via “ВсегдаДа”
vsegdada_installment_0_0_10
Parcelamento em 10 meses via “ВсегдаДа”
vsegdada_installment_0_0_12
Parcelamento em 12 meses via “ВсегдаДа”
vsegdada_installment_0_0_24
Parcelamento em 24 meses via “ВсегдаДа”
vsegdada_installment_0_0_36
Parcelamento em 36 meses via “ВсегдаДа”
sbrf_installment_0_0_6
Parcelamento em 6 meses via Sberbank
sbrf_installment_0_0_10
Parcelamento em 10 meses via Sberbank
sbrf_installment_0_0_12
Parcelamento em 12 meses via Sberbank
sbrf_installment_0_0_24
Parcelamento em 24 meses via Sberbank
sbrf_installment_0_0_36
Parcelamento em 36 meses via Sberbank
otp_installment_0_0_6
Parcelamento em 6 meses via o Banco OTP
otp_installment_0_0_10
Parcelamento em 10 meses via o Banco OTP
otp_installment_0_0_12
Parcelamento em 12 meses via o Banco OTP
otp_installment_0_0_24
Parcelamento em 24 meses via o Banco OTP
otp_installment_0_0_36
Parcelamento em 36 meses via o Banco OTP
mts_installment_0_0_6
Parcelamento em 6 meses via o Banco MTS
mts_installment_0_0_10
Parcelamento em 10 meses via o Banco MTS
mts_installment_0_0_12
Parcelamento em 12 meses via o Banco MTS
mts_installment_0_0_24
Parcelamento em 24 meses via o Banco MTS
mts_installment_0_0_36
Parcelamento em 36 meses via o Banco MTS
monetaworld
Cartões de bancos do mundo todo, exceto Rússia
sbrf_bnpl
Parcelamento via Sber
Múltiplos valores com barra vertical é permitido dividir. Exemplo:
prodamus_currency – este é outro parâmetro adicional, que permite exibir o valor em uma moeda específica.
Moedas possíveis:
kzt– para tengeeur– para eurousd– para dólar
Assim, o valor exibido no link será na moeda selecionada.
Callback payment_callback ao receber currency e currency_sum é preciso prestar atenção aos parâmetros, nos quais a moeda e o valor são indicados.
Se não for especificado, você será levado para a página sem métodos de pagamento. Os métodos de pagamento podem ser adicionados com suporte. Os métodos adicionados podem ser vistos nas configurações da página ou por meio de um link de pagamento.


Como tratar o resultado
Pagamento bem-sucedido
Importante: Após um pagamento bem-sucedido ou malsucedido, callbacks chegam ao bot, com os quais você pode identificar se o pagamento foi concluído com sucesso.
Os callbacks aparecem no sistema como mensagens de usuário, mas não podem ser enviados pelo usuário. Eles vêm na forma de uma combinação de chave secreta e status. Exemplo:
ou
Após um pagamento bem-sucedido prodamus_payment_completed assume automaticamente True o valor.
Observação: Os callbacks chegam com um pequeno atraso, então é melhor enviar uma mensagem ao usuário depois de enviar o link:
“Após realizar o pagamento, aguarde a confirmação de que o pagamento foi concluído com sucesso.”
Estrutura do callback
Para links criados pelo botão de pagamento ou pela função no Calculador, após o pagamento um callback chega automaticamente ao bot. Ele consiste em:
Exemplo:
ovg58keefc– chave secreta completa do sistema de pagamento_success— resultado do processamento da solicitação (pagamento bem-sucedido)
Aplicação prática
É possível processar o pagamento bem-sucedido por meio de um bloco condicional e exibir ao usuário a mensagem apropriada.

O tipo de comparação deve ser "Full match" / "Correspondência exata"
Para fazer um novo pagamento, é obrigatório payment_sum zerar a variável e excluir o link criado anteriormente. Só então payment_sum você pode atribuir um novo valor à variável
Desativação/reativação da assinatura
Além disso, no sistema Prodamus há notificações sobre a ativação ou suspensão da assinatura:

«A assinatura foi desativada pelo usuário» – se a assinatura for suspensa manualmente (por exemplo, em caso de cancelamento da assinatura). Essa mensagem pode chegar antes do fim do período atual já pago. A ação depende da sua decisão: ignorar, monitorar ou tentar recuperar o usuário.
«A assinatura foi reativada pelo usuário» – a assinatura foi restaurada. Essa mensagem pode chegar se o usuário restaurar a assinatura antes do fim do período atual já pago. A ação depende da sua decisão: ignorar ou remover da lista de monitoramento.
«Desativação da assinatura» – em caso de suspensão da assinatura após várias tentativas de pagamento malsucedidas.
Salvando valores do callback
Após o recebimento da mensagem sobre pagamento bem-sucedido payment_callback a variável receberá um callback do Prodamus, contendo todos os dados do pagamento. Esses dados podem ser salvos e usados da forma que você precisar.
Exemplo de callback:
Ao criar o link product_name e payment_description é possível especificar variáveis. Nesse caso, quando o callback chegar, elas podem ser obtidas assim:

Atenção: payment_sum a variável recebe o último valor, que das variáveis opcionais vem depois: payment_description, product_name.
O valor pode ser obtido assim:
Callbacks disponíveis
Além dos principais callbacks de pagamento bem-sucedido, as mensagens que o usuário não vê no chat são as seguintes:
callbacks
O assinante desativou a assinatura (mais detalhes aqui)
O assinante reativou a assinatura (mais detalhes aqui)
Assinatura concluída
Pagamento malsucedido - observação com explicação (na captura de tela acima)
Notificação de cobrança futura - data e hora da próxima cobrança
Pedido de parcelamento com status
Exemplos de callbacks no diálogo com o cliente
O assinante desativou a assinatura
O assinante reativou a assinatura
Assinatura concluída
Pagamento malsucedido - Fundos insuficientes.
Pagamento malsucedido - Cartão vencido.
Pagamento malsucedido - Limite do cartão excedido.
Pagamento malsucedido - Cartão perdido
Pagamento malsucedido - Erro do sistema
Pagamento malsucedido - Operação recusada. Entre em contato com o banco emissor do cartão.
Pagamento malsucedido - Operação recusada pelo banco emissor.
Pagamento malsucedido - Operação recusada pelo banco.
Notificação de cobrança futura - dd.mm.aaaa hh:mm
Solicitação de parcelamento aprovada
Solicitação de parcelamento cancelada
Solicitação de parcelamento recusada
Opcionalmente, você pode configurar o envio de qualquer mensagem ao usuário. Por exemplo, enviar uma mensagem em caso de falha no pagamento automático.
Você pode configurar blocos de resposta para a mensagem de falha de pagamento com um motivo específico da seguinte forma:

Para enviar uma mensagem para todos os pagamentos malsucedidos, independentemente do motivo, você pode configurar assim:

Em todos os callbacks, se no texto «Pagamento malsucedido» a mensagem com o texto que você definiu será enviada ao usuário.
Como realizar um pagamento por assinatura
Como criar uma assinatura
Para criar uma assinatura, primeiro produto por assinatura é necessário criar. Instruções completas: Como criar e configurar uma assinatura
Depois, do produto por assinatura, o ID copiamos. Por exemplo, abaixo mostra onde obter:
Para gerar o link de pagamento de um produto por assinatura, prodamus_subscription na variável do produto por assinatura o ID é necessário definir. Depois disso, automaticamente prodamus_pay_url a variável aparecerá.

Tradução para o cazaque (estilo formal):
prodamus_pay_url a variável pode ser exibida como link na tela ou colocada em um botão com o texto “Pagar”. Exemplo de link: https://payform.kz/7p3JR8/
O processamento do resultado é feito da mesma forma que no pagamento único (como você leu acima).
Após uma assinatura bem-sucedida, ao usuário é adicionado o customer_phone variável inserida no pagamento. O número de telefone é necessário para gerenciar a assinatura.
Se customer_email não for fornecido, para gerenciar a assinatura customer_phone é obrigatório.
get_prodamus_subscription_url como criar um link para a assinatura com a função
get_prodamus_subscription_url como criar um link para a assinatura com a funçãoVamos ver outra forma de criar um link de pagamento da assinatura para um produto.
Um produto por assinatura é criado no painel do Prodamus. O guia completo pode ser visto no link a seguir: Como criar e configurar uma assinatura
Depois, do produto por assinatura, o ID copiamos. Por exemplo, abaixo mostra onde obter:
Para obter o link de pagamento de um produto por assinatura no Calculador, indicamos a função
get_prodamus_subscription_url(subscription_id, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
Exemplo 1: Link de pagamento do produto por assinatura

link = get_prodamus_subscription_url(subscription_id, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
Parâmetros da função:
subscription_id
ID do produto por assinatura – pode ser copiado do painel do Prodamus (parâmetro obrigatório).
product_name
Nome do produto (parâmetro obrigatório).
expired
Tempo de validade do link de pagamento – no formato dd.mm.aaaa (por exemplo, 25.01.2021).
Também pode ser especificado no campo “Calculador”:
expired o parâmetro também pode ser especificado com hora exata, formato: dd.mm.aaaa hh:mm (por exemplo, 25.01.2021 12:23).
Também podem ser usadas variáveis padrão, por exemplo, para definir a validade do link para 30 minutos:
Se quiser omitir esse parâmetro, use aspas simples ou duplas, ou None valor.
customer_phone
Número de telefone do pagador — opcional, se customer_email parâmetro.
Se quiser omitir esse parâmetro, use aspas simples ou duplas.
customer_email
E-mail do pagador — opcional, se customer_phone parâmetro.
Se quiser omitir esse parâmetro, use aspas simples ou duplas.
discount
Valor do desconto – o parâmetro pode ser informado como número inteiro ou decimal: 25 ou 63,5.
Se quiser omitir esse parâmetro, use aspas simples ou duplas.
description
Descrição do produto – se não for informado, por padrão 'Pagamento da fatura order_id' é preenchido.
Se quiser omitir esse parâmetro, use aspas simples ou duplas.
extra_params
Parâmetros adicionais, são parâmetros que não existem nesta função. Os possíveis parâmetros adicionais podem ser consultados na documentação da API do sistema de pagamento: Guia da API REST do Prodamus
Exemplo:
Se quiser omitir esse parâmetro, use aspas simples/duplas ou None valor.
products_for_receipt
uma string de 50 a 4000 caracteres, formato: "descrição do pedido - preço - link para o recurso adquirido"
Exemplo: Curso «Pesca de breme», preço de 4999 tenge, link para a página do curso: https://www.lovilescha.ru/courses/poimai_kilogram/.
Este parâmetro é obrigatório, é necessário para fiscalizar pagamentos via Prodamus, caso você não tenha sua própria caixa registradora online.
extra_params = {"payments_limit": "3"}
products_for_receipt = "Curso ‘Pesca de breme’, preço da assinatura mensal 2000 tenge, link para a página do curso: https://www.lovilescha.ru/courses/poimai_kilogram/"
link_prodamus_sub = get_prodamus_subscription_url(618988, 'Curso ‘Pesca de breme’', '27.03.2023 17:02', '79167777771', 'mail@mail.com', 20, 'O melhor curso do mercado', extra_params, products_for_receipt)
Se houver erro ao obter o link no bloco por meio de várias funções, o valor do erro error_payment_func na variável é gravado.
O erro é gravado no Calculadora pela última função.
Como gerenciar o status da assinatura
Este método é destinado apenas a assinaturas reais; no modo de demonstração não há vinculação de cartão.
Para gerenciar a assinatura, é obrigatório customer_phone ou customer_email um dos parâmetros deve ser fornecido.
Para retirar o usuário da assinatura, é necessário criar um bloco e chamar a seguinte função: delete_subscription_prodamus
Exemplo de parâmetros:
url– URL do formulário de pagamento, obtida das configurações no construtorsecret_key– chave secreta obtida das configuraçõesid_subscription– ID do produto de assinaturacustomer_phone– telefone do titular da assinaturaswitcher– gerenciamento da assinatura:0– encerrar a assinatura,1– reativar a assinaturaprofile_id– ID do perfil no sistema Prodamus
Observação:
Se o ID do perfil vier, ele será salvo na profile_id variável.
profile_id à função customer_phone ou customer_email e a assinatura pode ser encerrada.
Exemplo: configuração dos blocos de assinatura

Observe que a função status retorna, você pode salvá-lo e processá-lo como quiser. Ao encerrar ou reativar a assinatura com sucesso, status = ok será.
Função para gerenciar a assinatura
prodamus_subscription_switch_status(subscription_id, switcher, customer_phone, customer_email, profile_id) Parâmetros:
subscription_id – ID do produto de assinatura
switcher – gerenciamento da assinatura: 0 – encerrar a assinatura, 1 – reativar a assinatura
customer_phone – telefone do titular da assinatura; opcional, se customer_email for informado
customer_email – endereço de e-mail do titular da assinatura; opcional, se customer_phone for informado
profile_id – ID do perfil no sistema Prodamus

Tradução para o cazaque (estilo formal):
Exemplo 1: customer_phone o parâmetro é fornecido, customer_email omitido:
Exemplo 2: customer_email o parâmetro é fornecido, customer_phone omitido:
A função retorna ok se todas as operações forem concluídas com sucesso, ou a descrição do erro em caso de falha.
Gerenciamento de descontos na assinatura
Esta função define o valor do desconto para os próximos pagamentos da assinatura. O desconto limitado ou ilimitado número de pagamentos.
Parâmetros:
subscription_id– ID da assinaturadiscount– número decimal com precisão de duas casas após o ponto; o valor deve ser maior que zero e não pode exceder o custo base da assinaturacustomer_phone– número de telefone do cliente, formato:+79999999999(opcional, secustomer_emailvariável estiver presente; ela aparece após o primeiro pagamento)num– número de pagamentos aos quais o desconto será aplicado (opcional; se não for especificado, o desconto será aplicado a todos os pagamentos)profile_id– ID do perfil no sistema Prodamus
Se a solicitação for concluída com sucesso, a função 'ok' retorna; se ocorrer um erro, a função retorna a descrição do erro.
O valor do desconto e o intervalo serão sobrescritos apenas se a função for chamada novamente com novos valores!
Exemplos:
1. Conceder um desconto de 1₽ em todos os próximos pagamentos automáticos (o número de telefone não é informado, pois ele é obtido automaticamente customer_phone da variável; o valor do desconto é aplicado por padrão a todo o período da assinatura):
2. Exemplo de concessão de desconto de 2₽ nos próximos 3 pagamentos (o número de telefone é informado com aspas vazias, pois ele é obtido automaticamente customer_phone da variável):
3. Exemplo de indicação de desconto com casas decimais (o separador é um ponto, os valores são informados sem aspas), o número de telefone pode ser passado por uma variável.

r = prodamus_subscription_discount(#{prodamus_subscription}, 10.25, #{customer_phone}, 3)
Como definir a data do próximo pagamento da assinatura
Com este método, você pode adiar a data do próximo pagamento da assinatura. A data só pode ser movida para o "futuro" em relação à data do próximo pagamento atualmente definida, aumentando assim o período de participação no clube.
Por exemplo, isso pode ser usado como bônus para os assinantes.
Para isso, é necessário usar a seguinte função:
Parâmetros:
subscription_id– identificador da assinaturadate– data no formato dd.mm.aaaa hh:mm ou dd.mm.aaaa; se apenas dd.mm.aaaa for informado, a hora será 00:00customer_phone– opcional; se não for informado,customer_phoneserá obtido da variável; se não for encontrado, a função não funcionaráprofile_id– ID do perfil no sistema Prodamus
Como enviar parâmetros para o Prodamus
Para enviar os parâmetros necessários (por exemplo, a data de início da assinatura, desativar o parcelamento etc.) ao sistema Prodamus, adicione o prefixo prodamus_ ao nome da variável.
Depois, ao gerar o link de pagamento, os parâmetros dessa variável serão enviados automaticamente ao sistema de pagamento.
Como testar o pagamento
Estamos testando apenas o pagamento!
Para que não sejam cobrados valores da sua conta ao configurar a integração e os funis de pagamento, você pode usar cartões de teste.
Primeiro, altere sua página de pagamento para o MODO DEMO ⤵ Não se esqueça de clicar no botão «Salvar».

Para realizar um pagamento de teste, você pode usar contas de teste.
Cartões de teste do Sberbank:
MIR Número do cartão: 2202 2050 0001 2424 Validade: 05/35 Código de segurança no verso (CVV): 669
MasterCard Número do cartão: 5469 9801 0004 8525 Validade: 05/26 Código de segurança no verso (CVV): 041 Código de verificação 3‑D Secure: 111111
Visa Número do cartão: 4006 8009 0096 2514 Validade: 05/26 Código de segurança no verso (CVV): 941 Código de verificação 3‑D Secure: 111111
❗️Ao fazer pagamentos com contas de teste, todos os funis e integrações configurados funcionam como em um pagamento normal❗️
Formulário verificado
Para aceitar pagamentos reais, o formulário modo de operação precisa ser alterado. Ou seja, o alternador do modo demo deve ser colocado na posição vermelho claro deve ficar.
Atualizado