Particularidades de uma venda com cartão combustível
Em uma venda com cartão combustível, é solicitado ao PDV o campo 1115, onde deve ser informada a lista de produtos que totalizam o valor da venda. A lista de produtos deve estar no formato:
Onde <CodProd>
é o código do produto de acordo com a rede autorizadora; <DescProd>
é a descrição do produto; <Qtd>
é a quantidade; <ValorTotal>
é o valor total a ser pago por este produto (Sem formatação, sendo que os dois últimos dígitos se referem aos centavos)
. É obrigatório que seja descrito pelo menos um item de venda. É recomendável que a lista de
produtos (Campo 1115)
seja montada internamente pelo PDV sem a intervenção do operador do PDV. Na lista de produtos não pode haver código de produtos duplicados. Em uma venda, se houver dois (ou mais)
produtos com o mesmo código, o PDV deverá somar a quantidade e valor desses produtos (com o mesmo código)
e gerar um único registro (item)
na lista de produtos.
Para facilitar a captura dos dados dos produtos pelo operador do PDV, esses campos podem ser capturados separadamente um a um. Para isso, é preciso incluir a seguinte configuração no arquivo clisitef.ini:
Se a configuração acima for efetuada, então, para cada produto será solicitada a captura dos
campos 1026 (Código do produto)
, 1025 (Descrição)
, 1027 (Quantidade)
, 2083 (Valor total)
.
Para encerrar a captura dos produtos e prosseguir com a execução da transação, na captura do campo 1026 (Código do produto)
deverá ser fornecida uma string nula.
Atualmente existe uma restrição em cada rede autorizadora sobre a quantidade de itens a serem remetidos em uma venda. Assim sendo, o PDV deve ordenar cada item em ordem de prioridade, do item mais prioritário (à esquerda)
ao menos prioritário (à direita)
.
Após a solicitação do número do cartão, será feita uma consulta ao SiTef com esta lista de produtos. A CliSiTef retornará uma lista de produtos ao PDV, que pode ser diferente caso haja uma discrepância no código de produto ou na quantidade máxima de produtos.
Caso a lista retornada seja diferente, será retornado um código de erro. Entretanto, caso o PDV esteja capacitado e permita uma venda parcial de valores, a operação de venda pode ser feita passando-se nas restrições de venda o parâmetro adicional abaixo:
Nesta situação, será retornado no campo 154 o novo valor de pagamento, e será solicitada no PDV uma confirmação da operação.
A consulta ao Sitef retorna, também, uma lista de perguntas a serem coletadas. Neste caso, para cada pergunta será enviada uma descrição e um campo para coleta com os códigos definidos a seguir:
campo | código |
---|---|
Campo Booleado | 2060 |
Campo Numérico | 2061 |
Campo Alfa-Numérico | 2062 |
Campo data no formato DDMMAAAA | 2063 |
Conteúdo indefinido | -1 |
Existe, ainda, uma checagem entre o valor da venda e o valor aprovado. O valor aprovado é o definitivo que será utilizado na transação. Caso o Valor aprovado seja menor que o valor da venda, é apresentada uma confirmação para o operador, podendo este não autorizar a conclusão da venda. Caso o Valor aprovado seja maior que o da venda, é apresentada uma confirmação para o cliente, no PinPad, para que este autorize ou não o débito. Nestes dois casos o valor aprovado é devolvido no campo 138 e a diferença é devolvida no campo 137.