Getnet DocsGetnet Docs

Create a Payment

This document applies to the following countries:

BrazilChileMexicoPortugalSpainUruguay

This guide walks you through processing a complete single-step payment transaction using the Getnet Web Checkout API. The flow involves direct capturing the payment without a previous authorization.

How it works

Use the single-step payment when you want to capture the payment directly in one step, without a previous authorization. Key characteristics:

  • Single-step capture — the transaction is captured directly; there is no separate authorization step.
  • Same payment intent — you create the payment intent through the POST /payment-intent endpoint, the same one used for the other methods.
  • Regional field requirements — required fields vary by country (currency, document type, country code), and Uruguay requires the additional_data object with tax rates and the regional regulation code for SEP compliance.
  • Optional configurations — 3DS, redirect URLs (success_url / error_url), and intent expiration (expires_at) can be set in the request; when provided, the redirect URLs override the seller’s technical configuration.

The flow involves the buyer, the Checkout page, and the Getnet WebCheckout API:

Before you start

Before following the steps, you need to:

  • Configuring your WebChekout by Portal or by API (depending on you location).
  • Generate your token following the Authentication document.

Single-Step Payment Process

This section guides you through the process of creating a single-step payment transaction with the Getnet Web Checkout API. You’ll learn how to capture payment directly in one step.

Endpoint
POST /payment-intent

Required fields

FieldTypeDescriptionExample
payment.currencyStringCurrency code.BRL
payment.amountIntegerPurchase amount in integer format, where the last 2 digits represent the cents. For countries where cents do not apply, fill in the amount with 2 zeros to the right.92500
product.quantityintegerQuantity of the product.10
product.titlestringProduct name.Toy car
product.valueintegerProduct value in integer format, where the last 2 digits represent the cents.1200
customer.customer_idStringRecommend using the customer’s document number, only letters and numbers, without any special characters, separators or spaces.12345678912
customer.first_nameStringCustomer’s first name.John
customer.last_nameStringCustomer’s last name.Doe Smith
customer.nameStringCustomer’s full name.John Doe Smith
customer.emailStringCustomer’s email address.customer@email.com.br
customer.document_typeStringType of the document used to identify the customer. Check the Field Values table to see the accepted values.CPF
customer.document_numberStringDocument number used to identify the customer.12345678912
customer.billing_address.streetStringName of a street.Av. Brasil
customer.billing_address.numberStringNumber that identifies the position of a building on a street.1000
customer.billing_address.countryStringCountry code. Check the Field Values table to see the accepted values.BR
customer.billing_address.postal_codeStringPostal or ZIP code.90230060

Conditional fields (Uruguay only)

FieldTypeDescriptionExample
additional_dataObjectAdditional data for regional regulations and tax requirements. Required for Uruguay.---
additional_data.ratesArrayTax rates applied to the transaction.---
additional_data.rates.keyString(Uruguay only). Type of tax or rate being applied.IVA
additional_data.rates.valueNumber(Uruguay only). Tax amount in integer format (cents)123
additional_data.regional_regulation_codeString(Uruguay only). Regional fiscal or regulatory code required by local authorities. Used for SEP submissions in Uruguay.17934

Optional fields

FieldTypeDescriptionExample
configurationsObjectAdditional configurations for the payment intent---
configurations.3dsBooleanControls 3D Secure authentication.true or false
configurations.preauthorizationBooleanIndicates if the payment is a pre-authorization.true or false
configurations.card_verificationBooleanIndicates if this is a card verification flow.true or false
configurations.success_urlStringRedirect URL in case of successful payment.https://www.mystore.com/checkout/success
configurations.error_urlStringRedirect URL in case of an error during payment.https://www.mystore.com/checkout/error
expires_atStringPayment intent expiration.3d4h15m

Field Values

FieldArgentinaBrazilChilePortugalSpainMexicoUruguay
currencyARSBRLCLPEUREURMXNUYU or USD
document_typeDNICPF, CNPJ or passportRUTDNI, INE or passportRFCuyci
countryARBRCHPTESMXUY
key------IVA

Field filling rules:

  • The expires_at field accepts a duration value (for example, 15m, 2h, 7d, or 1d12h30m). This duration is applied regardless of the merchant’s timezone. The expiration timestamp returned by the API is always formatted in GMT+0 (UTC). If no value is provided, the payment intent does not expire.
  • When success_url and error_url is provided in the payment intent request, it will overrides the value configured in the seller’s technical configuration.
  • Uruguay: Sellers can create payment intents in either UYU (Uruguayan Peso) or USD. When paying in UYU, the additional_data object is required and must include the additional_data.rates.key with IVA rate key and the regional_regulation_code for SEP compliance.
  • Argentina: card_verification and preauthorization are not available for Argentina.

Example of request:

{
  "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"
}

Example of 200 Response

{
  "payment_intent_id": "ee0b7dd5-92da-4ef4-ad3b-0ba369ad0efe"
}

Next Steps

Now that you have successfully created a single-step payment, you can explore more payments of the Getnet Web Checkout API: