# Botão de Pagamentos

Através dos botões de pagamento da IOPAY você pode integrar o seu website ou loja em minutos, através de um código HTML simples que deve ser inserido na sua página.

&#x20;O botão de pagamentos da IO permite que você obtenha uma integração simples, rápida e segura. A página de pagamento customizada com o seu logo será aberta de forma segura e automática dentro do seu site, garantindo maior conversão das vendas.

&#x20;Todas as nossas integrações estão em conformidade com as entidades reguladoras de meios de pagamento e seguem o mais alto grau de segurança desse mercado.

&#x20;Através do botão de pagamento da IOPAY você será capaz de receber pagamentos nas seguintes modalidades:<br>

![](/files/-MVwoA5eSMcouxzlYXeO)

O guia abaixo lhe orientará sobre aspectos importantes e como integrar o botão de pagamento IOPAY em seu projeto.

## Setup

Para utilizar o botão de pagamento da IOPAY você deve:

1. **Possuir uma conta de vendedor na IOPAY** ([saiba como obter](https://onboarding.iopay.com.br/register)).
2. **Habilitar a sua conta para recebimento por botões de pagamento** (entre em contato com <integracao@iopay.com.br>). Você receberá informações extras como o ***io\_seller\_id**.*
3. Inserir o `<form>` abaixo em seu HTML

## Código do Botão de Pagamento

Após seguir as orientações da seção 'Setup' acima, copie e cole o código abaixo na sua página.

O código abaixo é responsável por renderizar o botão de pagamentos vinculando ele à sua conta de vendedor na IOPAY

{% tabs %}
{% tab title="Ambiente de testes (Sandbox)" %}

```html
<!-- Botão de Pagamento IOPay -->
<form id="_iopay_checkout" name="_iopay_checkout" action="https://sandbox.checkout.iopay.dev/app/pay/85a6c41f63bb533c3cd157ea4df91a72" method="post" target="_iopay_frame" onSubmit="return false;">
    
    <!-- modalidade de integração -->
    <input type="hidden" name="integration" value="transparent"/>

    <!-- Identificador da loja (email cadastrado na IOPAY) -->
    <input type="hidden" name="business" value="seuemail@dominiodaempresa.com.br"/>
  
    <!-- Identificador da pedido na sua loja (Exemplo: id do pedido) | Campo do tipo string podendo conter até 64 caracteres -->
    <input type="hidden" name="reference_id" value="112233445566778899"/>
  
    <!-- Produtos do carrinho de compras -->
    <input type="hidden" name="product_name[]" value="Camiseta XYZ Masculina, M"/>
    <input type="hidden" name="product_number[]" value="7127372"/>
    <input type="hidden" name="product_amount[]" value="99.0"/>
    <input type="hidden" name="product_quantity[]" value="1"/>
    <input type="hidden" name="product_weight[]" value="0.5"/>
  
    <input type="hidden" name="currency_code" value="BRL"/>
  
    <!-- Informações do cliente comprador -->
    <input type="hidden" name="first_name" value="João"/>
    <input type="hidden" name="last_name" value="da Silva"/>
    <input type="hidden" name="cpf" value="684.470.230-28"/>
    <input type="hidden" name="phone_number" value="(11)98765-4321"/>
    <input type="hidden" name="address1" value="RUA XPTO"/>
    <input type="hidden" name="address2" value="200"/>
    <input type="hidden" name="city" value="São Paulo"/>
    <input type="hidden" name="state" value="SP"/>
    <input type="hidden" name="zip" value="05466030"/>
    <input type="hidden" name="country" value="Brasil"/>
    <input type="hidden" name="email" value="emailcliente@gmail.com"/>
    <input type="hidden" name="invoice" value="Anotação que deve ser inserida na fatura do cliente"/>

    <!-- Configure -->
    <input type="hidden" name="return" value="https://site.com/transaction_result"/>
 
    <!-- Porcentagem de desconto para boleto pago no mesmo dia (apenas numeros) -->
    <input type="hidden" name="io_config_primary_color" value="#cc0000"/>
    <input type="hidden" name="io_config_secondary_color" value="#FEA40E"/>

    <!-- Montante total a ser cobrado -->
    <input type="hidden" name="amount" value="199.00"/>
    
    <button onclick="iopay()" name="payWithIO" style="background-color: #6d000b; color: #fff">PAGAR</button>

</form>
<!-- Fim botão de pagamentos IOPAY -->

<!-- Folha de estilos para o Checkout Transparente IOPAY -->
<link href="https://sandbox.checkout.iopay.dev/checkout/assets/css/front.checkout.transparent.iopay.css" rel="stylesheet">

<!-- Script responsável pelas funcionalidades de frontend do chekout transparente IOPAY -->
<script src="https://sandbox.checkout.iopay.dev/checkout/assets/js/front.checkout.transparent.iopay.min.js"></script>

<!-- Script de análise de comportamento do usuário [Verifique o tópico "Antifraude"] -->
<script>
    window.iopayAntifraudPublicKey = 'ABCDEXXX0000000';
    window.iopaySecurityPlan = 'with_anti_fraud';
    (function() {
        var iopay = document.createElement('script');
        iopay.id = 'iopayjs'; iopay.type = 'text/javascript';iopay.async = true;
        iopay.src = 'https://sandbox.checkout.iopay.com.br/assets/js/checkout_behaviour_security.js';
        var s = document.getElementsByTagName('body')[0];
        s.parentNode.insertBefore(iopay, s);
    })();
</script>
```

{% endtab %}

{% tab title="Ambiente de Produção" %}

```html
<!-- Botão de Pagamento IOPay -->
<form id="_iopay_checkout" name="_iopay_checkout" action="https://checkout.iopay.dev/app/pay/85a6c41f63bb533c3cd157ea4df91a72" method="post" target="_iopay_frame" onSubmit="return false;">
    
    <!-- modalidade de integração -->
    <input type="hidden" name="integration" value="transparent"/>

    <!-- Identificador da loja (email cadastrado na IOPAY) -->
    <input type="hidden" name="business" value="seuemail@dominiodaempresa.com.br"/>
  
    <!-- Identificador da pedido na sua loja (Exemplo: id do pedido) | Campo do tipo string podendo conter até 64 caracteres -->
    <input type="hidden" name="reference_id" value="112233445566778899"/>
  
    <!-- Produtos do carrinho de compras -->
    <input type="hidden" name="product_name[]" value="Camiseta XYZ Masculina, M"/>
    <input type="hidden" name="product_number[]" value="7127372"/>
    <input type="hidden" name="product_amount[]" value="99.0"/>
    <input type="hidden" name="product_quantity[]" value="1"/>
    <input type="hidden" name="product_weight[]" value="0.5"/>
  
    <input type="hidden" name="currency_code" value="BRL"/>
  
    <!-- Informações do cliente comprador -->
    <input type="hidden" name="first_name" value="João"/>
    <input type="hidden" name="last_name" value="da Silva"/>
    <input type="hidden" name="cpf" value="684.470.230-28"/>
    <input type="hidden" name="phone_number" value="(11)98765-4321"/>
    <input type="hidden" name="address1" value="RUA XPTO"/>
    <input type="hidden" name="address2" value="200"/>
    <input type="hidden" name="city" value="São Paulo"/>
    <input type="hidden" name="state" value="SP"/>
    <input type="hidden" name="zip" value="05466030"/>
    <input type="hidden" name="country" value="Brasil"/>
    <input type="hidden" name="email" value="emailcliente@gmail.com"/>
    <input type="hidden" name="invoice" value="Anotação que deve ser inserida na fatura do cliente"/>

    <!-- Configure -->
    <input type="hidden" name="return" value="x"/>
    <input type="hidden" name="notify" value="y"/>
    <input type="hidden" name="cancel_return" value="z"/>
 
    <!-- Porcentagem de desconto para boleto pago no mesmo dia (apenas numeros) -->
    <input type="hidden" name="io_config_primary_color" value="#cc0000"/>
    <input type="hidden" name="io_config_secondary_color" value="#FEA40E"/>

    <!-- Montante total a ser cobrado -->
    <input type="hidden" name="amount" value="199.00"/>
    
    <button onclick="iopay()" name="payWithIO" style="background-color: #6d000b; color: #fff">PAGAR</button>

</form>
<!-- Fim botão de pagamentos IOPAY -->

<!-- Folha de estilos para o Checkout Transparente IOPAY -->
<link href="https://checkout.iopay.dev/checkout/assets/css/front.checkout.transparent.iopay.css" rel="stylesheet">

<!-- Script responsável pelas funcionalidades de frontend do chekout transparente IOPAY -->
<script src="https://checkout.iopay.dev/checkout/assets/js/front.checkout.transparent.iopay.min.js"></script>

<!-- Script de análise de comportamento do usuário [Verifique o tópico "Antifraude"] -->
<script>
    window.iopayAntifraudPublicKey = 'ABCDEXXX0000000';
    window.iopaySecurityPlan = 'with_anti_fraud';
    (function() {
        var iopay = document.createElement('script');
        iopay.id = 'iopayjs'; iopay.type = 'text/javascript';iopay.async = true;
        iopay.src = 'https://checkout.iopay.com.br/assets/js/checkout_behaviour_security.js';
        var s = document.getElementsByTagName('body')[0];
        s.parentNode.insertBefore(iopay, s);
    })();
</script>
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Repare que a única mudança para diferenciar o ambiente de produção e testes (sandbox) é o prefixo da URI utilizada:\
\
**sandbox.checkout.iopay.dev** \[testes]

**checkout.iopay.dev** \[produção]
{% endhint %}

{% hint style="success" %}
Você pode utilizar um **botão com estilos CSS personalizados**, contudo lembre-se de inseri-lo dentro do form e adicionar o atributo **`onclick="iopay()"`**, conforme demonstrado ac
{% endhint %}

## Parâmetros

Abaixo relação de parâmetros esperados pelo formulário.\
Cada pagamento pode conter um ou mais itens, que representam produtos ou serviços que estão sendo vendidos.

| PARÂMETRO         | DESCRIÇÃO                                                                                                            | OBRIGATÓRIO |
| ----------------- | -------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`integration`** | Esse parâmetro especifica qual o tipo de integração em uso. Valor aceito para botão de pagamentos: **`transparent`** | Sim         |

| PARÂMETRO      | DESCRIÇÃO                                                                                                                  | OBRIGATÓRIO |
| -------------- | -------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`business`** | Identifica a conta de vendedor cadastrada na IOPAY. Este parâmetro deve ser do tipo email, exemplo: **`john@example.com`** | Sim         |

| PARÂMETRO          | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                                                                                                                          | OBRIGATÓRIO |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`reference_id`** | <p>Neste parâmetro você pode informar o identificador único do pedido da sua loja, como por exemplo o ID do pedido atual. Este campo pode conter uma cadeia de até 64 caracteres. Exemplo de reference\_id: <strong><code>1234</code></strong><br>Ao informar esse parâmetro, você pode usá-lo para recuperar posteriormente o status desse pagamento (aprovado, cancelado, rejeitado etc) e atualizar na sua base de pedidos.</p> | Não         |

| PARÂMETRO            | DESCRIÇÃO                                                                                                                                                                                                                                      | OBRIGATÓRIO |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`product_name[]`** | <p>Este parâmetro é utilizado para informar os nomes dos itens que estão sendo vendidos.<br><br>Para adicionar mais de um item, basta inserir mais um parâmetro <strong><code>product\_name\[]</code></strong>, conforme o exemplo abaixo:</p> | Sim         |

```markup
<input type="hidden" name="product_name[]" value="Produto 1"/>
<input type="hidden" name="product_name[]" value="Produto 2"/>
...etc
```

| PARÂMETRO              | DESCRIÇÃO                                                                                                                           | OBRIGATÓRIO |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`product_number[]`** | Utilize esse parâmetro para informar o identificador único desse produto ou serviço na sua loja ou site, conforme o exemplo abaixo: | Não         |

```markup
<!-- ID do Produto 1 (opcional) -->
<input type="hidden" name="product_number[]" value="55555"/>
<!-- ID do Produto 2 (opcional) -->
<input type="hidden" name="product_number[]" value="99999"/>
...etc
```

| PARÂMETRO              | DESCRIÇÃO                                                                                                                                                                                                                                                                                 | OBRIGATÓRIO |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`product_amount[]`** | <p>Parâmetro utilizado para informar o preço individual de cada produto ou serviço comercializado,<br>Este parâmetro aceita valores numéricos do tipo float. Dessa forma, para informar o valor de R$199,00 deve-se informar <strong><code>199.00</code></strong> conforme o exemplo:</p> | Sim         |

```markup
<!-- Valor unitario do produto 1  -->
<input type="hidden" name="product_amount[]" value="199.00"/>
<!-- Valor unitario do produto 2  -->
<input type="hidden" name="product_amount[]" value="350.00"/>
...etc
```

| PARÂMETRO                | DESCRIÇÃO                                                                                                                                                                                            | OBRIGATÓRIO |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`product_quantity[]`** | Parâmetro utilizado para informar a quantidade de cada produto comercializado. Apenas números inteiros são aceitos. O exemplo abaixo indica que o cliente está adquirindo 3 Produto 1 e 1 Produto 2. | Sim         |

```markup
<!-- Quantidade do produto 1  -->
<input type="hidden" name="product_quantity[]" value="3"/>
<!-- Quantidade do produto 2  -->
<input type="hidden" name="product_quantity[]" value="1"/>
...etc
```

| PARÂMETRO              | DESCRIÇÃO                                                                                                                                                                                                          | OBRIGATÓRIO |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- |
| **`product_weight[]`** | <p>Esse parâmetro é utilizado para informar o peso individual de determinado produto.</p><p>O valor desse parâmetro é baseado no tipo numérico float representado em Kg, ou seja, para informar 200g, use: 0.2</p> | Não         |

```markup
<!-- Peso do produto 1  -->
<input type="hidden" name="product_weight[]" value="0.2"/>
<!-- Peso do produto 2  -->
<input type="hidden" name="product_weight[]" value="0.6"/>
...etc
```

| PARÂMETRO           | DESCRIÇÃO                                                                                                                                                   | OBRIGATÓRIO |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`currency_code`** | Define a moeda utilizada nessa venda. Até o momento o único valor aceito pela IO para esse parâmetro é **`BRL`** que representa o Real Brasileir&#x6F;**.** | Não         |

| PARÂMETRO        | DESCRIÇÃO                                                                                                                                                                                                                         | OBRIGATÓRIO |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`first_name`** | Este campo é opcional e representa o primeiro nome do cliente que iniciou a compra. Você pode usá-lo para enviar o nome do cliente, evitando assim que o cliente precise preencher novamente ao acessar o formulário de pagamento | Não         |

| PARÂMETRO       | DESCRIÇÃO                                                                                                                                                                                                                                                                              | OBRIGATÓRIO |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`last_name`** | Este campo é opcional e representa o último nome/sobrenome do cliente que iniciou a compra. Ao usar esse parâmetro na sua integração você melhor a experiência de compra do seu cliente, evitando assim que o cliente precise preencher novamente ao acessar o formulário de pagamento | Não         |

| PARÂMETRO | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                                                                                                               | OBRIGATÓRIO |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`cpf`** | <p>Este campo é opcional e representa o CPF do cliente que iniciou a compra.<br>Ao usar esse parâmetro na sua integração você melhora a experiência de compra do seu cliente, evitando assim que o cliente precise preencher novamente ao acessar o formulário de pagamento<br><br>Este parâmetro permite que você envie o CPF com pontos e traços, conforme o padrão: <strong><code>XXX.XXX.XXX-XX</code></strong></p> | Não         |

| PARÂMETRO          | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | OBRIGATÓRIO |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`phone_number`** | <p>Este parâmetro é utilizado para informar o número de telefone com DDD do seu cliente.<br>Ao usar esse parâmetro na sua integração você melhor a experiência de compra do seu cliente, evitando assim que o cliente precise preencher novamente ao acessar o formulário de pagamento<br><br>Este parâmetro permite que você envie o DDD entre parêntesis, conforme o padrão: <strong><code>(XX)XXXXX-XXXX</code></strong><br>O valor pode ser composto de um número de celular com DDD ou número de telefone fixo com DDD</p> | Não         |

| PARÂMETRO      | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                                        | OBRIGATÓRIO |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- |
| **`address1`** | <p>Utilize esse parâmetro para informar a primeira linha do endereço do cliente. Exemplo: <strong><code>Rua da Consolação</code></strong><br><br>Ao usar esse parâmetro na sua integração você melhora a experiência de compra do seu cliente, evitando assim que o cliente precise preencher novamente ao acessar o formulário de pagamento</p> | Não         |

| PARÂMETRO      | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                     | OBRIGATÓRIO |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`address2`** | <p>Utilize esse parâmetro para informar o número do endereço do seu cliente. Exemplo: <strong><code>750</code></strong><br><br>Ao usar esse parâmetro na sua integração você melhor a experiência de compra do seu cliente, evitando assim que o cliente precise preencher novamente ao acessar o formulário de pagamento</p> | Não         |

| PARÂMETRO      | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                                     | OBRIGATÓRIO |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`address3`** | <p>Utilize esse parâmetro para informar o complemento do endereço do seu cliente. Exemplo: <strong><code>Fundos, Casa 2</code></strong><br><br>Ao usar esse parâmetro na sua integração você melhor a experiência de compra do seu cliente, evitando assim que o cliente precise preencher novamente ao acessar o formulário de pagamento</p> | Não         |

| PARÂMETRO  | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                                    | OBRIGATÓRIO |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`city`** | <p>Utilize esse parâmetro para informar a cidade à partir do endereço do seu cliente. Exemplo: <strong><code>São Paulo</code></strong><br><br>Ao usar esse parâmetro na sua integração você melhor a experiência de compra do seu cliente, evitando assim que o cliente precise preencher novamente ao acessar o formulário de pagamento</p> | Não         |

| PARÂMETRO   | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                                                                                                                           | OBRIGATÓRIO |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`state`** | <p>Utilize esse parâmetro para informar a unidade federativa/estado a partir do endereço do seu cliente.<br><br>Ao usar esse parâmetro na sua integração você melhor a experiência de compra do seu cliente, evitando assim que o cliente precise preencher novamente ao acessar o formulário de pagamento<br><br>Esse parâmetro deve ser composto pela sigla do estado com 2 letras. Exemplo: <strong><code>SP</code></strong></p> | Não         |

| PARÂMETRO     | DESCRIÇÃO                                                                                                                                                                                 | OBRIGATÓRIO |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`country`** | <p>Utilize esse parâmetro para informar o país de origem do seu cliente.<br><br>Atualmente o único valor aceito para esse parâmetro pela IOPAY é <strong><code>Brasil</code></strong></p> | Não         |

| PARÂMETRO | DESCRIÇÃO                                                                                                                                                                                                                                                          | OBRIGATÓRIO |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- |
| **`zip`** | <p>Se informado, esse parâmetro é utilizado para fornecer o endereço completo no formulário de pagamento, evitando assim que o seu cliente precise preencher todos os campos<br><br>O formato para esse valor deve ser <strong><code>XXXXX-XXX</code></strong></p> | Não         |

| PARÂMETRO   | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                                                              | OBRIGATÓRIO |
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`email`** | <p>Parâmetro utilizado para informar o e-mail do cliente comprador. Ao integrar e enviar esse parâmetro (opcional), você melhora a experiência de compra do seu cliente, pois o valor desse campo virá preenchido no formulário de pagamento.<br><br>O formato de dados aceito segue o padrão e-mail, por exemplo <strong><code><john@example.com></code></strong></p> | Não         |

| PARÂMETRO     | DESCRIÇÃO                                                                                                                                                                                                                                                                                    | OBRIGATÓRIO |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`invoice`** | <p>Este parâmetro, se usado, informa a descrição da compra na fatura do cliente.<br>Você pode usá-lo para facilitar a identificação pelo seu cliente da compra efetuada na fatura do cartão.<br>Exemplo de uso: <strong><code>Loja de Sapatos XYZ (lojadesapatosxyz.com)</code></strong></p> | Não         |

| PARÂMETRO    | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | OBRIGATÓRIO |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`return`** | <p>Este parâmetro define a URL da sua loja, que será usada para redirecionar o seu cliente após sucesso na geração do pagamento<br>Exemplo de uso: <strong><code><https://site.com/transaction_result></code></strong></p><p></p><p>A URL receberá parâmetros GET informando o ID da Transação (transaction\_id) e o Status (status), o usuário será redirecionado ao Fechar a tela de pagamento. Exemplo:</p><p><https://site.com/transaction_result><strong>?transaction\_id=xx\&status=pending</strong></p><p><br><strong>ATENÇÃO:</strong> Não utilize essa rota para confirmar o pagamento na sua base de dados. Para confirmação utilize o serviço de WebHooks da IOPAY.</p> | Não         |

Possíveis '**status**' retornados na URL:&#x20;

* **pending** : pendente, comum para pagamentos por boleto
* **succeeded** : pago com sucesso
* **pre\_authorized** : apenas pré-autorizado, ainda estão em análise antifraude

| PARÂMETRO    | DESCRIÇÃO                                                                                                                                                                                                                                                                    | OBRIGATÓRIO |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`amount`** | <p>Parâmetro obrigatório, utilizado para informar o montante total dessa venda através de um tipo numérico float.<br>Por exemplo, se a somatória de preços dos produtos + custo de frete para envio é de R$485,70, deve-se utilizar <strong><code>485.70</code></strong></p> | Sim         |

## Antifraude

Para prevenir ações suspeitas de fraude, insira o script de monitoramento do comportamento do usuário no rodapé do seu site.

Ao inserir esse trecho de código estaremos monitorando o comportamento do usuário em seu site; É altamente recomendável que este script seja carregado globalmente (em todo site).

{% tabs %}
{% tab title="Ambiente de testes (Sandbox)" %}

```markup
<!-- Script de análise de comportamento do usuário -->
<script>
    window.iopayAntifraudPublicKey = 'ABCDEXXX0000000';
    window.iopaySecurityPlan = 'with_anti_fraud';
    (function() {
        var iopay = document.createElement('script');
        iopay.id = 'iopayjs'; iopay.type = 'text/javascript';iopay.async = true;
        iopay.src = 'https://sandbox.checkout.iopay.com.br/assets/js/checkout_behaviour_security.js';
        var s = document.getElementsByTagName('body')[0];
        s.parentNode.insertBefore(iopay, s);
    })();
</script>
```

{% endtab %}

{% tab title="Ambiente de Produção" %}

```markup
<!-- Script de análise de comportamento do usuário -->
<script>
    window.iopayAntifraudPublicKey = 'ABCDEXXX0000000';
    window.iopaySecurityPlan = 'with_anti_fraud';
    (function() {
        var iopay = document.createElement('script');
        iopay.id = 'iopayjs'; iopay.type = 'text/javascript';iopay.async = true;
        iopay.src = 'https://checkout.iopay.com.br/assets/js/checkout_behaviour_security.js';
        var s = document.getElementsByTagName('body')[0];
        s.parentNode.insertBefore(iopay, s);
    })();
</script>
```

{% endtab %}
{% endtabs %}

{% hint style="success" %}
**Não se preocupe com o desempenho da sua página**&#x20;

Este será o ultimo script a ser carregado em sua página, sem afetar a performance e experiência do usuário; Para que isso ocorra, recomendamos que este script seja inserido, globalmente, antes do fechamento da tag \</body> ou \</footer> no corpo do site.
{% endhint %}

{% hint style="warning" %}
**Não faça nenhuma alteração na estrutura deste script**

Este script foi cuidadosamente desenvolvido para monitorar as ações do usuário, e lhe proteger de possíveis fraudes, sem afetar o desempenho do seu site. Não altere a estrutura do script, apenas atribua os valores necessários para configura-lo (Vide o tópico abaixo **"Configure o script de monitoramento**")
{% endhint %}

### **Configure o script de monitoramento**

As informações solicitadas para configuração do script de monitoramento podem ser obtidas na sua [Conta Digital](https://minhaconta.iopay.com.br/) em: **Conta Digital > Pagamentos Online**

| <p>LINHA</p><p>SCRIPT</p> |             PROPRIEDADE             | TIPO   | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                                                     |
| ------------------------- | :---------------------------------: | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 3                         | **window\.iopayAntifraudPublicKey** | string | <p><a href="https://minhaconta.iopay.com.br/"><em>Conta Digital</em></a> <em>> Pagamentos Online > Chave Pública Antifraude</em></p><p>Sua Chave Pública para utilização do sistema antifraude;</p>                                                                                                                                                           |
| 4                         |    **window\.iopaySecurityPlan**    | string | <p><a href="https://minhaconta.iopay.com.br/"><em>Conta Digital</em></a> <em>> Pagamentos Online > Plano Antifraude</em></p><p>Seu plano antifraude contratado junto a IOPAY: </p><ul><li><strong>"with\_anti\_fraud"</strong>: Plano antifraude padrão</li><li><strong>"with\_anti\_fraud\_insurance"</strong>: Plano antifraude com seguro</li></ul><p></p> |

{% hint style="warning" %}
**Verifique com atenção a configuração do script**

* **window\.iopaySecurityPlan:** apenas os valores exibidos na descrição são permitidos; Certifique-se de que o tipo do plano foi indicado corretamente para que o script de monitoramento funcione.
  {% endhint %}

## Notificações & WebHooks

Webhooks (também conhecidos como HTTP Callbacks) são uma forma de se registrar para receber informações úteis em uma URL específica de sua escolha. Quando ocorre uma alteração no estado de um recurso dentro das plataformas da IOPAY (por exemplo, uma transação é aprovada com sucesso), um evento é gerado por essa ocorrência e enviado para os webhooks cadastrados.

**Para utilizar a notificação de eventos você precisa:**\
\
&#x20;\- Implementar o seu sistema de recebimento de notificações\
&#x20;\- Cadastrar as URLs desse sistema na IOPAY, através da sua conta digital IO.\
&#x20;\- Quando ocorrer uma ação ou atualização de status nas transações enviadas para a IO, as notificações serão disparadas de acordo com os webhooks cadastrados

**Beta** Caso não encontre essa opção em sua conta digital IO, envie uma solicitação de ativação desse recurso para <integracao@iopay.com.br>

## Customização e Cores

Com o botão de pagamentos IOPAY você pode customizar as cores e logotipo da página checkout.

Você pode definir a cor primária e secundária em hexadecimal. Essas duas cores são usadas para compor o layout do checkout que será aberto após o clique no botão de pagamentos.

Para definir as cores do seu checkout, informe o código hexadecimal (com #) nos seguintes input hiddens.                           &#x20;

```markup
<!-- Definição das cores primária e secundária da página de checkout -->
<input type="hidden" name="io_config_primary_color" value="#cc0000"/>
<input type="hidden" name="io_config_secondary_color" value="#FEA40E"/>
```

Se esses parâmetros não forem configurados no seu form, o checkout atribuirá automaticamente as cores padrão da página de checkout, conforme imagem abaixo

## Customização de Logotipo

Com o checkout e botão de pagamento IOPAY você pode facilmente adicionar o logotipo da sua empresa.

Dessa forma você aumenta a conversão de vendas do seu site ou loja virtual, ao customizar com a mesma marca e cores da sua loja virtual.

&#x20;Para inserir o logotipo, faça login na sua conta digital IOPAY e clique em 'Configurações' > 'Pagamentos Online' para especificar a URL da imagem, como ilustrado abaixo:

![](/files/F5wzVjVI1c2Mogd5xNZG)

\
**Padrão de imagens aceitas**\
Width: **`171px`**\
Max Height: **`72px`**\
Formatos: **`png, jpg ou svg`**


---

# 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.iopay.com.br/products/botao-de-pagamentos-1.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.
