# Bepaid (ru)

## Como conectar

Para conectar o sistema de pagamento bePaid, você precisará do ID da Loja, da chave secreta e da chave pública. Após obtê-las, vamos para as configurações no MaviBot.

No MaviBot, abrimos a seção "Adquirência", selecionamos bePaid. É necessário inserir os dados получidos.

<div data-with-frame="true"><figure><img src="/files/4faf2173246ea1c5fa53771bf315b5ea050762d4" alt=""><figcaption></figcaption></figure></div>

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

<div data-with-frame="true"><figure><img src="/files/0f1ec155440262dc639581b30eb0f62ac6acd650" alt=""><figcaption></figcaption></figure></div>

## Как сформировать ссылку на оплату

Para gerar o link de pagamento, você precisa definir o valor da variável payment\_sum (por exemplo, 150 ou 100.55 (com ponto!)); imediatamente depois disso a variável bepaid\_pay\_url aparecerá. Essa variável pode ser exibida na tela como um link ou размещена em um botão com o texto "Pagar".&#x20;

O link tem a seguinte aparência: \
<https://checkout.bepaid.by/widget/hpp.html?token=a05eabd3f9368725efbc175614c7d469da08f198cc51916b07fb75e53f9a3e1a>

Além disso, antes de definir o valor da variável payment\_sum, é possível configurar as seguintes variáveis opcionais para ajustar o pagamento.

{% hint style="info" %}
Por padrão, está definido o rublo bielorrusso; se precisar de outra moeda, é necessário definir o valor da variável currency
{% endhint %}

<table><thead><tr><th width="209">Parâmetros da função</th><th width="242">Descrição do parâmetro</th><th>Adicionalmente</th></tr></thead><tbody><tr><td><strong>currency</strong></td><td>moeda do pagamento em <a href="http://en.wikipedia.org/wiki/ISO_4217">ISO-4217</a> formato</td><td>por exemplo, USD</td></tr><tr><td><strong>language</strong></td><td><p>idioma da página de pagamento</p><p>Por padrão - en.</p></td><td><p>Valores permitidos:</p><p>en - Inglês</p><p>es - Espanhol</p><p>tr - Turco</p><p>de - Alemão</p><p>it - Italiano</p><p>ru - Russo</p><p>zh - Chinês</p><p>fr - Francês</p><p>da - Dinamarquês</p><p>sv - Sueco</p><p>no - Norueguês</p><p>fi - Finlandês</p><p>pl - Polonês</p><p>ja - Japonês</p><p>uk - Ucraniano</p><p>be - Bielorrusso</p><p>ka - Georgiano</p><p>ro - Romeno</p></td></tr><tr><td><strong>payment_description</strong></td><td>descrição do pagamento</td><td></td></tr><tr><td><strong>link_expired</strong> </td><td><p>tempo de validade do link de pagamento, no formato dd.mm.aaaa (por exemplo, 25.06.2025). </p><p>Por padrão, o pagamento deve ser feito em até 24 horas</p></td><td><p>Também é possível, no campo <strong>"Atribuição de variáveis ao avançar"</strong> indicar: link_expired = current_date + 2 (o link será válido por 2 dias até 00:00)</p><p><strong>link_expired</strong> também é possível indicar uma data com horário exato, separada por espaço, no formato dd.mm.aaaa hh:mm (por exemplo: 25.06.2025 12:23). Por padrão, o pagamento deve ser feito em até 24 horas</p><p>Também é possível usar variáveis padrão, por exemplo, vamos definir o prazo de validade do link para 30 minutos:</p><p>time = current_time + 30</p><p>link_expired = "#{current_date} #{time}"</p></td></tr><tr><td>russian_host</td><td>indicador de registro da loja no host russo do bePaid. Especifique este parâmetro com o valor 1 se a sua loja estiver registrada no site bepaid.tech</td><td>Se for necessário alternar o host para o bielorrusso, especifique o parâmetro com o valor ''</td></tr><tr><td><strong>test_payments</strong></td><td>a variável é necessária para pagamentos de teste; se for necessário um pagamento de teste, adicione com qualquer valor.</td><td></td></tr><tr><td><strong>bepaid_attempts</strong> </td><td>indica a quantidade de tentativas de realizar o pagamento; por padrão, é dada 1 tentativa.</td><td></td></tr><tr><td><strong>сustomer_data</strong></td><td>um array contendo <em>first_name, last_name e email</em> do pagador. Os dados são necessários para enviar o comprovante por e-mail ao pagador e estão disponíveis para edição na página de pagamento. </td><td><p>O parâmetro deve ser passado como uma lista no formato JSON, composta por pares chave-valor</p><p><strong>por exemplo</strong>:</p><p>customer_data = ‘{“first_name”: “Vladimir”, “last_name”: “Popov”, “email”: “v.popov@mavibot.ai” }’</p></td></tr><tr><td>bepaid_contract (condicionalmente obrigatório)</td><td>destino do pagamento por token.</td><td>Valores esperados: “recurring” (para pagamentos recorrentes com periodicidade definida) ou “card_on_file” (para pagamentos não recorrentes, por exemplo, pós-pagamento por um serviço prestado)</td></tr></tbody></table>

