# Receber Dados de Pagamento via Webhook

<Callout type="warning">

Para configurar as notificações de webhook da Getnet, você **deve fornecer uma URL de callback totalmente qualificada** (endpoint do servidor) no processo de [Configuração Técnica](https://docs.globalgetnet.com/pt/products/online-payments/web-checkout-v2?doc=technical-configuration-wbc). 

</Callout>

A notificação de webhook do Web Checkout envia os dados de autorização, contendo os detalhes do payment intent que a originou, para o endpoint pré-configurado pelo estabelecimento.
Essa requisição é enviada ao seu endereço, protegida por autenticação Authorization: Basic.

Quando uma intenção de pagamento é autorizada ou negada no Checkout, o sistema envia uma requisição REST do tipo POST para a URL configurada anteriormente.

A conciliação dos dados de autorização recebidos nessa requisição pode ser feita usando o campo `order_id` informado na criação do payment intent, ou o próprio campo `payment_intent_id`, caso você opte por persisti-lo em sua base de dados.

Os dados de autorização podem ser obtidos a partir do objeto `payment`, onde:

| Campo | Tipo | Descrição | Exemplo |
|---|---|---|---|
|`method`| String | Método de pagamento selecionado pelo cliente. | `credit` |
|`amount`| Integer | Valor autorizado pelo estabelecimento. | `10000`|
|`installment`| Object | Número de parcelas e plano escolhido, quando aplicável. | -- |
|`result`| Object | Dados da autorização. | -- |
|`status`| String | Status da transação de pagamento. | `Authorized` ou `Denied`|
|`authorization_code` | String | Código da transação de pagamento autorizada. | `9999`|
|`transaction_datetime`| String | Data e hora em que a tentativa/autorização foi processada. | `1997-07-16T19:20:30.45+01:00`|
|`return_message`| String | Mensagem de erro em caso de transação negada. | `Card not accepted for this operation`|

### Requisição

Exemplo de requisição **Autorizada**:

```json
curl https://api-sbx.pre.globalgetnet.com/digital-checkout/v1/ \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Basic username:password' \
  --data '{
  "payment_intent_id": "1f9f47ed-65cc-4fbf-a407-0f17df9a2e2c",
  "checkout_id": "5ab15d1e-ea8b-4560-84d2-fb3d02179537",
  "order_id": "YOUR_ORDER_ID",
  "mode": "instant",
  "seller": {
    "id": "716d899e-9091-4577-a12f-8a77ec4d1e0b",
    "trade_name": "GetNet Shop",
    "merchant_document": "00000000000",
    "settings": {
      "notification_url_configured": true
    }
  },
  "customer": {
    "customer_id": "c129d793-d204-4610-8819-b8fb720a8552",
    "first_name": "John",
    "last_name": "Doe",
    "name": "John Doe",
    "email": "johndoe@emailtest.com",
    "document_type": "dni",
    "document_number": "1111111111111",
    "checked_email": false,
    "billing_address": {
      "street": "South Rockledge St",
      "number": "00",
      "complement": "Rockville",
      "country": "BR",
      "postal_code": "00000000"
    }
  },
  "shipping": {
    "first_name": "John",
    "last_name": "Doe",
    "name": "John Doe",
    "address": {
      "street": "South Rockledge St",
      "number": "00",
      "complement": "Rockville",
      "country": "BR",
      "postal_code": "00000000"
    }
  },
  "payment": {
    "method": "credit",
    "amount": 14100,
    "currency": "BRL",
    "installment": {
      "quote_id": "f054ce63-0475-406f-8eca-25aea5dae6a8",
      "schema": "plan_name",
      "type": "with_interest",
      "number": 6
    },
    "payment_method": {
      "token_id": "e327bae6-286e-4920-addb-5f4b10315b4e"
    },
    "result": {
      "payment_id": "3a76acae-d9c0-421c-91e0-cf5ce8aca098",
      "status": "Authorized",
      "authorization_code": "999999",
      "transaction_datetime": "2024-01-01T12:00:00.000Z"
    }
  },
  "pickup_store": false,
  "product": [
    {
      "product_type": "cash_carry",
      "title": "Look Fashion Leather Boot",
      "value": 5300,
      "quantity": 1
    },
    {
      "product_type": "cash_carry",
      "title": "Look Fashion Blazer",
      "value": 8800,
      "quantity": 1
    }
  ],
  "frontend": {
    "link": "https://www.globalgetnet.com/",
    "time_page": 39,
    "sales_channel": "WEB",
    "application_version": "0.0.0",
    "card_pasted": true,
    "ip": "000.000.00.00",
    "timezone": "America/Sao_Paulo",
    "locale": "en-US"
  },
  "created_at": "2024-01-01T12:00:00.000Z",
  "updated_at": "2024-01-01T12:00:00.000Z"
}'
```

Exemplo de requisição **Negada**:

```json
curl https://api-sbx.pre.globalgetnet.com/digital-checkout/v1/ \
  --request POST \
  --header 'Authorization: Basic username:password' \
  --data '{
  "payment_intent_id": "1f9f47ed-65cc-4fbf-a407-0f17df9a2e2c",
  "checkout_id": "5ab15d1e-ea8b-4560-84d2-fb3d02179537",
  "order_id": "YOUR_ORDER_ID",
  "mode": "instant",
  "seller": {
    "id": "716d899e-9091-4577-a12f-8a77ec4d1e0b",
    "trade_name": "GetNet Shop",
    "merchant_document": "00000000000",
    "settings": {
      "notification_url_configured": true
    }
  },
  "customer": {
    "customer_id": "c129d793-d204-4610-8819-b8fb720a8552",
    "first_name": "John",
    "last_name": "Doe",
    "name": "John Doe",
    "email": "johndoe@emailtest.com",
    "document_type": "dni",
    "document_number": "1111111111111",
    "checked_email": false,
    "billing_address": {
      "street": "South Rockledge St",
      "number": "00",
      "complement": "Rockville",
      "country": "BR",
      "postal_code": "00000000"
    }
  },
  "shipping": {
    "first_name": "John",
    "last_name": "Doe",
    "name": "John Doe",
    "address": {
      "street": "South Rockledge St",
      "number": "00",
      "complement": "Rockville",
      "country": "BR",
      "postal_code": "00000000"
    }
  },
  "payment": {
    "method": "credit",
    "amount": 14100,
    "currency": "BRL",
    "installment": {
      "quote_id": "f054ce63-0475-406f-8eca-25aea5dae6a8",
      "schema": "plan_name",
      "type": "with_interest",
      "number": 6
    },
    "payment_method": {
      "token_id": "e327bae6-286e-4920-addb-5f4b10315b4e"
    },
    "result": {
      "payment_id": "3a76acae-d9c0-421c-91e0-cf5ce8aca098",
      "status": "Denied",
      "return_message": "Card not accepted for this operation",
      "transaction_datetime": "2024-01-01T12:00:00.000Z"
    }
  },
  "pickup_store": false,
  "product": [
    {
      "product_type": "cash_carry",
      "title": "Look Fashion Leather Boot",
      "value": 5300,
      "quantity": 1
    },
    {
      "product_type": "cash_carry",
      "title": "Look Fashion Blazer",
      "value": 8800,
      "quantity": 1
    }
  ],
  "frontend": {
    "link": "https://www.globalgetnet.com/",
    "time_page": 39,
    "sales_channel": "WEB",
    "application_version": "0.0.0",
    "card_pasted": true,
    "ip": "000.000.00.00",
    "timezone": "America/Sao_Paulo",
    "locale": "en-US"
  },
  "created_at": "2024-01-01T12:00:00.000Z",
  "updated_at": "2024-01-01T12:00:00.000Z"
}'
```

## Notificações de QR Code

> Aplica-se somente à **Argentina**.

Para pagamentos com QR Code, a notificação é enviada quando a carteira digital confirma ou recusa o pagamento, o que pode ocorrer alguns minutos após o QR Code ser exibido ao comprador. Até esse momento, a transação permanece pendente e nenhuma notificação é enviada.

O objeto `payment` da notificação de QR Code contém os dados informados pela carteira digital:

| Campo | Tipo | Descrição | Exemplo |
|---|---|---|---|
| `method` | String | Método de pagamento usado pelo comprador. | `qr_code` |
| `amount` | Integer | Valor autorizado. | `1410000` |
| `currency` | String | Código da moeda da transação. | `ARS` |
| `installment` | Object | Plano de parcelamento escolhido pelo comprador na carteira digital, quando aplicável. | -- |
| `payment_method.operation` | String | Tipo de operação liquidada pela carteira digital. | `pct` |
| `payment_method.brand` | String | Bandeira da forma de pagamento escolhida na carteira digital, quando aplicável. | `VISA` |
| `payment_method.last_four_digits` | String | Últimos quatro dígitos do cartão usado na carteira digital, quando a forma de pagamento é um cartão. | `1234` |
| `result.payment_id` | String | Identificador do pagamento, usado em cancelamento ou reembolso. | `3a76acae-d9c0-421c-91e0-cf5ce8aca098` |
| `result.status` | String | Status da transação. | `Approved` ou `Denied` |
| `result.authorization_code` | String | Código de autorização da transação aprovada. | `999999` |
| `result.return_message` | String | Motivo informado pela carteira digital em caso de recusa. | `1 - Rechazado por el usuario` |
| `result.transaction_datetime` | String | Data e hora em que o pagamento foi confirmado pela carteira digital. | `2026-07-27T18:24:03.000Z` |

**Exemplo de webhook de QR Code aprovada:**

```json
curl https://api-sbx.pre.globalgetnet.com/dpy/web-checkout/v1/ \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic username:password' \
--data '{
  "payment_intent_id": "f6ee8bc7-229d-4d9d-bced-7dd2371a1f57",
  "checkout_id": "5ab15d1e-ea8b-4560-84d2-fb3d02179537",
  "order_id": "PEDIDO_AR_97531",
  "mode": "instant",
  "seller": {
    "id": "716d899e-9091-4577-a12f-8a77ec4d1e0b",
    "trade_name": "GetNet Shop",
    "merchant_document": "00000000000",
    "settings": { "notification_url_configured": true }
  },
  "customer": {
    "customer_id": "cliente_ar_005",
    "first_name": "Laura",
    "last_name": "Fernández",
    "name": "Laura Fernández",
    "email": "laura.fernandez@example.com.ar",
    "document_type": "dni",
    "document_number": "45678912"
  },
  "payment": {
    "method": "qr_code",
    "amount": 1410000,
    "currency": "ARS",
    "payment_method": { "operation": "pct" },
    "result": {
      "payment_id": "3a76acae-d9c0-421c-91e0-cf5ce8aca098",
      "status": "Approved",
      "authorization_code": "999999",
      "transaction_datetime": "2026-07-27T18:24:03.000Z"
    }
  },
  "created_at": "2026-07-27T18:22:41.000Z",
  "updated_at": "2026-07-27T18:24:03.000Z"
}'
```

**Exemplo de webhook de QR Code recusada:**

```json
curl https://api-sbx.pre.globalgetnet.com/dpy/web-checkout/v1/ \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic username:password' \
--data '{
  "payment_intent_id": "f6ee8bc7-229d-4d9d-bced-7dd2371a1f57",
  "checkout_id": "5ab15d1e-ea8b-4560-84d2-fb3d02179537",
  "order_id": "PEDIDO_AR_97531",
  "mode": "instant",
  "seller": {
    "id": "716d899e-9091-4577-a12f-8a77ec4d1e0b",
    "trade_name": "GetNet Shop",
    "merchant_document": "00000000000",
    "settings": { "notification_url_configured": true }
  },
  "payment": {
    "method": "qr_code",
    "amount": 1410000,
    "currency": "ARS",
    "payment_method": { "operation": "pct" },
    "result": {
      "payment_id": "3a76acae-d9c0-421c-91e0-cf5ce8aca098",
      "status": "Denied",
      "return_message": "1 - Rechazado por el usuario",
      "transaction_datetime": "2026-07-27T18:24:03.000Z"
    }
  },
  "created_at": "2026-07-27T18:22:41.000Z",
  "updated_at": "2026-07-27T18:24:03.000Z"
}'
```

<Callout type="info">

A Getnet reenviará a notificação de webhook **até cinco vezes**, em intervalos progressivamente maiores. Se a notificação ainda não for entregue com sucesso após essas tentativas iniciais, as novas tentativas continuarão **uma vez por hora, por até 72 horas**. Após esse período, a Getnet interromperá quaisquer novas tentativas de notificação.

</Callout>

### Resposta 200

Um status 200 significa que o webhook foi recebido com sucesso e que nenhuma nova tentativa de envio será realizada.