Funcionamento do fluxo com QR Code do Estabelecimento
Cliente opta por pagar com determinada Carteira Digital
(Carteira Digital 1 – vide Figura 1)
Após a CliSiTef solicitar as informações necessárias, como valor, forma de parcelamento e número de parcelas, dentre outras, a transação segue para processamento no autorizador de Carteira Digital em questão. Neste meio tempo, a CliSiTef devolve uma string de QRCode do Estabelecimento a ser exibida pela automação comercial
(apenas se o QRCode é do tipo dinâmico e se a CliSiTef não o exibiu no PIN pad)
.Neste caso a CliSiTef devolve o comando 50
(vide item 11)
com a string do QRCode; a mesma deverá ser convertida em QRCode(imagem)
e exibida na tela do PDV.Observação 1: a CliSiTef não possui tela para poder exibir o QRCode, portanto a automação comercial é quem deve fazer essa exibição
(a partir da string fornecida pela CliSiTef)
caso seja de interesse do Estabelecimento Comercial e não haja pinpad compatível para sua exibição.Observação 2: a exibição do QRCode na tela pelo PDV não deverá bloquear o processamento da transação, ou seja, o processo deve ser continuado pela função ContinuaFuncaoSiTefInterativo
(o comando 50 não é blocante)
, permitindo que a transação na CliSiTef prossiga até sua finalização, ou seja, até retornar um valor diferente de 10000.Observação 3: caso o PDV ainda não tenha nenhum tratamento de rocessamento de QRCode (a maioria das automações comerciais já tratam o QRCode para impressão de Nota Fiscal Eletrônica/SAT/MFE), sugerimos o uso da biblioteca libqrencode
(https://fukuchi.org/works/qrencode)
para transformar a string em QRCode propriamente em conjunto (http://www.libpng.org/pub/png/libpng.html) para a geração da imagem. com a libpngO cliente abre a aplicação no celular e escaneia o QRCode exibido no PDV
(ou no pinpad, caso o mesmo tenha capacidade de exibição; ou na placa com o QRCode impresso)
e submete a transação ao autorizador.O autorizador faz um “match” entre a transação que chegou do SiTef e a transação enviada pelo App do cliente, realiza o processamento das mesmas, e devolve a resposta tanto para a aplicação do cliente quanto para o SiTef.
A CliSiTef devolve o comando para remover o QRCode da tela do PDV
(comando 51)
, caso tenha tratamento para ter sido exibido anteriormente(comando 50)
.
Observação: Caso o PDV tenha disponibilidade de espaço para exibição de uma mensagem de rodapé enquanto o QRCode é exibido na tela, o mesmo poderá tratar o comando 52, exibindo a mensagem dinâmica (identificada pelo TipoCampo 4128)
para que o operador possa saber que o PDV não está travado. A exibição desta mensagem é opcional, ficando a critério da automação comercial exibi-la ou não. Caso o PDV queira, poderá fazer sua própria adequação, colocando uma ampulheta, ou outra mensagem dinâmica, apenas para que o operador saiba que o terminal está operante e não travou.