Após a conclusão do pagamento, será adicionada ao cliente a variável **bepaid\_callback\_data**, contendo os dados de resposta do sistema de pagamento sobre a operação realizada. Do dicionário obtido, é possível 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, é necessário definir 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 testes:

4200000000000000      sucesso

4005550000000019        falhou

Se algo não funcionar, compare os dados com os dados do site oficial: <https://docs.bepaid.by/ru/test-integration#test-card-number>&#x20;

## Exemplo de geração do link de pagamento

Vamos criar um link de pagamento no valor de 100 rublos bielorrussos (moeda padrão)

Observe que primeiro definimos as variáveis adicionais de configuração e depois payment\_sum. As variáveis também podem ser definidas anteriormente na cadeia, e não em um único bloco; este é apenas 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 com o sistema de pagamento oferece a possibilidade de criar assinaturas para seus clientes.

Antes de começar a usar a funcionalidade do MaviBot, crie um plano de assinatura na conta do bePaid.

{% hint style="warning" %}
Se o menu “Planos” e “Assinaturas” não aparecer na conta, entre em contato com seu gerente.
{% endhint %}

### Criação de assinatura e obtenção do link de pagamento

Use a função **get\_bepaid\_subscription\_url**, passando para ela o parâmetro plan\_id, onde

<table><thead><tr><th width="233"></th><th></th></tr></thead><tbody><tr><td>plan_id</td><td>é o ID do plano no sistema bePaid.</td></tr></tbody></table>

Como resultado, a função criará uma assinatura e retornará o link para seu pagamento.

Envie o link ao cliente e aguarde a conclusão do pagamento.

