Pagamento em passo único
Este guia explica como executar um pagamento em passo único usando um POS Integrado. Um pagamento em passo único conclui a autorização e a captura em uma única operação, por meio da função Sale.
O que é um pagamento em passo único
Um pagamento em passo único é uma venda que autoriza e captura a transação em uma única requisição. O sistema de automação envia uma requisição Sale com os parâmetros desejados; o POS executa o fluxo de pagamento e retorna uma resposta estruturada. O mesmo comportamento se aplica a USB (CreateUsb), Rede (CreateHttp) e Nuvem (CreateCloud).
Antes de começar
Antes de realizar um pagamento, confirme que:
- Um Connector foi criado usando um modelo de conexão suportado
- O terminal foi validado com
Polling - O Modo POS Integrado está ativo
Passo 1: Monte e execute a requisição de venda
Pagamentos em passo único usam a operação Sale. Se um parâmetro não for informado, o POS exibe a tela de digitação correspondente.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Amount | Long | Não | Valor na moeda local (por exemplo, 10000 = 100,00). Se omitido, o POS solicita o valor. |
SaleType | Enum | Não | Tipo de pagamento: Card ou QrCode. Se omitido, o POS solicita o tipo de pagamento. |
PrintOnPos | Bool | Não | Se true, o recibo é impresso no POS; se false, o conteúdo do recibo é retornado na resposta. |
EmployeeId | Int | Não | Identificação do garçom ou operador. |
Tip | Long | Não | Valor da gorjeta adicionado ao total da transação. |
Installments | Int | Não | Número de parcelas. |
SkipReceipt | Bool | Não | Se true, ignora a tela de recibo do cliente após a transação. |
SkipConfirmation | Bool | Não | Se true, ignora a tela que exibe os detalhes de valor e parcelas para confirmação. |
PlanId | String | Não | Plano de parcelamento (por exemplo, Argentina). Consulte Planos de Parcelamento e Plan Ids. |
Interest | Enum | Não | Se o plano inclui juros: OnPosSelection, Interest ou NoInterest. |
OperationMode | Enum | Não | Quem calcula o valor final: CalculatedGetnet (o terminal calcula) ou CalculatedISV (sua aplicação calcula e envia o valor final). |
CallerId | String | Não | ID gerado pelo sistema de automação, necessário para consultar a transação depois com o Check Status. Sem caracteres especiais ou Unicode. |
Veja um exemplo de requisição de pagamento em passo único:
var saleRequest = new SaleRequest
{
Amount = 10000,
SaleType = SaleType.Card
};
var saleResult = connector.SaleAsync(saleRequest);Durante a execução, o POS conduz toda a interação necessária com o cliente (leitura do cartão, senha, confirmação, etc.).
Passo 2: Trate a resposta
Uma resposta bem-sucedida inclui pelo menos os campos abaixo. Sempre verifique o Code (por exemplo, 0 = sucesso) antes de prosseguir.
| Campo | Tipo | Descrição |
|---|---|---|
Code | Int | Código de resposta (ver anexos). 0 = sucesso. |
Message | String | Resultado da operação (por exemplo, "APPROVED"). |
CommerceCode | String | Código de filial aprovado pela Getnet. |
TerminalId | String | Código do terminal POS. |
AuthorizationCode | String | Código de autorização da transação. |
Amount | Long | Valor da transação na moeda local. |
OriginalAmount | Long | Valor original da transação na moeda local. |
OperationMode | Enum | Modo de operação selecionado. CalculatedGetnet ou CalculatedISV. |
Last4Digits | String | Últimos quatro dígitos do cartão. |
CardBrand | String | Bandeira do cartão usado na transação (por exemplo, "Mastercard"). |
CardType | String | Tipo de cartão (por exemplo, "Credit"). |
AccountingDate | String | Data/hora da transação (GMT). |
RealDate | Date | Data/hora da transação (local). |
SaleType | Enum | Tipo de pagamento (por exemplo, "Card"). |
ReceiptContent | Dict | Linhas do recibo quando PrintOnPos é false. |
PlanId, Interest, Installments | — | Presentes quando há parcelamento. |
CallerId | String | ID gerado pelo sistema de automação. |
CardBin | String | Oito primeiros dígitos do cartão do cliente (máx. 8). |
Este é um exemplo de resposta bem-sucedida:
{
"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"
}Próximos passos
- Para detalhes sobre parcelamento, PlanId e opções de juros, consulte o guia Pagamentos Parcelados.
- Para aceitar pagamentos com carteira digital, consulte o guia Pagamento com QR Code.
- Se você está começando com o POS Integrado, comece pelo guia Início Rápido.
- Para uma referência completa de todos os parâmetros de Sale e campos de resposta, consulte a Referência de Métodos e Parâmetros.