# Configuração via API

Este documento se aplica aos seguintes países:

Argentina | Brasil | Chile | México | Portugal | Espanha | Uruguai
---|---|---|---|---|---|---|

> Para outros países, consulte o documento [Configuração via Portal](/pt/web-checkout/first-steps-wbc/configuration-by-portal).

Para configurar o Web Checkout via API, você deve seguir três etapas.

## Etapa 1: Obter dados de cadastro do vendedor

<Callout type="warning">

Esta etapa **é necessária apenas** se for a primeira vez que o vendedor configura o Web Checkout.

</Callout>

Para enviar esta requisição, você deve informar um **seller ID** no path da requisição.

| Campo  | Tipo   | Descrição                        | Exemplo                                | Obrigatório |
| ---------- | ------ | ---------------------------------- | -------------------------------------- | :------- |
| `sellerID` | String | Seller ID a ser usado na consulta. | `672c0dd1-28b1-4136-b230-de68c1b92ae0` | ✅        |

#### Request

Exemplo de requisição:

```json
curl https://api.globalgetnet.com/dpy/web-checkout/v1/sellers \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
```

#### 200 Response

Exemplo de resposta:

```json
{
  "type": "object",
  "description": "Response to an BR seller request",
  "properties": {
    "seller_id": {
      "type": "string",
      "writeOnly": true,
      "format": "uuid",
      "example": "a9c99f03-025c-4251-a9f5-de73ef593523"
    },
    "merchant_id": {
      "type": "string",
      "writeOnly": true,
      "format": "uuid",
      "example": "ecd1c020-dd5f-4511-8006-88ad6b3459db"
    },
    "seller_code": {
      "type": "string",
      "writeOnly": true,
      "example": "0000012345"
    },
    "trade_name": {
      "type": "string",
      "writeOnly": true,
      "example": "Smart Shop"
    },
    "email": {
      "type": "string",
      "writeOnly": true,
      "format": "email",
      "example": "smartshop@mail.com"
    },
    "country": {
      "type": "string",
      "writeOnly": true,
      "example": "BR"
    },
    "currencies": {
      "type": "array",
      "writeOnly": true,
      "items": {
        "type": "string"
      },
      "example": [
        "BRL"
      ]
    },
    "payments": {
      "type": "object",
      "writeOnly": true,
      "properties": {
        "instant_payment": {
          "type": "object",
          "properties": {
            "enable": {
              "type": "boolean"
            }
          }
        },
        "bankslip": {
          "type": "object",
          "properties": {
            "enable": {
              "type": "boolean"
            }
          }
        },
        "credit": {
          "type": "object",
          "properties": {
            "enable": {
              "type": "boolean"
            },
            "brands": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "enable": {
                    "type": "boolean"
                  },
                  "brand": {
                    "type": "string",
                    "example": "VISA"
                  },
                  "currencies": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "example": [
                      "BRL"
                    ]
                  },
                  "threeds": {
                    "type": "boolean"
                  },
                  "suported_installments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "schema": {
                          "type": "string",
                          "example": "with_interest"
                        },
                        "schema_name": {
                          "type": "string",
                          "example": "Issuer Plan",
                          "nullable": true
                        },
                        "installments": {
                          "type": "array",
                          "items": {
                            "type": "integer"
                          },
                          "example": [
                            1,
                            2,
                            3,
                            4
                          ]
                        },
                        "installments_with_interest": {
                          "type": "array",
                          "items": {
                            "type": "integer"
                          },
                          "example": [
                            3,
                            4
                          ]
                        }
                      }
                    },
                    "nullable": true
                  }
                }
              }
            }
          }
        },
        "debit": {
          "type": "object",
          "properties": {
            "enable": {
              "type": "boolean"
            },
            "brands": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "enable": {
                    "type": "boolean"
                  },
                  "brand": {
                    "type": "string",
                    "example": "VISA"
                  },
                  "currencies": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "example": [
                      "BRL"
                    ]
                  },
                  "threeds": {
                    "type": "boolean"
                  },
                  "suported_installments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "schema": {
                          "type": "string",
                          "example": "no_interest"
                        },
                        "schema_name": {
                          "type": "string",
                          "example": "Merchant Installment",
                          "nullable": true
                        },
                        "installments": {
                          "type": "array",
                          "items": {
                            "type": "integer"
                          },
                          "example": [
                            1,
                            2,
                            3,
                            4
                          ]
                        },
                        "installments_with_interest": {
                          "type": "array",
                          "items": {
                            "type": "integer"
                          },
                          "example": [
                            3,
                            4
                          ]
                        }
                      }
                    },
                    "nullable": true
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
```

