Getnet DocsGetnet Docs

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âmetroTipoObrigatórioDescrição
AmountLongNãoValor na moeda local (por exemplo, 10000 = 100,00). Se omitido, o POS solicita o valor.
SaleTypeEnumNãoTipo de pagamento: Card ou QrCode. Se omitido, o POS solicita o tipo de pagamento.
PrintOnPosBoolNãoSe true, o recibo é impresso no POS; se false, o conteúdo do recibo é retornado na resposta.
EmployeeIdIntNãoIdentificação do garçom ou operador.
TipLongNãoValor da gorjeta adicionado ao total da transação.
InstallmentsIntNãoNúmero de parcelas.
SkipReceiptBoolNãoSe true, ignora a tela de recibo do cliente após a transação.
SkipConfirmationBoolNãoSe true, ignora a tela que exibe os detalhes de valor e parcelas para confirmação.
PlanIdStringNãoPlano de parcelamento (por exemplo, Argentina). Consulte Planos de Parcelamento e Plan Ids.
InterestEnumNãoSe o plano inclui juros: OnPosSelection, Interest ou NoInterest.
OperationModeEnumNãoQuem calcula o valor final: CalculatedGetnet (o terminal calcula) ou CalculatedISV (sua aplicação calcula e envia o valor final).
CallerIdStringNãoID 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.

CampoTipoDescrição
CodeIntCódigo de resposta (ver anexos). 0 = sucesso.
MessageStringResultado da operação (por exemplo, "APPROVED").
CommerceCodeStringCódigo de filial aprovado pela Getnet.
TerminalIdStringCódigo do terminal POS.
AuthorizationCodeStringCódigo de autorização da transação.
AmountLongValor da transação na moeda local.
OriginalAmountLongValor original da transação na moeda local.
OperationModeEnumModo de operação selecionado. CalculatedGetnet ou CalculatedISV.
Last4DigitsStringÚltimos quatro dígitos do cartão.
CardBrandStringBandeira do cartão usado na transação (por exemplo, "Mastercard").
CardTypeStringTipo de cartão (por exemplo, "Credit").
AccountingDateStringData/hora da transação (GMT).
RealDateDateData/hora da transação (local).
SaleTypeEnumTipo de pagamento (por exemplo, "Card").
ReceiptContentDictLinhas do recibo quando PrintOnPos é false.
PlanId, Interest, Installments—Presentes quando há parcelamento.
CallerIdStringID gerado pelo sistema de automação.
CardBinStringOito 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