Em caso de pagamento bem-sucedido, a assinatura será ativada, as variáveis bepaid\_subscription\_id e bepaid\_subscription\_status serão adicionadas à negociação, e um callback chegará ao bot (veja a seção “[Как обработать результат](#kak-obrabotat-rezultat)”).

### Obtenção de informações sobre a assinatura

Para obter os dados da assinatura atual do cliente, chame a função get\_bepaid\_subscription\_info, passando para ela o parâmetro subscription\_id (o valor pode ser obtido da variável bepaid\_subscription\_id).

### Cancelamento da assinatura

Para cancelar a assinatura, use a função cancel\_bepaid\_subscription.&#x20;

Essa função aceita um único parâmetro subscription\_id (o valor pode ser obtido da variável bepaid\_subscription\_id).

Em caso de cancelamento bem-sucedido, a variável bepaid\_subscription\_status assumirá o valor “canceled”, e um callback chegará ao bot (veja a seção “[Как обработать результат](#kak-obrabotat-rezultat)”).

### Status das assinaturas

<table data-header-hidden><thead><tr><th width="270"></th><th></th></tr></thead><tbody><tr><td>trial</td><td>Assinatura ativa ou cancelada do período de teste.</td></tr><tr><td>active</td><td>Assinatura ativa, cujo pagamento foi realizado no prazo.</td></tr><tr><td>failed</td><td>Assinatura com falha. O bePaid não conseguiu processar o próximo pagamento.</td></tr><tr><td>error</td><td>Ocorreu um erro ao tentar o bePaid processar o pagamento.</td></tr><tr><td>canceled</td><td>A assinatura foi cancelada e não está mais ativa.</td></tr></tbody></table>

### Pagamentos recorrentes

Você também pode organizar um sistema de assinaturas sem criar um plano na conta do bePaid.

Para isso, você precisará do token do cartão do cliente.

Para obter o token do cartão, o cliente deve realizar um pagamento inicial pelo link gerado via payment\_sum.

Antes de definir o valor de payment\_sum, defina a variável bepaid\_contract, na qual especifique a finalidade dos futuros pagamentos por token: “recurring” para pagamentos regulares com periodicidade definida ou “card\_on\_file” para pagamentos irregulares (por exemplo, pós-pagamento por um serviço prestado).

{% hint style="warning" %}
A opção “card\_on\_file” não é suportada por todos os adquirentes. Se quiser usá-la, entre em contato com seu gerente de conta.
{% endhint %}

Após o pagamento bem-sucedido, a variável bepaid\_client\_card\_token será adicionada à negociação, e nela será salvo o token do cartão do cliente. Esse token permite debitar valores do cartão do cliente sem a participação dele.

Em seguida, configure o funil e defina a data ou a condição para o débito automático e chame a função do calculador make\_bepaid\_token\_payment, passando para ela os parâmetros necessários.

**Ordem dos parâmetros**:

amount -> currency -> description -> contract

#### Descrição dos parâmetros:

<table><thead><tr><th width="286"></th><th></th></tr></thead><tbody><tr><td>amount (obrigatório)</td><td>valor do pagamento; o valor esperado é um número inteiro ou decimal, por exemplo 100 ou 100.5;</td></tr><tr><td>currency (obrigatório)</td><td>moeda do pagamento em<a href="http://en.wikipedia.org/wiki/ISO_4217"> ISO-4217</a> formato, por exemplo “USD”</td></tr><tr><td>description (obrigatório)</td><td>descrição do motivo do débito, por exemplo, “Pagamento da assinatura semanal para participação no clube de interesses”;</td></tr><tr><td>contract (obrigatório)</td><td>destino do pagamento por token. Valores esperados: “recurring” ou “card_on_file”. </td></tr></tbody></table>

{% hint style="warning" %}
O valor de contract deve corresponder obrigatoriamente ao valor indicado ao criar o link para o pagamento de inicialização!
{% endhint %}

Se o pagamento for realizado com sucesso, a função retornará a mensagem “Débito bem-sucedido pelo token bePaid“, você receberá um callback sobre o pagamento bem-sucedido, e a variável da negociação bepaid\_token\_payment\_completed assumirá o valor “True”.

Se o pagamento não for bem-sucedido, a função retornará uma mensagem indicando o motivo da falha no pagamento, um callback com o sufixo “\_fail” chegará ao bot, e a variável da negociação bepaid\_token\_payment\_completed assumirá o valor “False”.

{% hint style="warning" %}
O banco pode solicitar que o cliente conclua o pagamento. Nesse caso, a função retornará um link, com solicitação de autenticação 3-D Secure.
{% endhint %}

## Как обработать результат

Em resposta às ações do cliente, callbacks chegarão ao bot, compostos pelos 20 primeiros caracteres da chave secreta e por um sufixo, dependendo do tipo e do resultado da operação.

No sistema, o callback aparece como uma mensagem do usuário, porém o próprio usuário não o vê.

### Para pagamentos

Como resultado de um pagamento que não esteja relacionado a uma assinatura, você receberá uma das mensagens:

<mark style="color:verde;">**numeroChave\_success**</mark> - em caso de pagamento bem-sucedido;

<mark style="color:vermelho;">**numeroChave\_fail**</mark> - em caso de pagamento malsucedido;

O status do último pagamento também pode ser acompanhado 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 ou em um novo pagamento, uma mensagem chegará ao bot <mark style="color:verde;">**numeroChave\_success**</mark>.

Se a assinatura tiver sido cancelada, você receberá <mark style="color:laranja;">**numeroChave\_canceled**</mark>.

Em caso de pagamento malsucedido da assinatura, você receberá uma mensagem *<mark style="color:vermelho;">**numeroChave**</mark>*<mark style="color:vermelho;">\_fail.</mark>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/pt/integrations/payment/bepaid/bepaid-ru.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
