Create a Payment
This document applies to the following countries:
| Brazil | Chile | Mexico | Portugal | Spain | Uruguay |
|---|
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-intentendpoint, 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_dataobject 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
| Field | Type | Description | Example |
|---|---|---|---|
payment.currency | String | Currency code. | BRL |
payment.amount | Integer | Purchase 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.quantity | integer | Quantity of the product. | 10 |
product.title | string | Product name. | Toy car |
product.value | integer | Product value in integer format, where the last 2 digits represent the cents. | 1200 |
customer.customer_id | String | Recommend using the customer’s document number, only letters and numbers, without any special characters, separators or spaces. | 12345678912 |
customer.first_name | String | Customer’s first name. | John |
customer.last_name | String | Customer’s last name. | Doe Smith |
customer.name | String | Customer’s full name. | John Doe Smith |
customer.email | String | Customer’s email address. | [email protected] |
customer.document_type | String | Type of the document used to identify the customer. Check the Field Values table to see the accepted values. | CPF |
customer.document_number | String | Document number used to identify the customer. | 12345678912 |
customer.billing_address.street | String | Name of a street. | Av. Brasil |
customer.billing_address.number | String | Number that identifies the position of a building on a street. | 1000 |
customer.billing_address.country | String | Country code. Check the Field Values table to see the accepted values. | BR |
customer.billing_address.postal_code | String | Postal or ZIP code. | 90230060 |
Conditional fields (Uruguay only)
| Field | Type | Description | Example |
|---|---|---|---|
additional_data | Object | Additional data for regional regulations and tax requirements. Required for Uruguay. | --- |
additional_data.rates | Array | Tax rates applied to the transaction. | --- |
additional_data.rates.key | String | (Uruguay only). Type of tax or rate being applied. | IVA |
additional_data.rates.value | Number | (Uruguay only). Tax amount in integer format (cents) | 123 |
additional_data.regional_regulation_code | String | (Uruguay only). Regional fiscal or regulatory code required by local authorities. Used for SEP submissions in Uruguay. | 17934 |
Optional fields
| Field | Type | Description | Example |
|---|---|---|---|
configurations | Object | Additional configurations for the payment intent | --- |
configurations.3ds | Boolean | Controls 3D Secure authentication. | true or false |
configurations.preauthorization | Boolean | Indicates if the payment is a pre-authorization. | true or false |
configurations.card_verification | Boolean | Indicates if this is a card verification flow. | true or false |
configurations.success_url | String | Redirect URL in case of successful payment. | https://www.mystore.com/checkout/success |
configurations.error_url | String | Redirect URL in case of an error during payment. | https://www.mystore.com/checkout/error |
expires_at | String | Payment intent expiration. | 3d4h15m |
Field Values
| Field | Argentina | Brazil | Chile | Portugal | Spain | Mexico | Uruguay |
|---|---|---|---|---|---|---|---|
currency | ARS | BRL | CLP | EUR | EUR | MXN | UYU or USD |
document_type | DNI | CPF, CNPJ or passport | RUT | DNI, INE or passport | RFC | uyci | |
country | AR | BR | CH | PT | ES | MX | UY |
key | - | - | - | - | - | - | IVA |
Field filling rules:
- The
expires_atfield 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_urlanderror_urlis 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_dataobject is required and must include theadditional_data.rates.keywith IVA rate key and theregional_regulation_codefor SEP compliance. - Argentina:
card_verificationandpreauthorizationare 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": "[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"
}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:
- Learn how to Create a payment with pre-authorization.
- Learn how to Create a payment with card verification.
- Learn how to Create a payment with 3DS.