Usando as informações da resposta, você pode prosseguir com a configuração do Web Checkout via API.

## Etapa 2: Enviar configuração técnica

Na etapa de configuração técnica, os estabelecimentos podem personalizar a aparência da interface do Web Checkout exibida aos clientes. Isso permite que a experiência de checkout esteja alinhada à identidade visual do e-commerce do estabelecimento.

As opções de personalização disponíveis incluem cor da marca, cor de destaque e fonte. Além disso, o vendedor configurará as URLs de redirecionamento usadas para enviar os clientes a endpoints predefinidos quando uma transação for aprovada ou recusada durante o processo de checkout.

Devem ser informadas duas URLs:

* **Sucesso**: para transações aprovadas.
* **Erro**: para transações recusadas.

Ambas as URLs são obrigatórias para concluir a integração com sucesso.

Uma **notificação via webhook** deve ser informada, junto com um usuário e senha.

A tabela abaixo lista os campos que devem ser enviados.

| Campo     | Tipo   | Descrição                                       | Exemplo                                                 | Obrigatório |
| ------------- | ------ | ------------------------------------------------- | ------------------------------------------------------- | :------- |
| `success_url` | String | URL de redirecionamento em caso de checkout bem-sucedido.      | `https://www.google.com/success`                        | ✅       |
| `error_url`   | String | URL de redirecionamento em caso de erro durante o checkout. | `https://www.google.com/error`                          | ✅       |
| `url`         | String | URL do webhook para receber notificações de pagamento.     | `https://webhook/bce0b3b3-49b6-4680-88d7-4e23131d91b2`  | ✅       |
| `user`        | String | Usuário para autenticação do webhook.              | `1cb9c739-8452-4436-816b-a833960b7680`                  | ✅       |
| `password`    | String | Senha para autenticação do webhook.              | `78ce12f6-665b-4354-8eaf-f0384413aaa8`                  | ✅       |
| `hide_getnet_logo`| Boolean | Oculta o logo da Getnet no checkout quando definido como true. | `true` ou `false`| -- |

#### Request

Exemplo de requisição:

```json
curl https://api.globalgetnet.com/dpy/web-checkout/v1/technical-configurations/672c0dd1-28b1-4136-b230-de68c1b92ae0 \
  --request PUT \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "layout_customization": {
    "color": {
      "primary": "#de3131",
      "accent": "#257FA4"
    },
    "type_face": "Open Sans",
    "hide_getnet_logo": "false"
  },
  "success_url": "https://www.google.com/success",
  "error_url": "https://www.google.com/error",
  "notification": {
    "url": "https://webhook/bce0b3b3-49b6-4680-88d7-4e23131d91b2",
    "authentication_type": "user_credentials",
    "user_credentials": {
      "user": "1cb9c739-8452-4436-816b-a833960b7680",
      "password": "78ce12f6-665b-4354-8eaf-f0384413aaa8"
    }
  }
}'
```

#### 200 Response

Exemplo de resposta:

```json
{
  "layout_customization": {
    "color": {
      "primary": "#de3131",
      "accent": "#257FA4"
    },
    "type_face": "Open Sans",
    "hide_getnet_logo": "false"
  },
  "success_url": "https://www.google.com/success",
  "error_url": "https://www.google.com/error",
  "notification": {
    "url": "https://webhook/bce0b3b3-49b6-4680-88d7-4e23131d91b2",
    "authentication_type": "user_credentials",
    "user_credentials": {
      "user": "1cb9c739-8452-4436-816b-a833960b7680"
    }
  }
}
```

## Etapa 3: Enviar configuração de negócio

Os estabelecimentos podem configurar opcionalmente sua experiência de checkout, habilitando ou desabilitando operações de pagamento específicas. Essas configurações determinam quais meios de pagamento, como Cartões de Crédito, Cartões de Débito, Boleto (boleto bancário), Pix (pagamento instantâneo) ou QR Code, serão exibidos durante o processo de checkout.

