# Recibir Datos de Pago vía Webhook

<Callout type="warning">

Para configurar las notificaciones webhook de Getnet, **debe proporcionar una URL de callback completamente cualificada** (endpoint del servidor) en el proceso de [Configuración Técnica](https://docs.globalgetnet.com/es/products/online-payments/web-checkout-v2?doc=technical-configuration-wbc).

</Callout>

La notificación webhook de Web Checkout envía los datos de autorización, que incluyen los detalles del payment intent que la originó, al endpoint preconfigurado por el comercio.
Esta solicitud se enviará a su dirección, protegida mediante autenticación Authorization: Basic.

Cuando una intención de pago es autorizada o rechazada en el Checkout, el sistema envía una solicitud REST de tipo POST a la URL configurada previamente.

Puede realizar la conciliación de los datos de autorización recibidos en esta solicitud mediante el campo `order_id` ingresado al crear el payment intent, o mediante el campo `payment_intent_id` si decidió conservarlo en su base de datos.

Los datos de autorización se pueden obtener del objeto `payment`, donde:

| Campo | Tipo | Descripción | Ejemplo |
|---|---|---|---|
|`method`| String | Método de pago seleccionado por el comprador. | `credit` |
|`amount`| Integer | Importe autorizado por el comercio. | `10000`|
`installment`| Object | Número de cuotas y plan elegido, cuando corresponda. | -- |
`result`| Object | Datos de autorización. | -- |
`status`| String | Estado de la transacción de pago. | `Authorized` o `Denied`|
`authorization_code` | String | Código de la transacción de pago autorizada. | `9999`|
`transaction_datetime`| String | Fecha y hora en que se procesó el intento/la autorización. | `1997-07-16T19:20:30.45+01:00`|
`return_message`| String | Mensaje de error en caso de transacción rechazada. | `Card not accepted for this operation`|

### Solicitud

Ejemplo de solicitud **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"
}'
```

Ejemplo de solicitud **Rechazada**:

```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"
}'
```

## Notificaciones de QR Code

> Aplica solo para **Argentina**.

Para los pagos con QR Code, la notificación se envía cuando la billetera confirma o rechaza el pago, lo que puede ocurrir algunos minutos después de que se mostró el QR Code al comprador. Hasta ese momento, la transacción permanece pendiente y no se envía ninguna notificación.

El objeto `payment` de la notificación de QR Code contiene los datos reportados por la billetera:

| Campo | Tipo | Descripción | Ejemplo |
|---|---|---|---|
| `method` | String | Método de pago usado por el comprador. | `qr_code` |
| `amount` | Integer | Importe autorizado. | `1410000` |
| `currency` | String | Código de moneda de la transacción. | `ARS` |
| `installment` | Object | Plan de cuotas elegido por el comprador en la billetera, cuando corresponda. | -- |
| `payment_method.operation` | String | Tipo de operación liquidada por la billetera. | `pct` |
| `payment_method.brand` | String | Marca de la forma de pago elegida en la billetera, cuando corresponda. | `VISA` |
| `payment_method.last_four_digits` | String | Últimos cuatro dígitos de la tarjeta usada en la billetera, cuando la forma de pago es una tarjeta. | `1234` |
| `result.payment_id` | String | Identificador del pago, usado en la cancelación o el reembolso. | `3a76acae-d9c0-421c-91e0-cf5ce8aca098` |
| `result.status` | String | Estado de la transacción. | `Approved` o `Denied` |
| `result.authorization_code` | String | Código de autorización de la transacción aprobada. | `999999` |
| `result.return_message` | String | Motivo reportado por la billetera en caso de rechazo. | `1 - Rechazado por el usuario` |
| `result.transaction_datetime` | String | Fecha y hora en que la billetera confirmó el pago. | `2026-07-27T18:24:03.000Z` |

**Ejemplo de webhook de QR Code aprobada:**

```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"
}'
```

**Ejemplo de webhook de QR Code rechazada:**

```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">

Getnet reenviará la notificación webhook **hasta cinco veces** en intervalos progresivamente crecientes. Si la notificación aún no se entrega correctamente después de estos intentos iniciales, los reintentos continuarán **una vez por hora durante un máximo de 72 horas**. Transcurrido este período, Getnet dejará de intentar la notificación.

</Callout>

### Respuesta 200

Un estado 200 indica que el webhook se recibió correctamente y que no se realizarán más intentos de entrega.