Crear un pago
Este documento aplica a los siguientes países:
| Brasil | Chile | México | Portugal | España | Uruguay |
|---|
Esta guía te muestra cómo procesar una transacción de pago completa en un solo paso mediante la API de Getnet Web Checkout. El flujo implica la captura directa del pago sin una autorización previa.
Cómo funciona
Usa el pago en un solo paso cuando quieras capturar el pago directamente en un paso, sin una autorización previa. Características clave:
- Captura en un solo paso — la transacción se captura directamente; no hay un paso de autorización independiente.
- Mismo payment intent — creas el payment intent mediante el endpoint
POST /payment-intent, el mismo que se usa para los demás métodos. - Requisitos de campos por región — los campos obligatorios varían según el país (moneda, tipo de documento, código de país), y Uruguay requiere el objeto
additional_datacon las tasas de impuestos y el código de regulación regional para el cumplimiento de SEP. - Configuraciones opcionales — puedes definir 3DS, las URLs de redirección (
success_url/error_url) y la expiración del intent (expires_at) en la solicitud; cuando se proporcionan, las URLs de redirección anulan la configuración técnica del vendedor.
El flujo involucra al comprador, la página de Checkout y la API de Getnet WebCheckout:

Requisitos
Antes de seguir los pasos, necesitas:
- Configurar tu Web Checkout mediante Portal o mediante API (dependiendo de tu ubicación).
- Generar tu token siguiendo el documento de Authentication.
Proceso de pago en un solo paso
Esta sección te guía a través del proceso de creación de una transacción de pago en un solo paso con la API de Getnet Web Checkout. Aprenderás a capturar el pago directamente en un solo paso.
| Endpoint |
|---|
POST /payment-intent |
Campos obligatorios
| Campo | Tipo | Descripción | Ejemplo |
|---|---|---|---|
payment.currency | String | Código de moneda. | BRL |
payment.amount | Integer | Importe de la compra en formato entero, donde los últimos 2 dígitos representan los céntimos. Para los países donde no aplican los céntimos, completa el importe con 2 ceros a la derecha. | 92500 |
product.quantity | integer | Cantidad del producto. | 10 |
product.title | string | Nombre del producto. | Toy car |
product.value | integer | Valor del producto en formato entero, donde los últimos 2 dígitos representan los céntimos. | 1200 |
customer.customer_id | String | Se recomienda usar el número de documento del cliente, solo letras y números, sin caracteres especiales, separadores ni espacios. | 12345678912 |
customer.first_name | String | Nombre del cliente. | John |
customer.last_name | String | Apellido del cliente. | Doe Smith |
customer.name | String | Nombre completo del cliente. | John Doe Smith |
customer.email | String | Dirección de correo electrónico del cliente. | [email protected] |
customer.document_type | String | Tipo de documento usado para identificar al cliente. Consulta la tabla Valores de los campos para ver los valores aceptados. | CPF |
customer.document_number | String | Número de documento usado para identificar al cliente. | 12345678912 |
customer.billing_address.street | String | Nombre de una calle. | Av. Brasil |
customer.billing_address.number | String | Número que identifica la posición de un edificio en una calle. | 1000 |
customer.billing_address.country | String | Código de país. Consulta la tabla Valores de los campos para ver los valores aceptados. | BR |
customer.billing_address.postal_code | String | Código postal. | 90230060 |
Campos condicionales (solo Uruguay)
| Campo | Tipo | Descripción | Ejemplo |
|---|---|---|---|
additional_data | Object | Datos adicionales para regulaciones regionales y requisitos fiscales. Obligatorio para Uruguay. | --- |
additional_data.rates | Array | Tasas de impuestos aplicadas a la transacción. | --- |
additional_data.rates.key | String | (Solo Uruguay). Tipo de impuesto o tasa que se aplica. | IVA |
additional_data.rates.value | Number | (Solo Uruguay). Importe del impuesto en formato entero (céntimos) | 123 |
additional_data.regional_regulation_code | String | (Solo Uruguay). Código fiscal o regulatorio regional requerido por las autoridades locales. Se usa para los envíos a SEP en Uruguay. | 17934 |
Campos opcionales
| Campo | Tipo | Descripción | Ejemplo |
|---|---|---|---|
configurations | Object | Configuraciones adicionales para el payment intent | --- |
configurations.3ds | Boolean | Controla la autenticación 3D Secure. | true o false |
configurations.preauthorization | Boolean | Indica si el pago es una preautorización. | true o false |
configurations.card_verification | Boolean | Indica si se trata de un flujo de verificación de tarjeta. | true o false |
configurations.success_url | String | URL de redirección en caso de pago exitoso. | https://www.mystore.com/checkout/success |
configurations.error_url | String | URL de redirección en caso de error durante el pago. | https://www.mystore.com/checkout/error |
expires_at | String | Expiración del payment intent. | 3d4h15m |
Valores de los campos
| Campo | Argentina | Brasil | Chile | Portugal | España | México | Uruguay |
|---|---|---|---|---|---|---|---|
currency | ARS | BRL | CLP | EUR | EUR | MXN | UYU o USD |
document_type | DNI | CPF, CNPJ o passport | RUT | DNI, INE o passport | RFC | uyci | |
country | AR | BR | CH | PT | ES | MX | UY |
key | - | - | - | - | - | - | IVA |
Reglas para completar los campos:
- El campo
expires_atacepta un valor de duración (por ejemplo, 15m, 2h, 7d o 1d12h30m). Esta duración se aplica sin importar la zona horaria del merchant. La marca de tiempo de expiración que devuelve la API siempre tiene formato GMT+0 (UTC). Si no se proporciona ningún valor, el payment intent no expira. - Cuando se proporcionan
success_urlyerror_urlen la solicitud del payment intent, estos anulan el valor configurado en la configuración técnica del vendedor. - Uruguay: los vendedores pueden crear payment intents en UYU (peso uruguayo) o en USD. Al pagar en UYU, el objeto
additional_dataes obligatorio y debe incluiradditional_data.rates.keycon la clave de tasa IVA y elregional_regulation_codepara el cumplimiento de SEP. - Argentina:
card_verificationypreauthorizationno están disponibles para Argentina.
Ejemplo de solicitud:
{
"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"
}Ejemplo de respuesta 200
{
"payment_intent_id": "ee0b7dd5-92da-4ef4-ad3b-0ba369ad0efe"
}Próximos pasos
Ahora que creaste correctamente un pago en un solo paso, puedes explorar más pagos de la API de Getnet Web Checkout:
- Aprende cómo crear un pago con preautorización.
- Aprende cómo crear un pago con verificación de tarjeta.
- Aprende cómo crear un pago con 3DS.