Correspondente Bancário
Introdução
As funções mencionadas nesta página são referentes ao módulo de pagamento de contas. Os tipos de documentos aceitos (título, convênio ou tributos) dependem da rede autorizadora que for contratada para os pagamentos.
As funções devem ser chamadas diretamente pela automação com a passagem dos parâmetros conforme orientação abaixo. Caso o integrador deseja que o trabalho de coleta das informações (valor, número do documento) sejam realizadas por uma interface da Linx, deve-se utilizar um outro aplicativo chamado Correspondente Bancário. Existe um manual de integração específico para este aplicativo (se for o seu caso, solicite o documento). Também é possível que seja feito o recebimento de contas utilizando a entrada de dados pelo próprio Automação Comercial. Neste caso, o integrador deverá implementar as telas para coleta das informações (solicitar manual para integração sem telas).
As funções para o recebimento de contas são as seguintes:
Inicializa Sessão Corban
Finaliza Sessão Corban
Consulta Parametros Corban
Consulta Pagamento Corban
int DIRETIVA_CALLBACK ConsultaPagamentoCB(char *pTipoConta, char *pCodigoBarrasDigitado,
char *pCodigoBarrasLido, char *pValorDocumento, char *pValorDesconto, char *pValorAcrescimo,
char *pDataVencimento, char *pFormaPagamento, char *pReservado1, char *pTipoSenha,
char *pReservado2, char *pNSUCartao, char *pTipoCMC7, char *pCMC7, char *pNumeroControle,
char *pMensagemTEF, char *pImprimeComprovante, char *pParametrosConsulta, char *pParametrosConsulta_2)
Pagamento Corban
int DIRETIVA_CALLBACK TransacaoPagamentoCB(char *pTipoConta, char *pCodigoBarrasDigitado,
char *pCodigoBarrasLido, char *pValorDocumento, char *pValorDesconto, char *pValorAcrescimo,
char *pDataVencimento, char *pFormaPagamento, char *pReservado1, char *pTipoSenha,
char *pReservado2, char *pNSUCartao, char *pTipoCMC7, char *pCMC7, char *pParametrosConsulta_2,
char *pNumeroControle)
Resumo Recebimentos Corban
Dados Ultima Transacao Corban
void DIRETIVA_CALLBACK DadosUltimaTransacaoCB(char * oDadosUltimaTransacaoTitulo)
void DIRETIVA_CALLBACK ObtemLogUltimaTransacao(char *oLogUltimaTransacao)
Informações Comuns
Estas funções devem estar disponíveis também após abertura do caixa (por exemplo, num menu de operações do CB) para que o operador possa executar novamente caso tenha ocorrido erro na chamada automática na abertura do caixa. No parâmetro NumeroControle será retornado o NSU da transação.
Os dados retornados estão estruturados da seguinte forma:
Campo | Tamanho | Descrição |
---|---|---|
FormasPagamento | 04N | Indica as formas de pagamento aceitas pelo CB, são elas: • [ 0001 ] Dinheiro (1 em decimal) • [ 0010 ] Cheque (2 em decimal) • [ 0011 ] Dinheiro e Cheque (3 em decimal) • [ 0100 ] Débito (4 em decimal) • [ 0101 ] Debito e Dinheiro (5 em decimal) • [ 0110 ] Débito e Cheque (6 em decimal) • [ 0111 ] Débito, Dinheiro e Cheque (7 em decimal) • [ 1000 ] Crédito (8 em decimal) • [ 1001 ] Crédito e Dinheiro (9 em decimal) • [ 1010 ] Crédito e Cheque (10 em decimal) • [ 1011 ] Crédito, Cheque e Dinheiro (11 em decimal) • [ 1100 ] Crédito e Débito (12 em decimal) • [ 1101 ] Crédito, Débito e Dinheiro (13 em decimal) • [ 1110 ] Crédito, Débito e Cheque (14 em decimal) • [ 1111 ] Crédito, Débito, Cheque e Dinheiro (15 em decimal) |
ResumoRecebimentos | 01N | 0-Não Possui; 1-Possui |
ColetaNSUTEFCancelamento | 01N | 0-Não Coleta; 1-Deve coletar NSU TEF |
RealizaInicializaFinalizacaoEquipamento | 01N | Verifica se deve realizar a inicialização e a finalização de equipamento • (0-Não; 1-Sim) |
HabilitaTransacaoConsultaPagamento | 01N | Indica se o CB aceita consulta de pagamento • (0-Não; 1-Aceita) |
ColetaDocumentoCancelamento | 01N | Indica se o NSU deve ser coletado no cancelamento de pagamento • (0-Não; 1-Sim) |
TransacaoConsultaPagamentoObrigatoria | 01N | Indica se a consulta de pagamento é obrigatória • (0-Não; 1-Sim) |
NumeroBancoPermitido | 01N | Campo com o número do banco aceito caso o pagamento seja em cheque; AC deve validar este campo |
HabilitaRecebimentoTributo01 | 01N | Indica se o CB aceita recebimento de tributos • (0-Não; 1-Aceita) |
HabilitaAcrescimos | 01N | Indica se o valor de acréscimo deve ser solicitado/habilitado • (0-Não; 1-Sim) |
HabilitaDescontos | 01N | Indica se o valor de desconto deve ser solicitado/habilitado • (0-Não; 1-Sim) |
HabilitaJuros | 01N | Indica se o valor dos juros deve ser solicitado/habilitado • (0-Não; 1-Sim) |
HabilitaMulta | 01N | Indica se o valor da multa deve ser solicitado/habilitado • (0-Não; 1-Sim) |
HabilitaValorDoc | 01N | Indica se o valor do documento deve ser habilitado (pode ser editado) • (0-Não; 1-Sim) |
HabilitaValorCobrado | 01N | Indica se o valor cobrado deve ser habilitado (pode ser editado) • (0-Não; 1-Sim) |
HabilitaDataVencimento | 01N | Indica se a data de vencimento do boleto deve ser habilitado(pode ser editado) • (0-Não; 1-Sim) |
Filler | 46A | Campo reservado |
Uma vez realizada a ConsultaParametrosCB , o AC deverá permitir a entrada dos dados do documento informando o tipo do documento (título, convênio ou tributo), código de barras do do doc, se foi lido ou digitado e o valor, sempre considerando os parâmetros acima citados que indicarão quais valores poderão ser coletados. Após a entrada dos dados do documento o AC deve disponibilizar as formas de pagamento disponíveis (de acordo com o campo FormasPagamento retornado na ConsultaParametrosCB) . Se o pagamento for em TEF, devem ser utilizadas as funções TransacaoCartaoCreditoCompleta , TransacaoCartaoDebitoCompleta ou TransacaoChequeCompleta , conforme a forma desejada pelo cliente. É importante destacar que é permitido realizar somente uma transação TEF (crédito ou débito) por documento a receber. Depois de coletar os dados do documento, verificar se o código de barras é válido e definir/realizar a forma de pagamento, deverá ser feita a consulta de pagamento através da chamada à função ConsultaPagamentoCB.
Campo | Tamanho | Descrição |
---|---|---|
TipoConta | 01N | [ 1 ] Título; [ 2 ] Convênio (exceto tributos); [ 3 ] Convênio (tributos) |
CodigoBarrasDigitado | 48N | código de barras digitado (titulo com 47 bytes ou convênio com 48 bytes) |
CodigoBarrasLido | 44N | codigo de barras lido (titulo ou convênio com 44 bytes) |
ValorDocumento | 12N | valor do documento lido do código de barras (se for zerado, valor digitado); formatar com zeros à esquerda |
ValorDesconto | 12N | valor do desconto coletado; formatar com zeros à esquerda |
ValorAcrescimo | 12N | valor do acréscimo coletado; formatar com zeros à esquerda |
DataVencimento | Data | data de vencimento no formato |
FormaPagamento | 03N | [ 001 ] Dinheiro [ 002 ] Cheque [ 003 ] Débito [ 004 ] Crédito |
Reservado1 | Alfa | Campo reservado para uso interno |
TipoSenha | 01A | Usado pelo Paykit; [A] ou [Z] tipo de senha retornado no campo reservado das transações de crédito e débito completa;[0] se não coletado |
Reservado2 | Alfa | Campo reservado para uso interno |
NSUCartao | 06N | NSU da transação de crédito ou débito |
TipoCMC7 | 01N | [ 1 ] para cheque lido; [ 2 ] para cheque digitado |
CMC7 | 30N | código CMC7 do cheque |
NumeroControle | 06N | NSU da transação de consulta pagamento |
MensagemTEF | 32A | Parâmetro de retorno com a mensagem que deve ser apresentada pelo CB |
ImprimeComprovante | 01N | Parâmetro de retorno que informa se deve ou não imprimir um comprovante da consulta; 0-não imprime 1-deve imprimir |
ParametrosConsulta | Estrutura | Parâmetro de retorno da consulta no formato da estrutura TParametrosCBTEF (definida logo acima) |
ParametrosConsulta_2 | Estrutura | Conjunto de parâmetros de retorno da consulta com a estrutura TParametrosConsulta_2 (definida logo abaixo). Observações dos campos da estrutura a seguir: • 1: valor deve ser acumulado no campo de desconto • 2: valor deve ser acumulado no campo de acréscimo • 3: valor deve ser apresentado no campo de multa • 4: indica se operador pode calcular o valor do documento • 5: indica se o documento está vencido • 6: indica se o documento é um titulo do Bradesco • 7: indica se a rede de pagamento aceita título vencido • 8: indica se a rede de pagamento retornou valor do documento recalculado (se sim, pega do campo ValorDevido) • 9: valor do documento o recalculado pela rede (substitui o valor do documento) • 10: valor cobrado que sempre deve ser enviado para a rede. Caso a rede permitir alterar este campo, deverá ser enviado com o valor alterado |
Uma vez que a transação de consulta é aprovada (realizada com sucesso com retorno igual a zero), então verifica (através dos parâmetros retornados no campo ParametrosConsulta ) quais campos devem ser habiltados (formas de pagamento, valor de desconto, juros e multa). Se a forma de pagamento for cheque, então deve-se verificar se o banco do cheque é o banco aceito para este pagamento. Também é neste momento que os parâmetros do campo ParametrosConsulta_2 devem ser processados (acatando os valores recebidos). No entanto, se a transação de consulta não for aprovada (retorno diferente de zero), o pagamento deverá ser cancelado e a mensagem de retorno do TEF deve ser apresentada (obter a mensagem através da função **UltimaMensagemTEF ).
Campo | Descrição |
---|---|
TParametrosConsulta_2 = record | |
Cedente | array[1..40] of char; |
DataContabil | array[1..8] of char; |
ValorDocumento | array[1..12] of char; |
ValorDesconto | array[1..12] of char; |
ValorAbatimento | array[1..12] of char; // Obs1 |
ValorBonificacao | array[1..12] of char; // Obs1 |
ValorMulta | array[1..12] of char; // Obs3 |
ValorJuros | array[1..12] of char; |
ValorDevido | array[1..12] of char; // Obs9 |
FlagValorCalculadoOperador | array[1..1] of char; // Obs4 |
FlagTituloVencido | array[1..1] of char; // Obs5 |
FlagTituloBradesco | array[1..1] of char; // Obs6 |
FlagAceitaTitulo | array[1..1] of char; // Obs7 |
FlagValorDiverge | array[1..1] of char; // Obs8 |
ValorCobrado | array[1..12] of char; // Obs10 |
Depois da coleta das informações complementares (confirmação dos valores de desconto, juros e multa), a função TransacaoPagamentoCB pode ser realizada.