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

Instrução completa sobre como fazer isso
Endereço para notificações: https://chatter.mavibot.ai/prodamus_callback/result
Esse endereço deve 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 recebimento de pagamentos.

O endereço para notificações deve ser informado em dois lugares nas configurações do sistema de pagamento: na aba «Configuração do formulário» — para pagamentos únicos (normais) e na aba «Assinaturas» — para pagamentos por assinatura.

Endereço para notificações: https://chatter.mavibot.ai/prodamus_callback/result
Para configurar o funcionamento com pagamentos por assinatura, na aba «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 a URL, обязательно clique no botão «Salvar». түймесін басыңыз.
Para conectar o Prodamus, é necessário ir para a seção «Cobrança».

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

Importante! Ao informar a URL do formulário de pagamento, https:// não adicione.
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 analisar 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», assim como o parâmetro «Conteúdo pago» — se você não tiver sua própria caixa registradora online e quiser receber um 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 apenas insere seus dados de contato.
Se o Email e/ou telefone do usuário estiverem 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» — este texto será exibido na mensagem do botão com o link de pagamento.
Campo «Função» — para criar um botão que gere um link de pagamento, selecionamos a função «Pagar».
Campo «Sistema de pagamento» — os sistemas de pagamento conectados ao projeto serão exibidos na lista. Se nenhum sistema de pagamento estiver conectado ao projeto, esse tipo de botão não estará disponível.
Campo «Nome do produto» (obrigatório) — é necessário informar o nome exato do produto. Por exemplo: não «Telefone», mas sim «Smartphone Xiaomi, modelo …». Observação: não é permitido usar 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 abertos campos adicionais para criar o link:
Descrição do pedido
Desconto em rublos
Variável do email do comprador
Variável do número de telefone do comprador
Prazo de validade do link
ID do produto para assinatura (para criar pagamento recorrente)
Conteúdo pago
Caixa de seleção «Notificação ao clicar» — pode ser marcada para monitorar a abertura do link de pagamento. Nesse caso, ao clicar no botão, uma mensagem será enviada ao diálogo do cliente no Salebot informando que o link foi acessado.

Com essa mensagem, é possível configurar a lógica de trabalho subsequente do bot. Muitos sistemas de pagamento suportam caixas registradoras online em nuvem, que são exigidas conforme a lei 54-FZ.
Leia no site do sistema de pagamento escolhido as particularidades da emissão de recibos para não ter problemas com a fiscalização tributária.
Veja como fica a página de pagamento que se abre ao acessar o link no botão «Pagar»:

Configurações adicionais para criar um link de pagamento

Campo «Descrição do pedido» — as informações inseridas neste campo sã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, no campo Valor a pagar o desconto será considerado, e o preço principal do produto será riscado.
Campo «Variável do Email do comprador» (opcional, se o número de telefone for informado) — aqui é exibido o Email do usuário (cliente). Também é possível usar uma variável em que o Email esteja salvo, por exemplo: #{email}
Campo «Variável do número de telefone do comprador» (opcional, se o Email for informado) — aqui você pode usar uma variável com o número de telefone do comprador, formato: 79000000000, por exemplo: #{phone}
É obrigatório informar Email e/ou telefone.
Campo «Prazo de validade do link» — a data dd.mm.aaaa hh:mm pode ser informada nesse formato (por exemplo, 25.01.2021 11:00) ou o prazo de expiração do link pode ser definido por uma variável. Por exemplo: #{link_expired}
Campo «ID do produto para assinatura» — informe o ID do produto para criar o pagamento recorrente. Para criar uma assinatura, é necessário criar um produto de assinatura. Instrução completa: Criação e configuração de assinaturas no Prodamus Se um ID de produto for informado para a assinatura, o valor do pagamento não será considerado. As informações do produto são obtidas 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 um ID de produto for informado para a assinatura, em caso de pagamento bem-sucedido, o callback retornará o ID desse produto.
Campo «Conteúdo pago» (condicionalmente obrigatório) — esses dados são necessários para a fiscalização do pagamento via Prodamus, se você não tiver sua própria caixa registradora online. Neste campo, são informados a descrição da compra, o preço e o link para o conteúdo.
Por exemplo: Curso ‘Trança de cabelo’, 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 prazo 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 ele estiver no diálogo, o pagamento não poderá ser realizado, e a seguinte mensagem será exibida:
O prazo de validade do link deve ser posterior à data atual, caso contrário o cliente não conseguirá 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" aparecerá a variável, cujo valor será o seguinte:
"Erro: o prazo de validade do link deve ser posterior à data atual".
Para que o usuário consiga pagar corretamente, recomenda-se tratar esse caso separadamente.
Crie o seguinte bloco condicional:
Se a seguinte mensagem chegar:
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 pagar a tempo; o link de pagamento expirou".


