UC00091 - Conciliador de Cartão de Crédito
Conteúdo |
Introdução
A partir de um arquivo de movimentações (vendas realizadas) disponibilizado pelas administradoras de cartão, um webservice fará a leitura das vendas listadas no mesmo confrontando-as com os pedidos realizados no sistema da ATS permitindo a conferência, ajuste e até mesmo a liquidação do financeiro com base no que foi pago (de acordo com o arquivo da administradora).
A rotina/funcionalidade de conciliação de cartões será vendida como um módulo a parte. Uma vez que o usuário do sistema possui o Resulth CARD em sua senha, independente se ele utiliza a versão Start ou Business será visível no Menu -> Movimentos -> Receber a rotina Conciliação de cartões.
O webservice que faz a leitura dos arquivos das administradoras de cartão será o mesmo tanto para o sistema Java quanto para o sistema Delphi.
RN01 - Contratos
Será criada em Menu -> Movimentos -> Receber -> Conciliação de cartões a rotina Contratos, onde o usuário poderá cadastrar, para cada filial, os contratos que ele possui com a(s) administradora(s) de cartão.
Tela de pesquisa
Tela de manutenção
- Filial: Campo onde deverá ser selecionada uma filial que possui contrato com a administradora de cartão.
- Nº Contrato: Campo onde deverá ser informado o número do contrato da filial com a adminitradora de cartão.
- Administradora de cartão: Campo onde deverá ser selecionada a administradora de cartão referente ao número de contrato e filial informados. Neste campo serão listadas somente as administradoras de cartão cadastradas no sistema que possuem informado o campo Administradora na aba Administradora de cartão ou financeira de seu cadastro.
CIELO
A cielo possui dois tipos de arquivo com a relação das vendas.
O sistema deverá processar o arquivo da cielo e retornar uma coleção de registros, que deverá conter 3 tipos de transações:
- Confirmação de venda
- Liquidação
- Antecipação
Na primeira linha de todos os arquivos da cielo (posições 43 a 49), teremos a string CIELOxx, onde xx corresponde ao tipo de venda conforme segue abaxixo:
- CIELO01: Vendas com comprovante.
- CIELO02: Vendas sem comprovante (sites e-commerce é um setor, por exemplo, que gera este arquivo).
- CIELO03: Vendas com comprovante, parceladas.
Em última analise então, arquivos com a string CIELO01, CIELO02 e CIELO03 são arquivos de transação de vendas, que podem ser usados no dia seguinte da venda, para checar se a venda foi ok.
Já os arquivos 04,05,06,07 e 08, são relacionados com pagamentos, e estão assim convencionados.
- CIELO04: pagamento com comprovante
- CIELO05: pagamento sem comprovante
- CIELO06: antecipação
- CIELO07: cessão de direitos (NÃO será processado este arquivo)
- CIELO08: saldo pendente (NÃO será processado este arquivo)
Liquidação
Confirmação da Venda
O web service de confirmação de venda, que trata arquivos do tipo CIELO01/CIELO02/CIELO03, COM DETALHAMENTO, deverá permitir a confirmação das transações de venda, e deverá permitir que a retaguarda ajuste valores de parcelas e datas de vencimento.
Observação importante: arquivos sem detalhe (sem registro tipo 2) deverão ser recusados.
Dados que serão retornados
- Administradora: 'CIELO'
- Tipo de arquivo: 'CNF', que remete à "confirmação".
- Tipo de movimento: 'CONFIRMACAO'
- Código da autorização: posições 67 a 72 registro tipo 2.
- Número do documento: (observar que a Redecard não terá este campo - retornar zeros). Posições 67 a 72 registro tipo 2.
- Número da parcela: posições 19 a 20 registro tipo 1. O cartão vem uma vez só, no movimento tipo '2'. Sendo assim, virtualmente criar as demais, lendo os registros do tipo '1', e usando os dados do cartão (autorização e documento) do registro '2'.
- Data: no caso de arquivo do tipo CNF, refere-se a data do vencimento, que deverá ser ajustado pela retaguarda. Proceder da mesma forma acima, usando o registro '2' para obter os dados do cartão, e os registro '1' n vezes para obter, de forma virtual, as datas. Refere-se às posições 32 a 37, no formato AAMMDD, para o registro do tipo '1'.
- Valor Bruto: valor bruto da parcela: posições 127 a 139, sendo as duas últimas decimais, do registro do tipo '2'. No caso da 1a. parcela, ajustar os centavos, observando o número de parcelas (posições 62 a 63), multiplicando pelo valor bruto das posições 127/139, comparando com o total da venda (posições 114 a 126). Repare a linha 27 do arquivo "arquivo de vendas detalhada.ret". A venda total foi de R$ 433,00, em 6 parcelas, em tese, de R$ 72,16. Entretanto, 6 * 72,16 = 432,96, e sendo assim, a primeira parcela desta venda, retornar R$ 72,20.
- Valor Liquido: valor liquido da parcela:
- RO: número do RO, posições 12 a 18.
- Contrato: posições 2 a 11.
Antecipação
Observação importante: arquivos sem detalhe (sem registro tipo 2) deverão ser recusados. Refere-se a arquivos do tipo "CIELO06" posições 43 a 50, da primeira linha do arquivo. Os registros a serem tratados são os começados com '6'. Neste tipo de arquivo, existe apenas uma linha do tipo '5', e o único dado que vamos precisar, seria a data de crédito, posições 21 a 28 (repetir em todas as parcelas, no campo data do movimento).
Dados que serão retornados
- Administradora: 'CIELO'
- Tipo de arquivo: 'ANT', que remete à "confirmação".
- Tipo de movimento: 'ANTECIPACAO'
- Código da autorização: vazio
- Número do documento: vazio
- Número da parcela: mandar o número da parcela, posições 36 a 37.
- Data: mandar a data de vencimento da operação, posições 21 a 28.
- Valor Bruto: posições 55 a 67
- Valor Liquido: refere-se ao valor após desconto. Posições 83 a 95
- RO: número do RO, posições 12 a 33 (não estranhar o tamanho diferente do acima)
- Contrato: posições 2 a 11
Forma de leitura
- Validar a primeira linha do arquivo, e verificar se nas posições 43 a 49 contém uma das seguintes constantes: CIELO01/CIELO02/CIELO03
- O arquivo conterá uma estrutura que contém um registro do tipo '1' (primeiro dígito da linha), um ou mais registros do tipo '2', e se alguns dos cartões tiver mais de uma parcela, mais registros do tipo '1' ao final. Exemplo abaixo (há mais dados à direita):
11002617054490123801/0601131031131202000000+0000000140138-000000
210026170544901238498453******648300020131031+00000000565500102
210026170544901238400970******172900020131031+00000000084500102
210026170544901238498453******112900020131031+00000000072200106
210026170544901238432031******912700020131031+00000000066680103
210026170544901238453211******184200020131031+00000000612500106
11002617054490123802/0601131031140102000000+0000000140132-000000
11002617054490123803/0601131031140131000000+0000000075132-000000
11002617054490123804/0601131031140305000000+0000000068466-000000
11002617054490123805/0601131031140331000000+0000000068466-000000
11002617054490123806/0601131031140501000000+0000000068466-000000
No caso deste bloco, foram passados 5 cartões diferentes, e isto pode ser observado pela quantidade de registros do tipo '2', em no máximo 6 parcelas (isto é observado pela quantidade de registros do tipo '1' (a primeira linha, e mais 5 depois dos registros '2').