# Bepaid

## **Como Conectar**

Para conectar o **bePaid** sistema de pagamento, você precisará de um **Store ID**, **chave secreta**, e **chave pública**. Assim que receber essas credenciais, acesse as configurações em **Salebot**.

{% hint style="info" %}
Para obter o **Store ID**, **chave secreta**, e **chave pública**, entre em contato com o **baPaid** suporte técnico para obter ajuda.
{% endhint %}

No **MaviBot**, abra a seção **"Sistema de pagamento"** e selecione **bePaid**. Em seguida, insira as credenciais que você recebeu.

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

Observe que o último campo é um seletor que escolhe a hospedagem da API de acordo com o país de uso: **Bielorrússia** ou **Rússia**.

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

## **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 ficará assim:\
<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.

{% hint style="info" %}
Por padrão, a moeda é definida como **rublo bielorrusso**. Se você precisar usar outra moeda, defina um valor para a variável **currency** .
{% endhint %}

<table><thead><tr><th width="209">Parâmetros da Função</th><th width="242">Descrição</th><th>Mais Informações</th></tr></thead><tbody><tr><td><strong>currency</strong></td><td>Moeda do pagamento no formato ISO 4217</td><td>Por exemplo: <strong>USD</strong></td></tr><tr><td><strong>language</strong></td><td><strong>Idioma da página de pagamento</strong><br>Padrão: <strong>en</strong>.</td><td><p><strong>Valores permitidos:</strong></p><ul><li><strong>en</strong> – Inglês</li><li><strong>es</strong> – Espanhol</li><li><strong>tr</strong> – Turco</li><li><strong>de</strong> – Alemão</li><li><strong>it</strong> – Italiano</li><li><strong>ru</strong> – Russo</li><li><strong>zh</strong> – Chinês</li><li><strong>fr</strong> – Francês</li><li><strong>da</strong> – Dinamarquês</li><li><strong>sv</strong> – Sueco</li><li><strong>no</strong> – Norueguês</li><li><strong>fi</strong> – Finlandês</li><li><strong>pl</strong> – Polonês</li><li><strong>ja</strong> – Japonês</li><li><strong>uk</strong> – Ucraniano</li><li><strong>be</strong> – Bielorrusso</li><li><strong>ka</strong> – Georgiano</li><li><strong>ro</strong> – Romeno</li></ul></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><strong>Expiração do Link de Pagamento</strong><br>Defina a data de expiração no formato <strong>dd.mm.yyyy</strong> (por exemplo: <strong>25.06.2025</strong>).<br>Por padrão, o pagamento deve ser concluído em até <strong>24 horas</strong>.</td><td><p>Você também pode usar o campo <strong>"Atribuir Variáveis no Redirecionamento"</strong> para definir:</p><ul><li><code>link_expired = current_date + 2</code> — o link será válido por <strong>2 dias até 00:00</strong>.</li><li>Você também pode especificar uma data e hora exatas de expiração no formato <strong>dd.mm.yyyy hh:mm</strong> (por exemplo: <strong>25.06.2025 12:23</strong>). Por padrão, o pagamento deve ser concluído em até <strong>24 horas</strong>.</li></ul><p>Também é possível usar variáveis padrão. Por exemplo, para definir a validade do link para <strong>30 minutos</strong>:<br>time = current_time + 30<br>link_expired = "#{current_date} #{time}"</p></td></tr><tr><td>russian_host</td><td><strong>Indicador para Loja Registrada no Host Russo do bePaid</strong><br>Defina este parâmetro como <strong>1</strong> se sua loja estiver registrada em <strong>bepaid.tech</strong>.</td><td>Se você precisar alternar o host para Belarus, defina este parâmetro como <strong>""</strong> (valor vazio).</td></tr><tr><td><strong>test_payments</strong></td><td>Esta variável é usada para <strong>pagamentos de teste</strong>. Para realizar um pagamento de teste, adicione-a com qualquer valor.</td><td></td></tr><tr><td><strong>bepaid_attempts</strong> </td><td>Especifica o <strong>número de tentativas de pagamento</strong>. Por padrão, <strong>1 tentativa</strong> é permitida.</td><td></td></tr><tr><td><strong>сustomer_data</strong></td><td>Uma matriz contendo o <strong>first_name</strong>, <strong>last_name</strong>, e <strong>email</strong>do pagador. Esses dados são necessários para enviar o recibo para o e-mail do pagador e podem ser editados na página de pagamento.</td><td>O parâmetro deve ser passado como uma <strong>lista de pares chave-valor formatada em JSON</strong>.<br>Por exemplo:<br>customer_data = ‘{“first_name”: “Sam”, “last_name”: “Smith”, “email”: “sam_smith@mavibot.ai” }’</td></tr><tr><td><strong>bepaid_contract</strong> (condicionalmente obrigatório)</td><td>Finalidade do Pagamento por Token</td><td><p><strong>Valores esperados:</strong></p><ul><li><strong>“recurring”</strong> – para pagamentos recorrentes com frequência definida</li><li><strong>“card_on_file”</strong> – para pagamentos únicos ou irregulares, por exemplo, pagamento posterior por um serviço</li></ul></td></tr></tbody></table>

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 desse 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 a configuração e, em seguida, defina **payment\_sum**. As variáveis também podem ser definidas antes no fluxo, 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 com o sistema de pagamento permite criar assinaturas para seus clientes.

