Como conectar
Para conectar o sistema de pagamento bePaid, você precisará do ID da Loja, chave secreta e chave pública. Após obtê-los, vá para as configurações no MaviBot.
No MaviBot, abra a seção "Aquisição" e selecione bePaid. Insira os dados obtidos.

Observe que o último campo é um seletor de hospedagem da API dependendo do país de uso: Bielorrússia ou Rússia.

Como gerar um link de pagamento
Para gerar um link de pagamento, você precisa definir o valor da variável payment_sum (por exemplo, 150 ou 100.55 (usando ponto!)), imediatamente após isso, a variável bepaid_pay_url aparecerá. Esta variável pode ser exibida na tela como um link ou colocada em um botão com o texto "Pagar".
O link tem o seguinte formato:
https://checkout.bepaid.by/widget/hpp.html?token=a05eabd3f9368725efbc175614c7d469da08f198cc51916b07fb75e53f9a3e1a
Além disso, antes de definir o valor da variável payment_sum, você pode definir as seguintes variáveis opcionais para configurar o pagamento.
Por padrão, o Rublo Bielorrusso está definido. Se precisar de outra moeda, defina o valor da variável currency
Após a conclusão do pagamento, a variável bepaid_callback_data será adicionada ao cliente, contendo os dados de resposta do sistema de pagamento sobre a transação realizada. Do dicionário obtido, você pode extrair os dados necessários usando o método get.
Como testar pagamentos
Para realizar um pagamento de teste, antes de definir a variável payment_sum, defina a variável test_payments com qualquer valor.
Não se esqueça de removê-la ao iniciar o bot em modo de produção!
Cartões para teste:
4200000000000000 success
4005550000000019 failed
Se algo não funcionar, compare os dados com os dados no site oficial: https://docs.bepaid.by/ru/test-integration#test-card-number
Exemplo de geração de link de pagamento
Vamos criar um link de pagamento no valor de 100 rublos bielorrussos (moeda padrão)
Observe que primeiro definimos variáveis adicionais para configurações, depois payment_sum. As variáveis podem ser definidas anteriormente na cadeia, e não em um único bloco, este é um exemplo.
Em seguida, no local desejado, exibimos a variável bepaid_pay_url, que contém o link
Gerenciamento de assinaturas
A integração do sistema de pagamento oferece a capacidade de criar assinaturas para seus clientes.
Antes de começar a usar a funcionalidade do MaviBot, crie um plano de assinatura no painel de controle do bePaid.
Se o menu "Planos" e "Assinaturas" não aparecer no painel de controle, entre em contato com seu gerente.
Criando uma assinatura e obtendo um link de pagamento
Use a função get_bepaid_subscription_url, passando o parâmetro plan_id, onde
Como resultado, a função criará uma assinatura e retornará um link para seu pagamento.
Envie o link para o cliente e aguarde a conclusão do pagamento.
Após o pagamento bem-sucedido, a assinatura será ativada, as variáveis bepaid_subscription_id e bepaid_subscription_status serão adicionadas ao negócio, e um callback será enviado ao bot (consulte a seção “Como processar o resultado”).
Obtendo informações sobre a assinatura
Para obter os dados da assinatura atual do cliente, chame a função get_bepaid_subscription_info, passando o parâmetro subscription_id (o valor pode ser obtido da variável bepaid_subscription_id).
Cancelando a assinatura
Para cancelar a assinatura, use a função cancel_bepaid_subscription.
Esta função aceita um único parâmetro subscription_id (o valor pode ser obtido da variável bepaid_subscription_id).
Após o cancelamento bem-sucedido, a variável bepaid_subscription_status assumirá o valor “canceled”, e um callback será enviado ao bot (consulte a seção “Como processar o resultado”).
Status das assinaturas
Pagamentos recorrentes
Você também pode organizar um sistema de assinaturas sem criar um plano no painel de controle do bePaid.
Para isso, você precisará do token do cartão do cliente.
Para obter o token do cartão, o cliente deve fazer um pagamento de configuração através do link gerado por payment_sum.
Antes de definir o valor de payment_sum, defina a variável bepaid_contract, na qual especifique a finalidade dos pagamentos futuros pelo token: “recurring” para pagamentos regulares com periodicidade definida ou “card_on_file” para pagamentos irregulares (por exemplo, pagamento posterior por um serviço prestado).
A opção “card_on_file” não é suportada por todos os adquirentes. Se você quiser usá-la, entre em contato com seu gerente de conta.
Após o pagamento bem-sucedido, a variável bepaid_client_card_token será adicionada ao negócio, na qual o token do cartão do cliente será armazenado. Este token permite debitar fundos do cartão do cliente sem a participação dele.
Em seguida, configure o funil e defina a data ou condição para o débito automático e chame a função da calculadora make_bepaid_token_payment, passando os parâmetros necessários.
Ordem dos parâmetros:
amount -> currency -> description -> contract
Descrição dos parâmetros:
O valor de contract deve corresponder obrigatoriamente ao valor especificado ao criar o link para o pagamento de configuração!
Se o pagamento for bem-sucedido, a função retornará a mensagem “Débito bem-sucedido pelo token bePaid“, você receberá um callback de pagamento bem-sucedido e a variável do negócio bepaid_token_payment_completed assumirá o valor “True”.
Se o pagamento falhar, a função retornará uma mensagem indicando o motivo da falha, um callback com o sufixo “_fail” será enviado ao bot e a variável do negócio bepaid_token_payment_completed assumirá o valor “False”.
O banco pode solicitar que o cliente conclua o pagamento. Nesse caso, a função retornará um link com uma solicitação de autenticação 3-D Secure.
Como processar o resultado
Em resposta às ações do cliente, callbacks serão enviados ao bot, consistindo dos primeiros 20 caracteres da chave secreta e um sufixo dependendo do tipo e resultado da operação.
No sistema, o callback aparece como uma mensagem do usuário, mas o próprio usuário não a vê.
Para pagamentos
Como resultado de um pagamento não relacionado a assinatura, você receberá uma das seguintes mensagens:
numeroChave_success - para pagamento bem-sucedido;
numeroChave_fail - para pagamento com falha;
O status do último pagamento também pode ser rastreado pelas variáveis bepaid_payment_completed (para pagamentos com participação do cliente) e bepaid_token_payment_completed (para pagamentos sem aceite por token de cartão)
Para assinaturas
Após a ativação bem-sucedida da assinatura no primeiro pagamento ou em pagamentos subsequentes, a mensagem numeroChave_success será enviada ao bot.
Se a assinatura foi cancelada, você receberá numeroChave_canceled.
Em caso de falha no pagamento da assinatura, você receberá a mensagem numeroChave**_fail.**