POS TEF
A execução de transações no modo POS TEF permite que o SmartPOS opere de forma similar a um Pinpad tradicional, proporcionando um fluxo de pagamento alinhado à experiência oferecida por uma TEF House.
Cadastro da Venda
Para iniciar uma transação deve-se primeiramente definir qual dispositivo irá receber a transação (verificar informações comuns), em seguida realizar o cadastro no endpoint /pos-venda.
É obrigatório informar o valor da transação, o tipo de pagamento é opcional.
Informado o tipo de pagamento a quantidade de parcelas é obrigatória.
Deve ser observado que cabe ao sistema o critério de escolha do dispositivo que será utilizado, quando retornado pela consulta cada SmartPOS é listado com Nome, Código, data e hora da última atividade.
O SmartPOS é considerado ativo e a data/hora atualizada sempre que entrar no fluxo POS-TEF ou for para a página inicial do APP PinPDV.
curl --request POST \
--url '{URL}/pos-venda' \
--header 'Authorization: Bearer xyz' \
--header 'Content-Type: application/json' \
--data '{
"PinPdvId": {pinpdvId},
"Identificador": "vendaCf981239a",
"Valor": 100.11,
"Descricao": "mensagem",
"TipoPagamento": 2,
"Parcelas": 1
}'200 - OK
{
"id": 61239
}Abortar uma venda
Uma venda pode ser abortada enquanto o PinPDV não iniciar a transação. Para realizar o cancelamento deve ser utilizado o endpoint pos-venda e o identificador fornecido pelo sistema na criação da venda.
curl --request DELETE \
--url '{URL}/pos-venda/{Identificador}' \
--header 'Authorization: Bearer xyz' \202 - OKAtenção
Uma vez iniciada a venda no App PinPDV, somente será possível cancelar a transação através dele.
Atenção
Não sendo possível realizar o cancelamento da venda através do App (ex: Ocorreu um travamento e o App fechou), é possível realizar o cancelamento de forma forçada, utilizando o parâmetro forca=true.
curl --request DELETE \
--url '{URL}/pos-venda/{Identificador}?forca=true' \
--header 'Authorization: Bearer xyz' \Consulta de uma Venda
Para consultar o status de uma venda é utilizado o endpoint /pos-venda e o identificador fornecido pelo sistema.
Verifique o campo venda para obter os dados do pagamento.
curl --request GET \
--url '{URL}/pos-venda/{Identificador}' \
--header 'Authorization: Bearer xyz' \200 - OK
{
"id": 10,
"identificador": "Id010101",
"descricao": "Exemplo",
"valor": 789.0000,
"parcelas": 1,
"tipoPagamento": 3,
"status": {
"key": 2,
"value": "Concluido"
},
"vendas": [
{
"identificador": "90672461828311ef8e6ca79b7a6aaeae",
"posVendaIdentificador": "Id010101",
"valor": 789.0000,
"comprovante": null,
"status": {
"key": 0,
"value": "Realizada"
},
"transacoes": [
{
"valor": 789.0000,
"parcelas": 0,
"status": {
"key": 0,
"value": "Aprovada"
},
"tipoPagamento": 3,
"dados": {
"dataHora": "2024-10-04T16:05:04.679023",
"nsu": "000000153",
"autorizacao": "164550",
"bandeira": "MASTERCARD",
"adquirente": "GETNET"
}
}
],
"pinPdv": {
"codigo": "526989",
"nome": "CAIXA01"
}
}
]
}