# Wayforpay

{% hint style="info" %}

* Registro rápido e confirmação do comerciante
* Cadastro de comerciante para pessoas físicas sem site
* Percentual unificado para pessoas físicas e jurídicas – 2,5%
* Disponibilidade do Google Play e Apple Pay
  {% endhint %}

### **Como conectar**

Para conectar o sistema de pagamento wayforpay, você precisará de 3 valores:

1. login do comerciante
2. chave secreta do comerciante
3. o nome de domínio do site do comerciante.

Vá para sua conta pessoal -> configurações da loja **<https://m.wayforpay.com/mportal/merchant/list>**

<figure><img src="/files/b72574a62a29c629390a42a6e70ab91d9f4d1dfd" alt="" width="563"><figcaption></figcaption></figure>

Copie os dados e vá para as configurações no Mavibot.

Abra a seção "Cobrança", selecione wayforpay.

<figure><img src="/files/900076edf305616b72625f8dddd310e00c149b8b" alt=""><figcaption></figcaption></figure>

Você precisa inserir os dados recebidos no formulário que abrir:

<figure><img src="/files/f1991b00883dfb4abc6c0d9e3e1003018883489d" alt=""><figcaption></figcaption></figure>

Para gerar um link de pagamento, você precisa definir o valor da **payment\_sum** variável (por exemplo, 150 ou 100,55; se o valor for fracionário, então o valor é separado por um ponto):

<figure><img src="/files/bfa5c0af225d6895ebbb18f3dc181d96489c70cd" alt=""><figcaption></figcaption></figure>

Imediatamente depois disso, a **wayforpay\_pay\_url** variável aparecerá. Essa variável pode ser exibida na mensagem com um link ou colocada no botão com o texto "Pagar":

Opção 1. O link de pagamento no botão:

<figure><img src="/files/3d189930b25791e7f599bf8fb45ff73d41948c59" alt=""><figcaption></figcaption></figure>

Opção 2. O link de pagamento está no campo url do anexo:

<figure><img src="/files/ddd056df9e982d6bb871e9248f0e7bf122e6b97a" alt=""><figcaption></figcaption></figure>

O link se parece com:

<https://secure.wayforpay.com/invoice/id1bbb2ad0375>

{% hint style="warning" %}
Por padrão, <mark style="color:vermelho;">USD (dólares)</mark> está definido; se você precisar de outra moeda, é necessário definir o valor da variável de moeda.
{% endhint %}

Além disso, antes de definir o valor da **payment\_sum** variável, você pode definir as seguintes variáveis opcionais para configurar o pagamento.

**currency** - é a moeda padrão do pedido, UAH (os valores possíveis são USD, EUR, RUB)

**session\_timeout** - duração do link em segundos, o padrão é 3600 (1 hora)

**product\_name** - nome do produto

**language** - idioma da página de pagamento, o padrão é UA (os valores possíveis são RU, EN)\
\
**buyer\_name** - nome do cliente

**buyer\_email** - e-mail do cliente

**buyer\_first\_name** - nome do cliente

**buyer\_last\_name** - sobrenome do cliente

Assim é que a página de pagamento tem um link.

