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:

item 1 ;item 2 ;...;item n ;
onde cada item é da forma:
<CodProd>,<DescProd>,<Qtd>,<ValorTotal> ;

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:

[CartaoCombustivel]
ColetaDadosProdutoSeparadamente=1

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:

{VendaValorDiferenteHabilitada=1}

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:

campocódigo
Campo Booleado2060
Campo Numérico2061
Campo Alfa-Numérico2062
Campo data no formato DDMMAAAA2063
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.