Variáveis do 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», variáveis são criadas automaticamente para o cliente:
Variável de cliente de serviço __payments — essa variável armazena o valor e o ID do link criado e é necessária para identificar o hook que vem do sistema de pagamento.
Variável de cliente de serviço __paymentsnão pode ser apagada nem alterada!
error_payment_button variável do cliente é criada automaticamente se ocorrer um erro ao criar o botão.
Nessa variável será gravado o texto do erro ou a resposta de erro recebida do sistema de pagamento.
Os valores das variáveis ficam válidos ao passar para o próximo bloco.
Como tratar o resultado
Pagamento bem-sucedido
Após um pagamento bem-sucedido, o bot recebe um CALLBACK AUTOMÁTICO que consiste nos 10 primeiros caracteres da chave secreta do sistema de pagamento, _success e o valor do pagamento.
Para usar na configuração do esquema, basta copiar isso.
Por exemplo: ovg58keefc_success 44onde:
ovg58keefc— os 10 primeiros caracteres da chave secreta do sistema de pagamento_success— o resultado do processamento da solicitação (pagamento bem-sucedido)44— o valor do pagamento
O usuário NÃO VÊ os callbacks(mensagens) que vêm do sistema de pagamento. Eles aparecem apenas na aba «Clientes» e ficam visíveis para o operador.
Exemplo de uso: Passo 1. Adicionamos ao bloco «Com botão de pagamento» os botões com a função «Pagar». Passo 2. Desse bloco, no campo Condição de conexão que leva ao bloco «Pagamento bem-sucedido», indicamos o callback. Da mesma forma, se na condição do bloco «Condição inicial» você indicar o callback de pagamento bem-sucedido, o funcionamento será semelhante.
Importante: escolher a opção «Correspondência exata» ou «Por presença de palavras-chave».
❗️Se você decidir verificar o pagamento pelo exato caminho indicado na condição, pense cuidadosamente na lógica do seu esquema. Se o cliente sair do bloco no qual a condição é validada pelo callback, a passagem para o bloco não ocorrerá. Esse método de verificação é melhor usado apenas quando o cliente não muda de posição no funil.
Em esquemas em que o cliente se move entre blocos, é mais eficiente usar a opção de indicar o callback no bloco «Condição inicial» .

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