![Exemplo de criação de um link de pagamento](https://lh6.googleusercontent.com/Qsm1KH-AI7U8pv_6AjddIF3rWTlidd-TCKepv0LtbxbpEHBL72YbrQ-Yzb-UvI64-ih_XVqb9kjVCRcix6B5rWFK-AWgNLEbHgsaLCZvMHXoH7xHmSrnsZz-qKB0wHH67M0u8gyR)

Vamos criar um link para pagamento no valor de 1 <mark style="color:vermelho;">USD</mark> e com duração de 2 horas:

<figure><img src="/files/50b73dd980398ecf5be94cedc58537fdc6671323" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Atenção:** \
\- Primeiro, especifique os parâmetros opcionais  **product\_name** etc.\
\- E por último, atribua o valor de **payment\_sum** variável.
{% endhint %}

Observe que primeiro definimos as variáveis para as configurações, depois payment\_sum. As variáveis podem ser definidas antes na sequência, em vez de em um único bloco; este é um exemplo.

Em seguida, no próximo bloco, exibimos a **wayforpay\_pay\_url** variável, que contém um link (por exemplo, um link no texto):

<figure><img src="/files/01a4f3f9a95380d831e3662fd5817f64b0fea4a5" alt=""><figcaption></figcaption></figure>

O bot funcionará da seguinte forma:

<figure><img src="/files/7ff98dcb97c2e9eccc1174014c497a94eebe4e69" alt="" width="563"><figcaption></figcaption></figure>

### Como processar o resultado

Após um pagamento bem-sucedido, callbacks serão enviados ao bot, que informarão que o pagamento foi realizado com sucesso. Você vê esses callbacks no sistema como mensagens do usuário, para que o usuário não possa enviá-los; eles consistem nos primeiros 10 caracteres da chave secreta e no sufixo \_success, por exemplo:  **flk3409ref\_success**

<figure><img src="/files/1d115cfef40d03248eb854a766ed9e794b263d78" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Esses callbacks NÃO SÃO VISÍVEIS para o usuário, são exibidos apenas para o operador.
{% endhint %}

O tipo de comparação deve ser "Correspondência completa"

Além disso, após o pagamento bem-sucedido, a variável wayforpay\_payment\_completed é definida como True.

Por exemplo, você pode processar um pagamento bem-sucedido em um bloco condicional e exibir a mensagem correspondente ao usuário:

<figure><img src="/files/376f2a4fe4077f95ff95c8fede991c430d67ac1a" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/29dc9f19c85db8e8bafbc51b86a6e6e7f0b66f87" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Se você não quiser tirar o cliente do fluxo principal do chatbot, use o bloco "Não state com condição". Você não pode ir para esse bloco, então o cliente não será removido do funil principal após o pagamento e receberá uma notificação de pagamento bem-sucedido.

E se você precisar continuar o funil com uma reação a um pagamento bem-sucedido, então use o bloco "Start condition"; assim, o cliente passará do bloco de pagamento para o bloco "Start condition", a partir do qual você pode continuar o funil.
{% endhint %}

{% hint style="success" %}
Mais informações sobre blocos condicionais são fornecidas no artigo de mesmo nome
{% endhint %}

Após a conclusão do pagamento, a variável **wayforpay\_callback\_data** variável será adicionada ao cliente, contendo os dados da resposta do sistema de pagamento para a transação concluída. Você pode extrair os dados necessários do dicionário resultante usando o **get** .

## Funções para trabalhar com a calculadora

### Para pagamentos recorrentes

wayforpay\_recurrent\_payment(amount, currency, session\_timeout, product\_name, language, buyer\_name, buyer\_email, regular\_date\_next, regular\_date\_end, regular\_count, regular\_mode) - gera um link para um pagamento recorrente.&#x20;

<table><thead><tr><th width="303.85546875">Parâmetro</th><th>Descrição</th></tr></thead><tbody><tr><td>amount</td><td>valor do pagamento</td></tr><tr><td>currency</td><td>moeda. Padrão: UAH (valores possíveis: USD, EUR, RUB). Parâmetro opcional.</td></tr><tr><td>session_timeout</td><td>duração do link em segundos. Padrão: 3600 (1 hora). Parâmetro opcional.</td></tr><tr><td>product_name</td><td>nome do produto. Parâmetro opcional.</td></tr><tr><td>language</td><td>idioma da página de pagamento. Padrão: UA (valores possíveis: RU, EN). Parâmetro opcional.</td></tr><tr><td>buyer_name</td><td>nome do cliente. Nome opcional.</td></tr><tr><td>buyer_email</td><td>E-mail do cliente. Parâmetro opcional.</td></tr><tr><td>regular_date_next</td><td>data da próxima transação automatizada. Padrão: um mês após a criação do link. Parâmetro opcional.</td></tr><tr><td>regular_date_end</td><td>data de término da transação automatizada. Padrão: um ano após a criação do link. Pode ser omitido se o parâmetro regular_count estiver especificado. Parâmetro opcional.</td></tr><tr><td>regular_count</td><td>número de transações automatizadas. Se especificado, o parâmetro regular_date_end será ignorado. Parâmetro opcional.</td></tr><tr><td>regular_mode</td><td>intervalo de pagamento recorrente. Parâmetro opcional. Valores possíveis: <br>- once - pagamento único<br>- daily - diário<br>- weekly - semanal<br>- quarterly - a cada 3 meses após a data do primeiro pagamento<br>- monthly - uma vez por mês<br>- bimonthly - uma vez a cada 2 meses<br>- halfyearly - uma vez a cada 6 meses<br>- yearly  - uma vez por ano</td></tr></tbody></table>

### Cancelamento de pagamento recorrente

wayforpay\_delete\_recurrent() - cancela os futuros pagamentos automáticos do cliente. Retorna "Ok" após a execução bem-sucedida.

<figure><img src="/files/b9a1bbb2a497f4c76adad2192faf6b20ea3ef1ca" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Você também pode usar os blocos "Starting trigger" e "State" (o exemplo usa os blocos "Non-state with condition" e "Non-state").

Se você não quiser remover o cliente do fluxo principal do chatbot, use o bloco "Non-state with condition" — esse bloco não pode ser acessado manualmente, então o cliente permanecerá no funil principal após o pagamento, enquanto ainda receberá uma notificação de pagamento bem-sucedido.

Se você precisar continuar o funil com base no pagamento bem-sucedido, use o bloco "Starting trigger". Nesse caso, o cliente passará do bloco de pagamento para o bloco "Starting trigger condition", a partir do qual você pode continuar o funil.
{% endhint %}


---

# 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/pagamento/wayforpay.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.