Antes de usar essa funcionalidade no **Salebot**crie um plano de assinatura em sua conta **bePaid** .

{% hint style="warning" %}
Se o **“Planos”** e **“Assinaturas”** se os menus não aparecerem em sua conta, entre em contato com seu gerente.
{% endhint %}

**Criando uma Assinatura e Gerando um Link de Pagamento**

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

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

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

Envie o link ao 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 ao bot (veja a seção **“Como Tratar 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** função.

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 ao bot (veja a **“Como Tratar o Resultado”** ).

## Status das Assinaturas

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

## **Pagamentos Recorrentes**

Você também pode configurar um sistema de assinatura **sem criar um plano** em sua **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 a variável **payment\_sum** valor, defina a **bepaid\_contract** variável para especificar a finalidade dos pagamentos futuros por token:

* **“recurring”** – para pagamentos recorrentes com frequência definida
* **“card\_on\_file”** – para pagamentos únicos ou irregulares, por exemplo, pagamento posterior por um serviço

{% hint style="warning" %}
O **“card\_on\_file”** não é compatível com todos os adquirentes. Se quiser usá-la, entre em contato com seu gerente de conta.
{% endhint %}

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. Esse token permite cobrar o cartão do cliente **sem a participação 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

<table><thead><tr><th width="286"></th><th></th></tr></thead><tbody><tr><td>amount (obrigatório)</td><td><strong>Valor do pagamento</strong> – o valor esperado é um <strong>número inteiro</strong> ou <strong>número decimal</strong>, por exemplo: 100 ou 100.5.</td></tr><tr><td>currency (obrigatório)</td><td><strong>Moeda do pagamento</strong> no formato <strong>ISO 4217</strong> , por exemplo: <strong>“USD”</strong>.</td></tr><tr><td>description (obrigatório)</td><td><strong>Descrição da cobrança</strong>, por exemplo: <strong>“Pagamento semanal de assinatura para participação no clube de hobby”</strong>.</td></tr><tr><td>contract (obrigatório)</td><td><strong>Finalidade do pagamento por token.</strong> Valores esperados: <strong>“recurring”</strong> ou <strong>“card_on_file”</strong>.</td></tr></tbody></table>

{% hint style="warning" %}
O **contract** deve **corresponder exatamente** ao valor especificado ao criar o link de pagamento inicial!
{% endhint %}

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 no pagamento, um callback com o sufixo **“\_fail”** será enviado ao bot, e a variável do negócio **bepaid\_token\_payment\_completed** será definida como **“False”**.

{% hint style="warning" %}
O banco pode exigir que o cliente conclua o pagamento. Nesse caso, a função retornará um link pedindo ao cliente que passe pela **autenticação 3-D Secure**.
{% endhint %}

## **Como Tratar 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 do 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 envolvendo o cliente
* **bepaid\_token\_payment\_completed** – para **pagamentos automáticos com base no token do 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.


---

# 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.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.