Pagamento com erro
Em caso de erro na realização do pagamento, o bot recebe um CALLBACK AUTOMÁTICO que consiste nos 10 primeiros caracteres da chave secreta do sistema de pagamento, _fail e o valor do pagamento.
Por exemplo: ovg58keefc_fail 44onde:
ovg58keefc— os 10 primeiros caracteres da chave secreta do sistema de pagamento_fail— resultado do processamento da solicitação (o pagamento não foi concluído ou houve erro)44— o valor do pagamento
Isso depende do sistema de pagamento. Nem todos os sistemas enviam callback sobre erro de pagamento.
Se o valor informado nas configurações do botão diferir do valor pago pelo cliente, o bot receberá um CALLBACK AUTOMÁTICO chega. Ele consiste nos 10 primeiros caracteres da chave secreta do sistema de pagamento, _different_amounts e o ID único do pagamento.
Por exemplo: ovg58keefc_different_amounts 123456onde:
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— ID único do pagamento
Na calculadora get_prodamus_payment_url função
get_prodamus_payment_url funçãoPara criar um link de pagamento, no bloco da Calculadora get_prodamus_payment_url a função pode ser usada.
No campo da Calculadora atribuímos à variável o valor dessa função: get_prodamus_payment_url.
Você escolhe o nome da variável. Nas capturas de tela são mostrados exemplos de nomeação de variáveis.
Nesse caso, o link de pagamento será escrito nessa variável. A variável pode ser exibida na mensagem como um 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 ponto. Por exemplo: 25 ou 52.5. (parâmetro obrigatório)
product_name
Nome do produto (parâmetro obrigatório)
expired
Prazo de validade do link de pagamento — dd.mm.aaaa no formato (por exemplo, 25.01.2021).
Além disso, Calculadora no campo
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 quiser omitir esse parâmetro, pode informar aspas simples, aspas duplas ou None como valor.
customer_phone
Número de telefone do comprador — opcional, se o parâmetro customer_email for informado.
Se quiser omitir esse parâmetro, pode informar aspas simples ou aspas duplas no lugar.
customer_email
Endereço de email do comprador — opcional, se o parâmetro customer_phone for informado.
Se quiser omitir esse parâmetro, pode informar aspas simples ou aspas duplas no lugar.
discount
Valor do desconto — o parâmetro pode ser informado como número inteiro ou número com ponto: 25 ou 63.5.
Se quiser omitir esse parâmetro, pode informar aspas simples ou aspas duplas no lugar.
description
Descrição do produto (se não for informado, será preenchido automaticamente como 'Pagamento da fatura order_id' ).
Se quiser omitir esse parâmetro, pode informar aspas simples ou aspas duplas no lugar.
extra_params
Parâmetros adicionais, parâmetros que não existem nesta função. Os parâmetros adicionais disponíveis podem ser consultados na documentação de integração com a API do sistema de pagamento: Prodamus REST API
Por exemplo:
Se quiser omitir esse parâmetro, pode informar aspas simples/duplas ou None como 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 brema’, preço de 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, sendo necessário para fiscalizar o pagamento via Prodamus.
extra_params = {"payments_limit": "3"}
products_for_receipt = "Curso ‘Pesca de brema’, preço de 4999 tenge, 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 brema’', '27.03.2023 17:00', '79167777771', '[email protected]', 20, 'Curso mais top do mercado', extra_params, products_for_receipt
Neste exemplo:
extra_params— parâmetros adicionais (por exemplo, limite de pagamento).products_for_receipt— informações do produto que serão exibidas no recibo.get_prodamus_payment_urlo link de pagamento é criado pela função.
Se houver várias funções para obter links no bloco e for enviada uma mensagem de erro, o valor do erro será записано na variável error_payment_func .
O erro é gravado na Calculadora pela última função.
payment_sum variável e criação do link por meio de parâmetros adicionais
payment_sum variável e criação do link por meio de parâmetros adicionaisAtenção: payment_sum o valor da variável é definido a partir da última variável, ou seja, após as variáveis opcionais: 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 um link ou colocada em um botão com o texto «Pagar».
payment_sum Antes de declarar a variável, você pode informar estas variáveis opcionais:
product_name
Nome do produto (se não for informado, será preenchido automaticamente como "Pagamento da fatura order_id") – abaixo a captura de tela mostra onde isso é exibido.
payment_description
Descrição do produto (se não for informado, será preenchido automaticamente como 'Pagamento da fatura order_id' será preenchido) – abaixo a captura de tela mostra 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
Prazo de validade do link de pagamento — dd.mm.aaaa no formato (por exemplo, 25.01.2021).
Além disso, Calculadora no campo
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 texto:
“Pagamento da 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 etc. O valor padrão é ru-RU.
A lista completa pode ser consultada neste link
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 brema’, 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 o pagamento via Prodamus se você não tiver 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:

No próximo passo, no local necessário, exibimos o prodamus_pay_url link:

prodamus_available_payment_methods variável payment_sum é determinada antes de ser declarada.
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 de países da CEI, exceto a Rússia
ACEURNMBX
Pagamento com cartão EUR de todos os países, exceto Rússia e Belarus
SBP
Pagamento instantâneo, sem inserir os dados do cartão. Para cartões russos
QW
Qiwi wallet
PC
Юmoney
GP
Terminal de pagamento
sbol
Sberбанк 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 por 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
credit
crédito via Tinkoff
vsegdada_installment_0_0_4
parcelamento em 4 meses via «SempreSim» (não funciona com available_payment_methods)
vsegdada_installment_0_0_6
parcelamento em 6 meses via «SempreSim»
vsegdada_installment_0_0_10
parcelamento em 10 meses via «SempreSim»
vsegdada_installment_0_0_12
parcelamento em 12 meses via «SempreSim»
vsegdada_installment_0_0_24
parcelamento em 24 meses via «SempreSim»
vsegdada_installment_0_0_36
parcelamento em 36 meses via «SempreSim»
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 Banco OTP
otp_installment_0_0_10
parcelamento em 10 meses via Banco OTP
otp_installment_0_0_12
parcelamento em 12 meses via Banco OTP
otp_installment_0_0_24
parcelamento em 24 meses via Banco OTP
otp_installment_0_0_36
parcelamento em 36 meses via Banco OTP
mts_installment_0_0_6
parcelamento em 6 meses via Banco MTS
mts_installment_0_0_10
parcelamento em 10 meses via Banco MTS
mts_installment_0_0_12
parcelamento em 12 meses via Banco MTS
mts_installment_0_0_24
parcelamento por 24 meses via «MTS Bank»
mts_installment_0_0_36
parcelamento por 36 meses via «MTS Bank»
monetaworld
cartões de bancos internacionais, exceto Rússia
sbrf_bnpl
parcelamento via Sber
com vários valores por barra vertical é permitido dividir. Exemplo:
prodamus_currency – é outro parâmetro adicional que permite exibir o valor em uma moeda específica.
Moedas possíveis:
kzt– para o tengeeur– para o eurousd– para o dólar
Assim, o valor indicado no link estará na moeda selecionada.
Callback payment_callback ao receber currency e currency_sum os parâmetros devem ser observados, pois neles a moeda e o valor são indicados.
Se não for especificado, a página sem métodos de pagamento será aberta. Os métodos de pagamento podem ser adicionados com suporte. Os métodos adicionados podem ser verificados 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, chegam callbacks ao bot, com os quais você pode determinar se o pagamento foi concluído com sucesso.
Os callbacks aparecem no sistema como mensagens vindas do usuário, mas o usuário não pode enviá-las. Eles vêm na forma de uma combinação de chave secreta e status. Por exemplo:
ou
Após um pagamento bem-sucedido prodamus_payment_completed a variável True assume automaticamente o valor.
Observação: Os callbacks chegam com algum atraso, então é melhor enviar a mensagem ao usuário depois de enviar o link:
“Após efetuar o pagamento, aguarde a conclusão bem-sucedida do pagamento.”
Estrutura do callback
Para links criados pelo botão Pagamento ou pela função no Calculador, após o pagamento um callback é enviado automaticamente ao bot. Ele contém:
Por exemplo:
ovg58keefc– chave secreta completa do sistema de pagamento_success— o resultado do processamento da solicitação (pagamento bem-sucedido)
Aplicação prática
É possível processar um pagamento bem-sucedido por meio de um bloco condicional e exibir ao usuário a mensagem correspondente.

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ó depois disso payment_sum você poderá atribuir um novo valor à variável e obter o link atualizado.
Desativação/reativação da assinatura
Além disso, no sistema Prodamus há notificações sobre assinatura ativada ou suspensa:

«A assinatura foi desativada pelo usuário» – se a assinatura for interrompida manualmente (por exemplo, em caso de cancelamento da assinatura). Essa mensagem pode chegar antes do fim do período já pago. A ação depende da sua decisão: ignorar, colocar sob monitoramento 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 já pago atual. A ação depende da sua decisão: ignorar ou remover da lista de monitoramento.
«Desativação da assinatura» – quando a assinatura é encerrada após várias tentativas de pagamento malsucedidas.
Salvar valores do callback
Após receber uma 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 indicar variáveis. Nesse caso, ao receber o callback, elas podem ser obtidas assim:

Atenção: payment_sum a variável recebe o último valor, que vem das variáveis opcionais a seguir: payment_description, product_name.
O valor pode ser obtido assim:
Callbacks disponíveis
Além dos principais callbacks de pagamento bem-sucedido, as seguintes mensagens que o usuário não vê no chat são:
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)
Aviso 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 expirado.
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.
Aviso de cobrança futura - dd.mm.aaaa hh:mm
Pedido de parcelamento aprovado
Pedido de parcelamento cancelado
Pedido de parcelamento recusado
Se desejar, você pode configurar o envio de qualquer mensagem ao usuário. Por exemplo, enviar uma mensagem em caso de falha no pagamento automático.
Para pagamentos malsucedidos por um motivo específico, você pode configurar os blocos de resposta à mensagem 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 houver «Pagamento malsucedido» a mensagem será enviada ao usuário com o texto que você definir.
Como fazer um pagamento por assinatura
Como criar uma assinatura
Para criar uma assinatura, primeiro é necessário criar um produto por assinatura . Instrução completa: Como criar e configurar uma assinatura
Depois, copiamos o ID do produto por assinatura. Por exemplo, abaixo é mostrado de onde obtê-lo:
Para criar o link de pagamento da assinatura, prodamus_subscription na variável, o ID do produto por assinatura deve ser definido. Depois disso, automaticamente prodamus_pay_url a variável aparecerá.

