Getnet DocsGetnet Docs

Pago en un solo paso

Esta guía explica cómo ejecutar un pago en un solo paso con un TPV Integrado. Un pago en un solo paso completa la autorización y la captura en una sola operación mediante la función Sale.

¿Qué es un pago en un solo paso?

Un pago en un solo paso es una venta que autoriza y captura la transacción en una única solicitud. El sistema de automatización envía una solicitud Sale con los parámetros deseados; el TPV ejecuta el flujo de pago y devuelve una respuesta estructurada. El comportamiento es el mismo en USB (CreateUsb), red (CreateHttp) y nube (CreateCloud).

Antes de comenzar

Antes de realizar un pago, asegúrate de que:

  • Se haya creado un Connector con un modelo de conexión compatible
  • El terminal se haya validado con Polling
  • El Modo TPV Integrado esté activo

Paso 1: Crea y ejecuta la solicitud de venta

Los pagos en un solo paso usan la operación Sale. Si no envías un parámetro, el TPV muestra la pantalla de entrada correspondiente.

ParámetroTipoObligatorioDescripción
AmountLongNoValor en moneda local (por ejemplo, 10000 = 100,00). Si se omite, el TPV solicita el importe.
SaleTypeEnumNoTipo de pago: Card o QrCode. Si se omite, el TPV solicita el tipo de pago.
PrintOnPosBoolNoSi es true, el recibo se imprime en el TPV; si es false, el contenido del recibo se devuelve en la respuesta.
EmployeeIdIntNoIdentificación del camarero u operador.
TipLongNoImporte de la propina sumado al total de la transacción.
InstallmentsIntNoNúmero de cuotas.
SkipReceiptBoolNoSi es true, omite la pantalla de recibo del cliente después de la transacción.
SkipConfirmationBoolNoSi es true, omite la pantalla que muestra el importe y los detalles de las cuotas para su confirmación.
PlanIdStringNoPlan de cuotas (por ejemplo, Argentina). Consulta Planes de cuotas e identificadores de planes.
InterestEnumNoIndica si el plan incluye intereses: OnPosSelection, Interest o NoInterest.
OperationModeEnumNoQuién calcula el importe final: CalculatedGetnet (lo calcula el terminal) o CalculatedISV (tu aplicación lo calcula y envía el importe final).
CallerIdStringNoID generado por el sistema de automatización, necesario para consultar después la transacción con Check Status. Sin caracteres especiales ni Unicode.

Este es un ejemplo de una solicitud de pago en un solo paso:

var saleRequest = new SaleRequest
{
    Amount = 10000,
    SaleType = SaleType.Card
};

var saleResult = connector.SaleAsync(saleRequest);

Durante la ejecución, el TPV gestiona toda la interacción necesaria con el cliente (lectura de la tarjeta, PIN, confirmación, etc.).

Paso 2: Gestiona la respuesta

Una respuesta exitosa incluye al menos los campos de abajo. Verifica siempre Code (por ejemplo, 0 = éxito) antes de continuar.

CampoTipoDescripción
CodeIntCódigo de respuesta (consulta los anexos). 0 = éxito.
MessageStringResultado de la operación (por ejemplo, "APPROVED").
CommerceCodeStringCódigo de sucursal aprobado por Getnet.
TerminalIdStringCódigo del terminal TPV.
AuthorizationCodeStringCódigo de autorización de la transacción.
AmountLongImporte de la transacción en moneda local.
OriginalAmountLongImporte original de la transacción en moneda local.
OperationModeEnumModo de operación seleccionado. Puede ser CalculatedGetnet o CalculatedISV.
Last4DigitsStringLos últimos cuatro dígitos de la tarjeta.
CardBrandStringMarca de la tarjeta usada en la transacción (por ejemplo, "Mastercard").
CardTypeStringTipo de tarjeta (por ejemplo, "Credit").
AccountingDateStringFecha y hora de la transacción (GMT).
RealDateDateFecha y hora de la transacción (local).
SaleTypeEnumTipo de pago (por ejemplo, "Card").
ReceiptContentDictLíneas del recibo cuando PrintOnPos es false.
PlanId, Interest, Installments—Presentes cuando se usaron cuotas.
CallerIdStringID generado por el sistema de automatización.
CardBinStringLos primeros ocho dígitos de la tarjeta del cliente (máx. 8).

Este es un ejemplo de una respuesta exitosa:

{
  "Code": 0,
  "Message": "APPROVED",
  "CommerceCode": "0000081561",
  "TerminalId": "AR001P0B",
  "AuthorizationCode": "551437",
  "Amount": 10000,
  "OriginalAmount": 10000,
  "OperationMode": "CalculatedGetnet",
  "Last4Digits": "7167",
  "CardBrand": "master",
  "CardType": null,
  "AccountingDate": "2025-08-25T16:11:23.0000000+00:00",
  "RealDate": "2025-08-25T13:11:50.8570000-03:00",
  "SaleType": "Card",
  "ReceiptContent": null,
  "PlanId": "contado",
  "Interest": null,
  "Installments": 1,
  "CallerId": "123456-789000",
  "CardBin": "84168075"
}

Siguientes pasos