Getnet DocsGetnet Docs

Crear un pago

Este documento aplica a los siguientes países:

BrasilChileMéxicoPortugalEspañaUruguay

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_data con 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

CampoTipoDescripciónEjemplo
payment.currencyStringCódigo de moneda.BRL
payment.amountIntegerImporte 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.quantityintegerCantidad del producto.10
product.titlestringNombre del producto.Toy car
product.valueintegerValor del producto en formato entero, donde los últimos 2 dígitos representan los céntimos.1200
customer.customer_idStringSe recomienda usar el número de documento del cliente, solo letras y números, sin caracteres especiales, separadores ni espacios.12345678912
customer.first_nameStringNombre del cliente.John
customer.last_nameStringApellido del cliente.Doe Smith
customer.nameStringNombre completo del cliente.John Doe Smith
customer.emailStringDirección de correo electrónico del cliente.customer@email.com.br
customer.document_typeStringTipo de documento usado para identificar al cliente. Consulta la tabla Valores de los campos para ver los valores aceptados.CPF
customer.document_numberStringNúmero de documento usado para identificar al cliente.12345678912
customer.billing_address.streetStringNombre de una calle.Av. Brasil
customer.billing_address.numberStringNúmero que identifica la posición de un edificio en una calle.1000
customer.billing_address.countryStringCódigo de país. Consulta la tabla Valores de los campos para ver los valores aceptados.BR
customer.billing_address.postal_codeStringCódigo postal.90230060

Campos condicionales (solo Uruguay)

CampoTipoDescripciónEjemplo
additional_dataObjectDatos adicionales para regulaciones regionales y requisitos fiscales. Obligatorio para Uruguay.---
additional_data.ratesArrayTasas de impuestos aplicadas a la transacción.---
additional_data.rates.keyString(Solo Uruguay). Tipo de impuesto o tasa que se aplica.IVA
additional_data.rates.valueNumber(Solo Uruguay). Importe del impuesto en formato entero (céntimos)123
additional_data.regional_regulation_codeString(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

CampoTipoDescripciónEjemplo
configurationsObjectConfiguraciones adicionales para el payment intent---
configurations.3dsBooleanControla la autenticación 3D Secure.true o false
configurations.preauthorizationBooleanIndica si el pago es una preautorización.true o false
configurations.card_verificationBooleanIndica si se trata de un flujo de verificación de tarjeta.true o false
configurations.success_urlStringURL de redirección en caso de pago exitoso.https://www.mystore.com/checkout/success
configurations.error_urlStringURL de redirección en caso de error durante el pago.https://www.mystore.com/checkout/error
expires_atStringExpiración del payment intent.3d4h15m

Valores de los campos

CampoArgentinaBrasilChilePortugalEspañaMéxicoUruguay
currencyARSBRLCLPEUREURMXNUYU o USD
document_typeDNICPF, CNPJ o passportRUTDNI, INE o passportRFCuyci
countryARBRCHPTESMXUY
key------IVA

Reglas para completar los campos:

  • El campo expires_at acepta 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_url y error_url en 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_data es obligatorio y debe incluir additional_data.rates.key con la clave de tasa IVA y el regional_regulation_code para el cumplimiento de SEP.
  • Argentina: card_verification y preauthorization no 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": "laura.fernandez@example.com.uy",
    "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: