====== Carteira Digital ======
{{ :manuais:easycash:carteira_digital.png |}}
Integração do EasyCash com o módulo **o CardSE da Software Express** e com a **implementação de acesso direto a API do PicPay**.
===== Dependências =====
Esta funcionalidade foi testada em ambiente de homologação utilizando a seguinte versão das DLL providas pela Software Express:
* **CliSiTef32I.dll** (7.0.116.5)
* **libemv.dll** (6.1.2.38)
* **QREncode32.dll** (06/03/2020)
* **RechargeRPC.dll** (26/06/2008)
===== Fluxo Básico de uma Transação =====
{{:manuais:easycash:fluxo_basico.png |}}
===== Forma de Recebimento =====
==== Retaguarda ====
No retaguarda, foi criado uma forma de recebimento chamada **CARTEIRA DIGITAL** conforme a imagem abaixo:
{{ :manuais:easycash:forma_recebimento_carteiradigital.png |}}
Na configuração de formas de recebimento do frente de caixa foi criado:
{{ :manuais:easycash:intellicash_easycash_config_forma01.png |}}
{{ :manuais:easycash:intellicash_easycash_config_forma02.png |}}
==== Frente de Caixa ====
No frente de caixa, deve-se ter uma forma de pagamento denominada **CARTEIRA DIGITAL**, conforme a imagem:
{{ :manuais:easycash:easycash_carteiradigital_fpg01.png |}}
Na aba Carteira Digital, teremos as seguintes configurações:
{{ :manuais:easycash:easycash_carteiradigital_fpg02.png |}}
A descrição das mesmas encontra-se abaixo:
**Integração direta com a API do PIC PAY -** Quando esta opção estiver setada o sistema não irá utilizar a integração da Software Express com Carteira Digital e sim a integração direta com a API do PIC PAY. Segue o link:
[[https://ecommerce.picpay.com/doc/|PicPay - E-Commerce Public API (1.0)]]
**Pedir CPF do cliente com antecedência -** Quando esta opção estiver setada e não estiver setado para integrar direto com a API do PIC PAY, o sistema irá pedir para que seja selecionado antes do fluxo da carteira o agente. Com isso eu passo para o fluxo o documento do mesmo, evitando que seja coletado o documento do cliente pelo pinpad. Em outras palavras é executada a instrução a seguir:
{{ :manuais:easycash:documentacao_sitef.png |}}
Será mostrada a seguinte tela no sistema:
{{ :manuais:easycash:pedir_consumidor_antecedencia.png |}}
===== CardSE =====
A versão **1.4.012.000** do EasyCash foi integrado com a versão **7.0.14.9** do CardSE. Logo, o referido módulo deve ser solicitado a Software Express e ser devidamente configurado no SiTEF do cliente.
==== Arquivo CliSITEF.ini ====
No frente de caixa, no arquivo **CliSITEF.ini**, na tag **Geral** deve-se adicionar:\\
\\
**7 : Habilita venda via Carteira Digital**\\
**8 : Habilita cancelamento via Carteira Digital**\\
\\
Segue uma imagem de exemplo:
{{ :manuais:easycash:config_cardse_clisitef.png |}}
==== Funcionamento ====
Com a configuração de acesso direto a API do PIC PAY desmarcada, ao selecionar a forma de pagamento **CARTEIRA DIGITAL** na tela de fechamento do cupom, será aberta a opção:
{{ :manuais:easycash:menu_carteira_digital.png |}}
No final do fluxo da carteira digital pela Software Express será impresso:
{{ :manuais:easycash:impressao_cardse_se.png |}}
Caso seja efetuado um cancelamento teremos:
{{ :manuais:easycash:impressao_cardse_se_cancelamento.png |}}
No caso da carteira digital **ITI/ITAU** é utilizado o QrCode para validar a transação, então será mostrada a tela:
{{ :manuais:easycash:cardse_iti_itau_qrcode.png |}}
Na retaguarda ao acessar no menu de gerenciamento a seguinte opção:
{{ :manuais:easycash:intellicash_menu_fechamentocaixa_carteiradigital.png |}}
Teremos acesso aos dados do turno e podemos validar a venda na forma definida:
{{ :manuais:easycash:intellicash_contabilizando_carteiradigital.png |}}
=== Observações ===
== Tratamento de QRCode ==
Especificamente nas transações de venda(Crédito/Débito) e seus respectivos cancelamentos, __da carteira digital da Cielo__, o QRCode deve ser exibido no pinpad. Para que o pinpad possa exibir o QRCode, este deve ter os **seguintes requisitos**:
* Versão mínima deve ser 2.03 ABECS
* Deve possuir capacidade para tratamento de arquivos multimídia, especificamente o formato PNG
==== Relatório do TEF ====
No relatório do TEF podemos ver as transações que ocorreram utilizando a carteira digital, segue:
{{ :manuais:easycash:cardse_relatorio_tef.png |}}
==== Carteiras Digitais Suportadas ====
Em ambiente de homologação foram testadas as seguintes carteiras digitais, segue:
* TROCO SIMPLES
* TROCO SIMPLES DOACAO
* ITI(ITAU)
* VEE
* IzPay
Segundo a documentação **Carteiras Digitais - Biblioteca CliSiTef - Versão 1.23 (Anexo I pág. 28 a 35)** temos a descrição das seguintes carteiras:
* 4All
* Cielo (Crédito / Débito)
* ITI / ITAU
* IzPay
* MERCADO PAGO
* MONEYPAG
* NUCASH
* PICPAY
* TAPAGO
* TROCO SIMPLES
* VC+
* VEE
* BRINKSPAY
Recomendamos confirmar com a Software Express antes de contratar efetivamente uma carteira digital, pois pode ser que o referido módulo ainda esteja em desenvolvimento.
==== Motivos para que uma transação com QRCode do Estabelecimento possa demorar a ser processada ====
{{ :manuais:easycash:motivos_transacao_qrcode_lento.png |}}
===== PicPay =====
Requerida uma conexão estável com a internet no frente de caixa.
O valor mínimo que pode ser transacionado para o PicPay é de R$ 0,01.
==== Cadastro Lojista ====
O primeiro procedimento a ser realizado é cadastrar o cliente como lojista na plataforma do PicPay e em seguida fornecer para o suporte da IWS os dois tokens apresentados na seguinte tela:
{{ :manuais:easycash:picpay_lojista_token.png |}}
==== Cadastro IWS ====
O segundo procedimento a ser realizado é acessar a plataforma [[http://picpay.iws.com.br/#/signin|PicPay IWS]] e cadastrar o cliente como Usuário e posteriormente como Vendedor fornecendo as informações da API. Apartir desta informação iremos gerar o **Token de Acesso** para ser utilizado no EasyCash.
==== Retaguarda ====
Na retaguarda nas configurações do EasyCash podemos efetuar as seguintes configurações que posteriormente serão exportadas, segue:
{{ :manuais:easycash:intellicash_configuracao_picpay01.png |}}
Ao clicar para **Alterar** teremos:
{{ :manuais:easycash:intellicash_configuracao_picpay02.png |}}
==== Configuração EasyCash ====
Na forma de recebimento citado no tópico anterior deve estar setada a seguinte configuração:
{{ :manuais:easycash:easycash_configuracao_fpg_picpay.png |}}
Além de estar setada a configuração acima, deve na configuração do EasyCash:
{{ :manuais:easycash:easycash_configuracao_picpay.png |}}
Nesta tela, teremos:
**Agente Responsável, E-Mail e Tel. Comercial -** Estas informações mostradas aqui são as informações que por padrão o sistema usará caso a informação do cliente esteja incompleta ou não exista para acessar a API do PIC PAY. As
informações do comprador na API são obrigatórias. Vide [[https://ecommerce.picpay.com/doc/|PicPay - E-Commerce Public API (1.0)]].\\
Por padrão, o sistema irá pegar o documento do agente responsável ao invés do CNPJ da empresa, uma vez que a API pede um CPF. No entanto, vimos em teste que por enquanto nenhuma restrição é efetuada nesta informação quanto ao tipo(CPF/CNPJ).
**IP, porta e token -** São informações que __serão disponibilizadas do nosso servidor__ para que o CNPJ de determinado cliente acesse a API intermediária com a API do PIC PAY. Os valores default são:\\
\\
''IP: picpay.iws.com.br''\\
''Porta: 80''\\
\\
**Tempo Base/Incremento/Qtde. Tentativas -** Refere-se ao tempo de exibição do QR Code na tela e ao tempo de espera para efetuar uma nova requisição de status do pagamento para o servidor.\\
Teremos:\\
\\
''Tempo Base / Requisição de status /'' \\
''Tempo Base + Incremento / Requisição de status /'' \\
''...''\\
\\
Logo:\\
\\
''5 segundos / Requisição de status /'' \\
''5 + 2 segundos / Requisição de status /'' \\
''7 + 2 segundos / Requisição de status /'' \\
''...''\\
\\
O processo se repete pelo tempo definido no campo Qtde. Tentativas. Isso evita que o sistema faça muitas requisições de status para o servidor. É um processo muito utilizado pela Netflix, por exemplo.
**Perguntar ao cliente telefone e e-mail incompleto -** Caso esta opção esteja marcada, se no momento de montar as informações para a API do PIC PAY for detectado que o cliente em questão não possui telefone ou e-mail, ao invés de mandar as informações **DEFAULT** da empresa, será solicitado para que o mesmo informe os dados corretos.
==== Funcionamento ====
Uma vez configurado, no fluxo de pagamento do cupom ao selecionar **CARTEIRA DIGITAL**, será mostrada a tela:
{{ :manuais:easycash:carteira_digital_picpay_integracaodireta.png |}}
No celular do cliente, caso o telefone e o e-mail estejam corretos, teremos:
{{ :manuais:easycash:picpay_celular01.png |}}
Ao efetuar o pagamento:
{{ :manuais:easycash:picpay_celular02.png |}}
Caso o cupom seja cancelado, teremos o estorno diretamente pela API do PIC PAY e o cliente será informado conforme a imagem:
{{ :manuais:easycash:picpay_celular03.png |}}
Caso a configuração **Perguntar ao cliente telefone e e-mail incompleto** esteja marcada, será validado no momento de criar o JSON do pagamento as seguintes informações:\\
\\
''TELEFONE - Não vazio e tamanho maior ou igual a 8''\\
''E-MAIL - Não vazio e a posição do caractere @ não pode ser 0''\\
\\
Se o operador clicar em **SIM**, será mostrada a seguinte tela:
{{ :manuais:easycash:picpay_telefone_email.png |}}
==== Validação dos Pagamentos ====
Na plataforma da IWS na aba **Pagamentos** podemos validar se um pagamento foi efetivado normalmente junto ao PicPay, segue a imagem:
{{ :manuais:easycash:plataforma_iws_picpay2.png |}}
O lojista também através de acesso a plataforma do próprio PicPay, pode acompanhar as transações efetuadas conforme a imagem:
{{ :manuais:easycash:plataforma_picpay3.png |}}
==== Sistema de Contingência ====
Caso o caixa esteja sem internet no momento de acessar a carteira digital, não será possível efetuar o fechamento do cupom na referida forma de recebimento(**CARTEIRA DIGITAL**). Caso tenha realizado a venda e posteriormente seja necessário cancelar o mesmo e no momento do cancelamento não tenha acesso a internet, o cupom fiscal será cancelado em contingência e o envio do cancelamento para o PICPAY ficará pendente. Com isso ao iniciar o sistema, será mostrada a seguinte mensagem:
{{ :manuais:easycash:envio_pendente_picpay.png |}}
Com base nessa informação o usuário poderá acessar na tela principal do sistema:
{{ :manuais:easycash:envio_pendente_picpay2.png |}}
Ao acessar será aberta a seguinte interface:
{{ :manuais:easycash:envio_pendente_picpay3.png |}}
Ao clicar no botão **Processar** o sistema enviará para o PICPAY todos os cancelamentos pendentes. Este mesmo processo de processar os pendentes irá ocorrer automaticamente no momento do fechamento de cada turno.