Tradução para o cazaque (estilo empresarial):
prodamus_pay_url a variável pode ser exibida na tela como link ou colocada em um botão com o texto «Pagar». Exemplo de link: https://payform.kz/7p3JR8/
O processamento do resultado ocorre da mesma forma que em um pagamento único (como você leu acima).
Após uma assinatura bem-sucedida, o usuário terá o customer_phone que foi inserido no pagamento adicionado. 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 assinatura com a função
get_prodamus_subscription_url como criar um link para assinatura com a funçãoVamos considerar outra forma de criar um link de pagamento por assinatura para o produto.
No painel do Prodamus, é criado um produto por assinatura. A instrução completa pode ser vista no link: Como criar e configurar uma assinatura
Depois, copiamos o ID do produto por assinatura. Por exemplo, abaixo é mostrado de onde obtê-lo:
Para obter o link de pagamento do 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 para 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 de assinatura – pode ser copiado do painel do Prodamus (parâmetro obrigatório).
product_name
Nome do produto (parâmetro obrigatório).
expired
Prazo de validade do link de pagamento – no formato dd.mm.aaaa (por exemplo, 25.01.2021).
Também pode ser definido 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 é possível usar variáveis padrão, por exemplo, definir o prazo de validade do link para 30 minutos:
Se quiser omitir esse parâmetro, em vez disso use aspas simples ou duplas, ou None como valor.
customer_phone
Número de telefone do pagador — opcional, se o parâmetro customer_email se o parâmetro
Se quiser omitir esse parâmetro, em vez disso use aspas simples ou duplas.
customer_email
Email do pagador — opcional, se o parâmetro customer_phone se o parâmetro
Se quiser omitir esse parâmetro, em vez disso 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, em vez disso use aspas simples ou duplas.
description
Descrição do produto – se não for especificado, por padrão 'Pagamento da fatura order_id' será preenchido.
Se quiser omitir esse parâmetro, em vez disso use aspas simples ou duplas.
extra_params
Parâmetros adicionais, 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 como valor.
products_for_receipt
string de 50–4000 caracteres, formato: "descrição do pedido - preço - link para o recurso adquirido"
Exemplo: Curso «Pescando sargo», preço 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 ‘Pescando sargo’, 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 ‘Pescando sargo’', '27.03.2023 17:02', '79167777771', '[email protected]', 20, 'O melhor curso do mercado', extra_params, products_for_receipt)
Se houver um erro ao obter o link por meio de várias funções no bloco, o valor do erro error_payment_func na variável será gravado.
O erro é gravado na 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á vínculo de cartão.
Para gerenciar a assinatura, obrigatoriamente customer_phone ou customer_email um dos parâmetros
deve ser fornecido. Para remover 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 nas configurações do construtorsecret_key– chave secreta obtida nas 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á profile_id salvo na variável.
profile_id da função customer_phone ou customer_email pode ser passado em seu lugar e a assinatura pode ser encerrada.
Exemplo: configurar blocos de assinatura

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

Tradução para o cazaque (estilo empresarial):
Exemplo 1: customer_phone é informado, customer_email foi omitido:
Exemplo 2: customer_email é informado, customer_phone foi omitido:
Se a função concluir com sucesso todas as operações ok ou retorna a descrição do erro, caso ocorra um erro.
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 pode ser aplicado ao 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 valor base da assinaturacustomer_phone– número de telefone do cliente, formato:+79999999999(opcional, se houvercustomer_emailvariável; ela aparece após o primeiro pagamento)num– número de pagamentos aos quais o desconto será aplicado (opcional; se não for informado, 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 são sobrescritos somente se a função for chamada novamente com novos valores!
Exemplos:
1. Conceder desconto de 1₽ para todos os próximos pagamentos automáticos (o número de telefone não é informado, pois é obtido automaticamente a partir da variável customer_phone ; o valor do desconto, por padrão, é aplicado a todo o período da assinatura):
2. Exemplo de concessão de desconto de 2₽ para os próximos 3 pagamentos (o número de telefone é informado como string vazia, pois é obtido automaticamente a partir da variável customer_phone ):
3. Exemplo de indicação de desconto com parte decimal (o separador é o ponto, os valores são indicados sem aspas), o número de telefone pode ser passado por 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, é possível adiar a data do próximo pagamento da assinatura. A data só pode ser deslocada da data atual do próximo pagamento para «o futuro» a fim de aumentar o período de participação no clube.
Por exemplo, isso pode ser usado como bônus para 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 for informado apenas dd.mm.aaaa, o horário 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, data de início da assinatura, desativação de parcelamento etc.) ao sistema Prodamus, adicione prodamus_ prefixo ao nome da variável.
Depois, ao criar o link de pagamento, os parâmetros dessa variável serão enviados automaticamente ao sistema de pagamento.
Como testar o pagamento
Vamos testar apenas o pagamento!
Ao configurar a integração e os funis de pagamento, para que nenhum dinheiro seja debitado da sua conta 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 fazer 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 verificação no verso (CVV): 669
MasterCard Número do cartão: 5469 9801 0004 8525 Validade: 05/26 Código de verificação 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 verificação 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 funcionarão como em um pagamento normal❗️
Formulário verificado
Para aceitar pagamentos reais, o formulário deve ser colocado em modo de operação. vermelho-claro deve ser definido.
Atualizado