Como Conectar
Para conectar o sistema de pagamento bePaid, você precisará de um Store ID, chave secreta e chave pública. Depois de receber essas credenciais, vá para as configurações no Salebot.
Para obter o Store ID, a chave secreta e a chave pública, entre em contato com o suporte técnico do baPaid para obter assistência.
No MaviBot, abra a seção "Sistema de pagamento" e selecione bePaid. Em seguida, insira as credenciais que você recebeu.

Observe que o último campo é um interruptor que seleciona a 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 um valor para a variável payment_sum (por exemplo: 150 ou 100.55 — use um ponto como separador decimal).
Assim que a variável payment_sum for definida, a variável bepaid_pay_url aparecerá automaticamente. Você pode exibir essa variável na tela como um link ou colocá-la em um botão com o texto "Pagar".
O link de pagamento será semelhante a este:
https://checkout.bepaid.by/widget/hpp.html?token=a05eabd3f9368725efbc175614c7d469da08f198cc51916b07fb75e53f9a3e1a
Antes de definir a variável payment_sum, você também pode definir as seguintes variáveis opcionais para personalizar o pagamento.
Por padrão, a moeda é definida como rublo bielorrusso. Se precisar usar uma moeda diferente, defina um valor para a variável currency.
Após a conclusão do pagamento, a variável bepaid_callback_data será adicionada para o cliente. Ela contém a resposta do sistema de pagamento para a transação concluída. Você pode extrair os dados necessários deste dicionário 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.
Lembre-se de removê-la ao executar o bot em modo ao vivo!
Cartões de teste:
- 4200000000000000 — sucesso
- 4005550000000019 — falha
Se algo não funcionar, compare seus dados com a documentação oficial: https://docs.bepaid.by/ru/test-integration#test-card-number
Exemplo de Geração de um Link de Pagamento
Vamos criar um link de pagamento para 100 rublos bielorrussos (moeda padrão).
Observação: primeiro, defina as variáveis adicionais para configuração, depois defina payment_sum. As variáveis também podem ser definidas anteriormente no fluxo de trabalho, não necessariamente no mesmo bloco — este é apenas um exemplo.
Por fim, exiba a variável bepaid_pay_url no local desejado; ela contém o link de pagamento gerado.
Gerenciamento de Assinaturas
A integração do sistema de pagamento permite criar assinaturas para seus clientes.
Antes de usar esta funcionalidade no Salebot, crie um plano de assinatura em sua conta bePaid.
Se os menus “Planos” e “Assinaturas” não aparecerem em sua conta, entre em contato com seu gerente.
Criando uma Assinatura e Gerando 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 de pagamento.
Envie o link para o cliente e aguarde a conclusão do pagamento.
Assim que o pagamento for bem-sucedido, a assinatura será ativada. O negócio receberá as variáveis bepaid_subscription_id e bepaid_subscription_status, e um callback será enviado para o bot (consulte a seção “Como Lidar com o Resultado”).
Obtendo Informações da Assinatura
Para obter os detalhes atuais da assinatura de um cliente, chame a função get_bepaid_subscription_info e passe o parâmetro subscription_id (o valor pode ser obtido da variável bepaid_subscription_id).
Cancelando uma Assinatura
Para cancelar uma 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 será definida como “canceled”, e um callback será enviado para o bot (consulte a seção “Como Lidar com o Resultado”).
Status das Assinaturas
Pagamentos Recorrentes
Você também pode configurar um sistema de assinatura sem criar um plano em sua conta 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 inicial usando um link gerado via payment_sum.
Antes de definir o valor de payment_sum, defina a variável bepaid_contract para especificar a finalidade dos pagamentos futuros por token:
- “recurring” – para pagamentos regulares com uma frequência definida
- “card_on_file” – para pagamentos únicos ou irregulares, por exemplo, pagamento posterior por um serviço
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 um pagamento bem-sucedido, a variável bepaid_client_card_token será adicionada ao negócio, armazenando o token do cartão do cliente. Este token permite que você cobre o cartão do cliente sem o envolvimento dele.
Em seguida, configure seu funil e especifique uma data ou condição para a cobrança automática, depois chame a função make_bepaid_token_payment, passando os parâmetros necessários.
Ordem dos parâmetros:
amount → currency → description → contract
Descrições dos Parâmetros
O valor de contract deve corresponder exatamente ao valor especificado ao criar o link de pagamento inicial!
Se o pagamento for bem-sucedido, a função retornará a mensagem “Cobrança bem-sucedida via token bePaid”, você receberá um callback para o pagamento bem-sucedido, e a variável do negócio bepaid_token_payment_completed será definida como “True”.
Se o pagamento falhar, a função retornará uma mensagem indicando o motivo da falha do pagamento, um callback com o sufixo “_fail” será enviado para o bot, e a variável do negócio bepaid_token_payment_completed será definida como “False”.
O banco pode exigir que o cliente conclua o pagamento. Nesse caso, a função retornará um link solicitando que o cliente passe pela autenticação 3-D Secure.
Como Lidar com o Resultado
Em resposta às ações do cliente, o bot receberá callbacks compostos pelos primeiros 20 caracteres da chave secreta e um sufixo, que depende do tipo e resultado da operação.
No sistema, o callback aparece como uma mensagem do usuário, mas o usuário não a vê.
Para Pagamentos
Para pagamentos não relacionados a assinaturas, você receberá uma das seguintes mensagens:
- keyNumber_success – para um pagamento bem-sucedido
- keyNumber_fail – para um pagamento com falha
Você também pode acompanhar o status do último pagamento usando as variáveis:
- bepaid_payment_completed – para pagamentos que envolvem o cliente
- bepaid_token_payment_completed – para pagamentos automáticos baseados em token de cartão
Para Assinaturas
Após uma assinatura ser ativada com sucesso, seja no primeiro pagamento ou em um pagamento recorrente, o bot receberá a mensagem keyNumber_success.
Se a assinatura for cancelada, você receberá keyNumber_canceled.
No caso de uma falha no pagamento da assinatura, a mensagem keyNumber_fail será enviada.