# Stripe

* [Como conectar ](#how-to-connect)
* [Como obter um link para pagamento ](#how-to-get-a-link-to-payment)
* [Como processar o resultado ](#how-to-process-the-result)
* [Como testar pagamentos](#how-to-test-payments)

## Como conectar&#x20;

Para conectar o sistema de pagamento Stripe, você precisa de uma API secreta e de uma chave de webhook.&#x20;

Você pode copiar a chave secreta da API na seção Desenvolvedores -> chave da API e copiar a chave secreta.

![](/files/f0d48783f08704ae9706d9e8378930e1d0560cb9)

Em seguida, você precisa definir a URL para os Callbacks. Isso é necessário para que o bot receba notificações de pagamento.&#x20;

Vá para a seção Webhooks e adicione um endereço para webhooks.

![](/files/8ceb527d54bf77cb153a5676bb9141e9ce6ed8fe)

defina a URL: <https://chatter.salebot.pro/stripe_callback/result>

e selecione o evento:

`checkout.session.completed`

![](/files/1cf9a3e225f0c1d59c774a3e27cc5bd1172f4406)

Salve e acesse a página com o webhook instalado, copie a chave (Signing secret) do webhook (no campo do salebot - Chave do webhook):

\
após pressionar Reveal key, o Webhook será aberto, começando com whsec\_...&#x20;

![](/files/275671556338ded1218a7a6a9799e624065918e3)

Depois de receber as chaves, prosseguiremos para as configurações no Salebot.&#x20;

No salebot, abra a seção de sistemas de pagamento e selecione Stripe. Na página de conexão, você precisa inserir os dados recebidos.

&#x20;                                        ![](/files/ba3b2e19bb9a5363236a857e92bfb4b5aa153ef6)

![](/files/ef10b39868713769aa196b6814d37479c9be35b2)

## Como obter um link para pagamento&#x20;

Para gerar um link de pagamento, você precisa definir o valor da variável payment\_sum (como 150 ou 100,55 (com ponto!)), então a variável stripe\_pay\_url aparece. Essa variável pode ser exibida com um link ou colocada no botão com o texto "Pagar".&#x20;

O link tem o formato:

`https://checkout.stripe.com/pay/cs_test_a17mskKFFRwEuo3WgBSAUjfk7xaZZIrct9B3Ds2AdODVq1I8aRiqYEBdrU#fidkdWxOYHwnPyd1blpxYHZxWjA0TGFsVzFPVmpmMzJAbVYzUkp1Y0lLYDVgfzR2Q0NxcWZBNUNnTnRSVVRJSGFobEB1UExSczRMMTc8PWRLMGBddl8xalxyPDRoUGhnZm9xXXZANDZyaF0wNTVBVExsPHZyfycpJ2N3amhWYHdzYHcnP3F3cGApJ2lkfGpwcVF8dWAnPyd2bGtiaWBabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl`

{% hint style="warning" %}
O padrão definido é USD (dólar), se você precisar de outra moeda, precisa definir o valor da variável currency
{% endhint %}

Além disso, antes de definir o valor payment\_sum, você pode especificar as seguintes variáveis opcionais para configurar o pagamento.&#x20;

currency - moeda do pedido. Valores válidos - [https://stripe.com/docs/currencies ](<https://stripe.com/docs/currencies >)

payment\_description - descrição do pedido

### Exemplo de um link para pagamento&#x20;

Crie um link para um pagamento de EUR 2 (dólar padrão)

&#x20;                                                ![](/files/8822231c18304e6c9e9d748556a48630eae660d1)

{% hint style="info" %}
Observe:

* Primeiro especifique os parâmetros opcionais first\_name, payment\_description etc.
* E por último, atribua o valor da variável payment\_sum
  {% endhint %}

Observe que primeiro definimos variáveis adicionais para as configurações, depois payment\_sum. Você pode definir variáveis mais cedo em uma sequência, não em um único bloco; este é um exemplo.

Em seguida, no local adequado, exibiremos a variável stripe\_pay\_url, que contém o link no bloco ou no botão

&#x20;                                     &#x20;

![](/files/f0105df9ded27041f6dd9bdb70ff2cd514a5a804)

Página de exemplo de pagamento

&#x20;     &#x20;

![](/files/aff65ddae7b05de123db7445cc7303f7289e59b8)

## Como processar o resultado&#x20;

Após o pagamento bem-sucedido, o bot receberá callbacks, pelos quais você pode entender que houve um pagamento bem-sucedido. Esses callbacks no sistema aparecem como mensagens do usuário, então não podem ser enviados pelo usuário; eles consistem nos primeiros 20 caracteres da chave secreta e na conta de sucesso, por exemplo: sk\_live\_d35gky6d8ers\_success&#x20;

Esses callbacks o usuário NÃO VÊ; eles são exibidos apenas para o operador.&#x20;

O tipo de comparação deve ser "Correspondência exata"&#x20;

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

Por exemplo, você pode criar um bloco de processamento de pagamento bem-sucedido com uma condição e exibir a mensagem correspondente ao usuário:

![](/files/2a566aaca21a26705a9b1652b0675f4c913fdaf6)

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

{% hint style="warning" %}
Para fazer um pagamento повторado, você deve redefinir payment\_sum, o link gerado anteriormente e, depois de redefinir a variável payment\_sum, obter um novo link. Você pode especificar um valor anterior.
{% endhint %}

## Como testar pagamentos&#x20;

Você pode usar a chave secreta do ambiente de teste para testar a integração. Para isso, no menu stripe da conta pessoal à direita, você precisa mudar para o ambiente de teste.

![](/files/e3f862b0560048bdd9ddda458ef71ba5f1de8024)

Em seguida, configure a configuração descrita no início desta instrução. Insira a chave secreta de teste e adicione o endereço para webhooks ao ambiente de teste.

Número do cartão de teste&#x20;

4242 4242 4242 4242&#x20;

qualquer data futura&#x20;

CVC - quaisquer três dígitos&#x20;

Se algo não estiver funcionando, compare os dados com os dados no site oficial: https\:/stripe.com/docs/testing#regulatory-cards


---

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