Criar um pagamento
Este documento se aplica aos seguintes países:
| Brasil | Chile | México | Portugal | Espanha | Uruguai |
|---|
Este guia orienta você no processamento de uma transação de pagamento completa em uma única etapa usando a API Getnet Web Checkout. O fluxo envolve a captura direta do pagamento sem uma autorização prévia.
Como funciona
Use o pagamento em etapa única quando quiser capturar o pagamento diretamente em uma etapa, sem uma autorização prévia. Características principais:
- Captura em etapa única — a transação é capturada diretamente; não há uma etapa de autorização separada.
- Mesmo payment intent — você cria o payment intent pelo endpoint
POST /payment-intent, o mesmo usado para os demais métodos. - Requisitos de campos regionais — os campos obrigatórios variam por país (moeda, tipo de documento, código do país), e o Uruguai exige o objeto
additional_datacom as alíquotas de imposto e o código de regulamentação regional para conformidade com o SEP. - Configurações opcionais — 3DS, URLs de redirecionamento (
success_url/error_url) e expiração do intent (expires_at) podem ser definidos na requisição; quando informadas, as URLs de redirecionamento substituem a configuração técnica do vendedor.
O fluxo envolve o comprador, a página de Checkout e a API Getnet WebCheckout:

Requisitos
Antes de seguir as etapas, você precisa:
- Configurar seu Web Checkout via Portal ou via API (dependendo da sua localização).
- Gerar seu token seguindo o documento de Authentication.
Processo de pagamento em etapa única
Esta seção orienta você no processo de criação de uma transação de pagamento em etapa única com a API Getnet Web Checkout. Você aprenderá como capturar o pagamento diretamente em uma etapa.
| Endpoint |
|---|
POST /payment-intent |
Campos obrigatórios
| Campo | Tipo | Descrição | Exemplo |
|---|---|---|---|
payment.currency | String | Código da moeda. | BRL |
payment.amount | Integer | Valor da compra em formato inteiro, em que os 2 últimos dígitos representam os centavos. Para países em que centavos não se aplicam, preencha o valor com 2 zeros à direita. | 92500 |
product.quantity | integer | Quantidade do produto. | 10 |
product.title | string | Nome do produto. | Toy car |
product.value | integer | Valor do produto em formato inteiro, em que os 2 últimos dígitos representam os centavos. | 1200 |
customer.customer_id | String | Recomendamos usar o número do documento do cliente, apenas letras e números, sem caracteres especiais, separadores ou espaços. | 12345678912 |
customer.first_name | String | Primeiro nome do cliente. | John |
customer.last_name | String | Sobrenome do cliente. | Doe Smith |
customer.name | String | Nome completo do cliente. | John Doe Smith |
customer.email | String | Endereço de e-mail do cliente. | [email protected] |
customer.document_type | String | Tipo de documento usado para identificar o cliente. Consulte a tabela Valores dos Campos para ver os valores aceitos. | CPF |
customer.document_number | String | Número do documento usado para identificar o cliente. | 12345678912 |
customer.billing_address.street | String | Nome de uma rua. | Av. Brasil |
customer.billing_address.number | String | Número que identifica a posição de um imóvel na rua. | 1000 |
customer.billing_address.country | String | Código do país. Consulte a tabela Valores dos Campos para ver os valores aceitos. | BR |
customer.billing_address.postal_code | String | CEP ou código postal. | 90230060 |
Campos condicionais (apenas Uruguai)
| Campo | Tipo | Descrição | Exemplo |
|---|---|---|---|
additional_data | Object | Dados adicionais para regulamentações regionais e exigências fiscais. Obrigatório para o Uruguai. | --- |
additional_data.rates | Array | Alíquotas de imposto aplicadas à transação. | --- |
additional_data.rates.key | String | (Apenas Uruguai). Tipo de imposto ou alíquota aplicada. | IVA |
additional_data.rates.value | Number | (Apenas Uruguai). Valor do imposto em formato inteiro (centavos) | 123 |
additional_data.regional_regulation_code | String | (Apenas Uruguai). Código fiscal ou regulatório regional exigido pelas autoridades locais. Usado para envios ao SEP no Uruguai. | 17934 |
Campos opcionais
| Campo | Tipo | Descrição | Exemplo |
|---|---|---|---|
configurations | Object | Configurações adicionais para o payment intent | --- |
configurations.3ds | Boolean | Controla a autenticação 3D Secure. | true ou false |
configurations.preauthorization | Boolean | Indica se o pagamento é uma pré-autorização. | true ou false |
configurations.card_verification | Boolean | Indica se este é um fluxo de verificação de cartão. | true ou false |
configurations.success_url | String | URL de redirecionamento em caso de pagamento bem-sucedido. | https://www.mystore.com/checkout/success |
configurations.error_url | String | URL de redirecionamento em caso de erro durante o pagamento. | https://www.mystore.com/checkout/error |
expires_at | String | Expiração do payment intent. | 3d4h15m |
Valores dos Campos
| Campo | Argentina | Brasil | Chile | Portugal | Espanha | México | Uruguai |
|---|---|---|---|---|---|---|---|
currency | ARS | BRL | CLP | EUR | EUR | MXN | UYU ou USD |
document_type | DNI | CPF, CNPJ ou passport | RUT | DNI, INE ou passport | RFC | uyci | |
country | AR | BR | CH | PT | ES | MX | UY |
key | - | - | - | - | - | - | IVA |
Regras de preenchimento dos campos:
- O campo
expires_ataceita um valor de duração (por exemplo, 15m, 2h, 7d ou 1d12h30m). Essa duração é aplicada independentemente do fuso horário do estabelecimento. O timestamp de expiração retornado pela API é sempre formatado em GMT+0 (UTC). Se nenhum valor for informado, o payment intent não expira. - Quando
success_urleerror_urlsão informados na requisição do payment intent, eles substituem o valor configurado na configuração técnica do vendedor. - Uruguai: Vendedores podem criar payment intents em UYU (peso uruguaio) ou USD. Ao pagar em UYU, o objeto
additional_dataé obrigatório e deve incluiradditional_data.rates.keycom a chave de alíquota IVA e oregional_regulation_codepara conformidade com o SEP. - Argentina:
card_verificationepreauthorizationnão estão disponíveis para a Argentina.
Exemplo de requisição:
{
"mode": "instant",
"order_id": "ORDER_UY_97531",
"configurations": {
"3ds": true,
"preauthorization": false,
"card_verification": false,
"success_url": "https://www.mystore.com/checkout/success",
"error_url": "https://www.mystore.com/checkout/error"
},
"payment": {
"currency": "UYU",
"amount": 120000
},
"product": [
{
"product_type": "service",
"title": "Curso de inglés online",
"description": "Curso completo de 6 meses",
"value": 120000,
"quantity": 1
}
],
"customer": {
"customer_id": "12345678912",
"first_name": "Laura",
"last_name": "Fernández Rodríguez",
"name": "Laura Fernández Rodríguez",
"email": "[email protected]",
"document_type": "ci",
"document_number": "45678912",
"phone_number": "59899123456",
"gender": "Female",
"checked_email": true,
"billing_address": {
"street": "Av. 18 de Julio",
"number": "1234",
"complement": "Apto 601",
"district": "Centro",
"city": "Montevideo",
"state": "Montevideo",
"country": "UY",
"postal_code": "11200",
"reference": "Entre Río Branco y Convención"
}
},
"shipping": {
"first_name": "Laura",
"last_name": "Fernández Rodríguez",
"name": "Laura Fernández Rodríguez",
"phone_number": "59899123456",
"shipping_amount": 0,
"address": {
"street": "Av. 18 de Julio",
"number": "1234",
"complement": "Apto 601",
"district": "Centro",
"city": "Montevideo",
"state": "Montevideo",
"country": "UY",
"postal_code": "11200",
"reference": "Entre Río Branco y Convención"
}
},
"pickup_store": false,
"shipping_method": "UES",
"soft_descriptor": "Tienda UY",
"additional_data": {
"rates": [
{
"key": "IVA",
"value": 22
}
],
"regional_regulation_code": ["17934"]
},
"expires_at": "1h"
}Exemplo de resposta 200
{
"payment_intent_id": "ee0b7dd5-92da-4ef4-ad3b-0ba369ad0efe"
}Próximos passos
Agora que você criou com sucesso um pagamento em etapa única, pode explorar outros pagamentos da API Getnet Web Checkout:
- Saiba como criar um pagamento com pré-autorização.
- Saiba como criar um pagamento com verificação de cartão.
- Saiba como criar um pagamento com 3DS.