É possível configurar as opções de parcelamento disponíveis para os clientes, permitindo definir aspectos-chave da experiência de parcelamento. Essas configurações incluem os **planos de parcelamento** a serem oferecidos, o **número de parcelas disponíveis** e a **parte responsável por assumir os encargos de juros**, que pode ser o portador do cartão ou o estabelecimento.

A tabela abaixo lista os campos que devem ser enviados.

<Callout type="warning">

Para cada campo do tipo objeto descrito na tabela, o parâmetro `enable` deve ser preenchido com `true` ou `false`.

</Callout>

| Campo         | Tipo    | Descrição                             | Exemplo | Obrigatório |
| ----------------- | ------- | --------------------------------------- | ------- | :------- |
| `instant_payment` | Object  | Meio de pagamento.                         | --      | ✅        |
| `bankslip`        | Object  | Meio de pagamento.                         | --      | ✅        |
| `credit`          | Object  | Meio de pagamento.                         | --      | ✅        |
| `debit`           | Object  | Meio de pagamento.                         | --      | ✅        |
| `enable`          | Boolean | Indica se o meio de pagamento será aceito. | `true`  | ✅        |
| `qr_code_checkout` | Object | (Somente Argentina). Exibe o QR Code como opção de pagamento na tela do Web Checkout. | -- | ✅ |

> ⚠️ **Importante**: O QR Code está disponível apenas para a **Argentina** e usa o parâmetro `enable`, preenchido com `true` ou `false`. Ao habilitar `qr_code_checkout`, o QR Code passa a ser exibido como opção de pagamento na tela do Web Checkout, sem nenhuma alteração na sua integração.

#### Request

Exemplo de requisição:

```json
curl https://api.globalgetnet.com/dpy/web-checkout/v1/business-configurations/672c0dd1-28b1-4136-b230-de68c1b92ae0 \
  --request PUT \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "instant_payment": {
    "enable": true
  },
  "bankslip": {
    "enable": true
  },
  "qr_code_checkout": {
    "enabled": true
  },
  "mbway": {
    "enabled": true
  },
  "multibanco": {
    "enabled": true
  },
  "credit": {
    "enable": true,
    "brands": [
      {
        "enable": true,
        "brand": "VISA",
        "currencies": [
          "BRL"
        ],
        "threeds": true,
        "suported_installments": [
          {
            "schema_name": "with_interest",
            "installments": [
              1,
              2,
              3
            ],
            "installments_with_interest": [
              2,
              3
            ]
          }
        ]
      }
    ]
  },
  "debit": {
    "enable": true,
    "brands": [
      {
        "enable": true,
        "brand": "VISA",
        "currencies": [
          "BRL"
        ],
        "threeds": true
      },
      {
        "enable": true,
        "brand": "MASTER",
        "currencies": [
          "BRL"
        ],
        "threeds": true
      }
    ]
  }
}'
```

#### 200 Response

Exemplo de resposta:

```json
{
  "instant_payment": {
    "enable": true
  },
  "bankslip": {
    "enable": true
  },
  "qr_code_checkout": { 
    "enable": true 
  },
  "mbway": {
    "enabled": true
  },
  "multibanco": {
    "enabled": true
  },
  "credit": {
    "enable": true,
    "brands": [
      {
        "enable": true,
        "brand": "VISA",
        "currencies": [
          "BRL"
        ],
        "threeds": true,
        "suported_installments": [
          {
            "schema_name": "plan_emisor",
            "installments": [
              1,
              2,
              3
            ],
            "installments_with_interest": [
              2,
              3
            ]
          }
        ]
      }
    ]
  },
  "debit": {
    "enable": true,
    "brands": [
      {
        "enable": true,
        "brand": "VISA",
        "currencies": [
          "BRL"
        ],
        "threeds": true
      },
      {
        "enable": true,
        "brand": "MASTER",
        "currencies": [
          "BRL"
        ],
        "threeds": true
      }
    ]
  }
}
```

A configuração está concluída!

## Próxima etapa

* Depois de concluir a configuração, você pode criar uma intenção de pagamento. Consulte [Quickstart Create a Payment](/pt/web-checkout/first-steps-wbc/quick-create-payment-wbc)
* Saiba mais sobre [QR Code payment - Argentina](/pt/web-checkout/payment-guides-wbc/qrcode-payments-wbc)