Funções da Biblioteca
Este capítulo define as funções exportadas pela biblioteca do PayGo, separadas em duas categorias:
➝ Funções de controle do fluxo transacional;
➝ Funções para interação com o pinpad.
Funções de controle do fluxo transacional
Estas funções são utilizadas para iniciar uma operação, alimentar o sistema com os dados necessários, executar a transação, obter os dados resultantes desejados e enfim confirmar a transação, conforme fluxo apresentado em “5.1 - Fluxo principal”.
PW_iInit
Esta função é utilizada para inicializar a biblioteca, e retorna imediatamente. Deve ser garantido que uma chamada dela retorne PWRET_OK antes de chamar qualquer outra função.
Int16 PW_iInit
(const char *pszWorkingDir)
➜ Entradas:
pszWorkingDir
Diretório de trabalho (caminho completo, com final nulo) para uso exclusivo do PayGo
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK......................Operação bem-sucedida.
PWRET_WRITERR..........Falha de gravação no diretório informado.
PWRET_INVCALL..........Já foi efetuada uma chamada à função PW_iInit após o carregamento da biblioteca.
Outro.................................Outro erro de execução (ver “11. Códigos de retorno”).
Uma mensagem de erro pode ser obtida através da função PW_iGetResult (PWINFO_RESULTMSG).
➜ Observações:
- Os operadores do Ponto de Captura (que venham a realizar transações através do PayGo) devem ter privilégios de leitura e gravação neste diretório.
- O diretório deve ser o mesmo para todos os usuários do sistema, e não deve ser alterado de uma execução para outra.
PW_End
Esta função é utilizada para finalizar a biblioteca, e retorna imediatamente. Ela também remove a proteção do Warsaw da automação. Essa função deve ser usada para que a automação consiga atualizar.
Importante:
A aplicação em produção não roda sem a proteção ativa. Ao chamar a função PW_iInit a proteção é retomada.
Caso alguma outra função da lib seja chamada sem ter a proteção ativa, o erro -2415 (PWRET_PROTECTOFF) irá retornar.
Int16 PW_End
(void)
➜ Entradas:
Nenhuma
➜ Saídas:
Nenhuma
➜ Retorno:
Nenhuma
PW_iNewTransac
Esta função deve ser chamada para iniciar uma nova transação através do PayGo, e retorna imediatamente.
Importante:
Independentemente das funcionalidades suportadas pela Automação e pelo Ponto de Captura, é requerido que a Automação disponibilize ao operador uma função para realizar uma transação administrativa (PWOPER_ADMIN), para permitir o acesso às funções de manutenção do PayGo. Caso desejado, o acesso a este recurso pode ser restrito a operadores específicos.
Int16 PW_iNewTransac
(Byte bOper)
➜ Entradas:
bOper
Tipo de transação a ser realizada (PWOPER_xxx, conforme tabela abaixo).
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK............................Transação inicializada.
PWRET_DLLNOTINIT..........Não foi executado PW_iInit.
PWRET_NOTINST................É necessário efetuar uma transação de Instalação.
Outro.......................................Outro erro de execução (ver “11. Códigos de retorno”). Uma mensagem de erro pode ser obtida através da função PW_iGetResult (PWINFO_RESULTMSG).
Lista de transações suportadas:
Nome | Valor | Descrição |
---|---|---|
PWOPER_NULL | 00h | Testa comunicação com a infraestrutura do PayGo. |
PWOPER_INSTALL | 01h | Registra o Ponto de Captura perante a infraestrutura do PayGo, para que seja autorizado a realizar transações. |
PWOPER_PARAMUPD | 02h | Obtém da infraestrutura do PayGo os parâmetros de operação atualizados do Ponto de Captura. |
PWOPER_REPRINT | 10h | Obtém o último comprovante gerado por uma transação. |
PWOPER_RPTTRUNC | 11h | Obtém um relatório sintético das transações realizadas desde a última obtenção deste relatório. |
PWOPER_RPTDETAIL | 12h | Relatório detalhado das transações realizadas na data informada, ou data atual. |
PWOPER_REPRNTNTRANSACTION | 13h | Realiza uma reimpressão de qualquer transação. |
PWOPER_COMMTEST | 14h | Realiza um teste de comunicação com o Provedor. |
PWOPER_RPTSUMMARY | 15h | Realiza um Relatório resumido das transações realizadas na data informada, ou data atual. |
PWOPER_TRANSACINQ | 16h | Realiza uma consulta de uma transação. |
PWOPER_ROUTINGINQ | 17h | Realiza uma consulta de roteamento. |
PWOPER_ADMIN | 20h | Acessa qualquer transação que não seja disponibilizada pelo comando PWOPER_SALE (relatório, reimpressão, cancelamento, pagamento de contas, entre outras). Um menu é apresentado para o operador selecionar a transação desejada. |
PWOPER_SALE | 21h | (Venda) Realiza o pagamento de mercadorias e/ou serviços vendidos pelo Estabelecimento ao Cliente, a quitação do valor devido pode ser efetuada com diversas modalidades de pagamento: cartão de crédito/débito, carteira virtual, pontos de programa de fidelidade, entre outros, transferindo fundos entre as respectivas contas |
PWOPER_SALEVOID | 22h | (Cancelamento de venda) Cancela uma transação PWOPER_SALE, realizando a transferência de fundos inversa. |
PWOPER_PREPAID | 23h | Realiza a aquisição de créditos pré-pagos (por exemplo, recarga de celular). |
PWOPER_CHECKINQ | 24h | Consulta a validade de um cheque papel. |
PWOPER_RETBALINQ | 25h | Consulta o saldo/limite do Estabelecimento (tipicamente, limite de crédito para venda de créditos pré-pagos). |
PWOPER_CRDBALINQ | 26h | Consulta o saldo do cartão do Cliente. |
PWOPER_INITIALIZ | 27h | (Inicialização/abertura) Inicializa a operação junto ao Provedor e/ou obtém/atualiza os parâmetros de operação mantidos por este. |
PWOPER_SETTLEMNT | 28h | (Fechamento/finalização) Finaliza a operação junto ao Provedor. |
PWOPER_PREAUTH | 29h | (Pré-autorização) Reserva o valor correspondente a uma venda no limite do cartão de crédito de um Cliente, porém sem efetivar a transferência de fundos. |
PWOPER_PREAUTVOID | 2Ah | (Cancelamento de pré-autorização) Cancela uma transação PWOPER_PREAUTH, liberando o valor reservado no limite do cartão de crédito. |
PWOPER_CASHWDRWL | 2Bh | (Saque) Registra a retirada de um valor em espécie pelo Cliente no Estabelecimento, para transferência de fundos nas respectivas contas. |
PWOPER_LOCALMAINT | 2Ch | (Baixa técnica) Registra uma intervenção técnica no estabelecimento perante o Provedor. |
PWOPER_FINANCINQ | 2Dh | Consulta as taxas de financiamento referentes a uma possível venda parcelada, sem efetivar a transferência de fundos ou impactar o limite de crédito do Cliente. |
PWOPER_ADDRVERIF | 2Eh | Verifica junto ao Provedor o endereço do Cliente. |
PWOPER_SALEPRE | 2Fh | Efetiva uma pré-autorização (PWOPER_PREAUTH), previamente realizada, realizando a transferência de fundos entre as contas do Estabelecimento e do Cliente. |
PWOPER_LOYCREDIT | 30h | Registra o acúmulo de pontos pelo Cliente, a partir de um programa de fidelidade. |
PWOPER_LOYCREDVOID | 31h | Cancela uma transação PWOPER_LOYCREDIT. |
PWOPER_LOYDEBIT | 32h | Registra o resgate de pontos/prêmio pelo Cliente, a partir de um programa de fidelidade. |
PWOPER_LOYDEBVOID | 33h | Cancela uma transação PWOPER_LOYDEBIT. |
PWOPER_BILLPAYMENT | 34h | Realiza um pagamento de conta/boleto/fatura. |
PWOPER_DOCPAYMENTQ | 35h | Realiza uma consulta de documento de cobrança. |
PWOPER_LOGON | 36h | Realiza uma operação de logon no servidor. |
PWOPER_SRCHPREAUTH | 37h | Realiza uma busca de pré-autorização. |
PWOPER_ADDPREAUTH | 38h | Realiza uma alteração no valor de uma pré-autorização. |
PWOPER_VOID | 39h | Exibe um menu com os cancelamentos disponíveis, caso só exista um tipo, este é selecionado automaticamente. |
PWOPER_STATISTICS | 40h | Realiza uma transação de estatísticas. |
PWOPER_CARDPAYMENT | 41h | Realiza um pagamento de cartão de crédito. |
PWOPER_CARDPAYMENTVOID | 44h | Cancela uma transação PWOPER_CARDPAYMENT. |
PWOPER_CASHWDRWLVOID | 45h | Cancela uma transação PWOPER_CASHWDRWL. |
PWOPER_CARDUNLOCK | 46h | Realiza um desbloqueio de cartão. |
PWOPER_UPDATEDCHIP | 48h | Realiza uma atualização no chip do cartão. |
PWOPER_RPTPROMOTIONAL | 49h | Realiza uma transação de relatório promocional. |
PWOPER_SALESUMMARY | 4Ah | Imprime um resumo das transações de vendas. |
PWOPER_STATISTICSAUTHORIZER | 4Bh | Realiza uma estatística específica do autorizador. |
PWOPER_OTHERADMIN | 4Ch | Realiza uma transação administrativa especificada pelo autorizador. |
PWOPER_BILLPAYMENTVOID | 4Eh | Cancela uma transação PWOPER_BILLPAYMENT. |
PWOPER_TSTKEY | F0h | Teste de chaves de criptografia do pinpad |
PWOPER_COMMONDATA | FAh | Realiza uma operação para obter os dados básicos do PdC. O resultado dessa operação deve ser consultado por meio da chamada de PW_iGetResult para as informações: PWINFO_AUTADDRESS, PWINFO_APN, PWINFO_LIBVERSION, PWINFO_POSID, PWINFO_DESTTCPIP, PWINFO_LOCALIP, PWINFO_GATEWAY, PWINFO_SUBNETMASK, PWINFO_PPPPWD , PWINFO_SSID. |
PWOPER_SHOWPDC | FBh | Exibe o ponto de captura configurado. |
PWOPER_VERSION | FCh | (Versão) Permite consultar a versão da biblioteca atualmente em uso. |
PWOPER_CONFIG | FDh | (Configuração) Visualiza e altera os parâmetros de operação locais da biblioteca. |
PWOPER_MAINTENANCE | FEh | (Manutenção) Apaga todas as configurações do Ponto de Captura, devendo ser novamente realizada uma transação de Instalação. |
PW_iAddParam
Esta função é utilizada para alimentar a biblioteca com as informações da transação a ser realizada, e retorna imediatamente. Estas informações podem ser:
➝ Pré-fixadas na Automação;
➝ Capturadas do operador pela Automação antes do acionamento do PayGo;
➝ Capturadas do operador após solicitação pelo PayGo (retorno PW_MOREDATA por PW_iExecTransac).
Importante:
Todas as informações adicionadas nessa função através do parâmetro pszValue devem, obrigatoriamente, estar na faixa ASCII entre o valor 20h (32 decimal) e o valor 7Eh (126 decimal) e possuir o terminador nulo. Este parâmetro não aceita ‘ç’ e nem caracteres acentuados.
Int16 PW_iAddParam
(Word wParam, const char *pszValue)
➜ Entradas:
wParam
Identificador do parâmetro (PWINFO_xxx, ver lista completa em “10.Dicionário de dados”, página 79).
pszValue
Valor do parâmetro (string ASCII com final nulo).
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK..............................Parâmetro acrescentado com sucesso.
PWRET_INVPARAM...............O valor do parâmetro é inválido.
PWRET_DLLNOTINIT............Não foi executado PW_iInit.
PWRET_TRNNOTINIT...........Não foi executado PW_iNewTransac
PWRET_NOTINST.................É necessário efetuar uma transação de Instalação.
Outro.............................................Outro erro de execução (ver “11. Códigos de retorno”). Uma mensagem de erro pode ser obtida através da função PW_iGetResult (PWINFO_RESULTMSG).
⇨ Observações adicionais:
- Os parâmetros abaixo devem obrigatoriamente ser informados pela Automação a cada transação, qualquer que seja.
Nome | Descrição |
---|---|
PWINFO_AUTNAME | Nome do aplicativo de Automação. |
PWINFO_AUTVER | Versão do aplicativo de Automação. |
PWINFO_AUTDEV | Empresa desenvolvedora da Automação. |
PWINFO_AUTCAP | Capacidades da Automação. |
- Os parâmetros abaixo devem obrigatoriamente ser informados pela Automação para transações dos seguintes tipos: PWOPER_SALE, PWOPER_SALEVOID, PWOPER_PREAUTH, PWOPER_CASHWDRWL e PWOPER_SALEPRE.
Nome | Descrição |
---|---|
PWINFO_TOTAMNT | Valor total da transação. |
PWINFO_CURRENCY | Moeda. |
PWINFO_CURREXP | Expoente da moeda. |
- Os parâmetros abaixo devem obrigatoriamente ser informados pela Automação para transações dos seguintes tipos: PWOPER_SALEVOID, PWOPER_PREAUTVOID e PWOPER_SALEPRE.
Nome | Descrição |
---|---|
PWINFO_TRNORIGDATE | Data da transação original |
PWINFO_TRNORIGNSU | NSU da transação original. |
PWINFO_TRNORIGAMNT | Valor da transação original. |
PWINFO_TRNORIGAUTH | Código de autorização da transação original. |
PWINFO_TRNORIGTIME | Hora da transação original. |
PW_iExecTransac
Esta função tenta realizar uma transação através do PayGo, utilizando os parâmetros previamente definidos através de PW_iAddParam. Caso algum dado adicional precise ser informado, o retorno será PWRET_MOREDATA e o parâmetro pvstParam retornará informações dos dados que ainda devem ser capturados.
Esta função, por se comunicar com a infraestrutura PayGo, pode demorar alguns segundos para retornar.
Int16 PW_iExecTransac
(PW_GetData *pvstParam, Int16 *piNumParam)
➜ Entradas:
piNumParam
Quantidade máxima de dados que podem ser capturados de uma vez, caso o retorno seja PW_MOREDATA. (Deve refletir o tamanho da área de memória apontada por pvstParam.) Valor sugerido: 9.
➜ Saídas:
pvstParam
Lista e características dos dados que precisam ser informados para executar a transação. Consultar “9.Captura de dados” para a descrição da estrutura e instruções para a captura de dados adicionais.
piNumParam
Quantidade de dados adicionais que precisam ser capturados (quantidade de ocorrências preenchidas em pvstParam).
➜ Retorno:
PWRET_OK.......................................Transação realizada com sucesso. Os resultados da transação devem ser obtidos através da função PW_iGetResult.
PWRET_NOTHING..........................Nada a fazer, fazer as validações locais necessárias e chamar a função PW_iExecTransac novamente.
PWRET_MOREDATA.......................Mais dados são requeridos para executar a transação.
PWRET_DLLNOTINIT......................Não foi executado PW_iInit.
PWRET_TRNNOTINIT......................Não foi executado PW_iNewTransac.
PWRET_NOTINST............................É necessário efetuar uma transação de Instalação.
PWRET_NOMANDATORY..............Algum dos parâmetros obrigatórios não foi adicionado.
Outro...................................................Outro erro de execução (ver “11. Códigos de retorno”). Uma mensagem de erro pode ser obtida através da função PW_iGetResult (**PWINFO_RESULTMSG**).
PW_iGetResult
Esta função pode ser chamada para obter informações que resultaram da transação efetuada, independentemente de ter sido bem ou malsucedida, e retorna imediatamente.
Int16 PW_iGetResult
(Int16 iInfo, char *pszData, Uint32 ulDataSize)
➜ Entradas:
iInfo
Código da informação solicitada sendo requisitada (PWINFO_xxx, ver lista completa em “10.Dicionário de dados”).
ulDataSize
Tamanho (em bytes) da área de memória apontada por pszData. Prever um tamanho maior que o máximo previsto para o dado solicitado.
➜ Saídas:
pszData
Valor da informação solicitada (string ASCII com terminador nulo).
➜ Retorno:
PWRET_OK..........................Sucesso. pszData contém o valor solicitado.
PWRET_NODATA...............A informação solicitada não está disponível.
PWRET_BUFOVFLW..........O valor da informação solicitada não cabe em pszData.
PWRET_DLLNOTINIT..........Não foi executado PW_iInit.
PWRET_TRNNOTINIT.........Não foi executado PW_iNewTransac (ver página 18).
PWRET_NOTINST................É necessário efetuar uma transação de Instalação.
Outro.......................................Outro erro de execução (ver “11. Códigos de retorno”)
PW_iConfirmation
Esta função informa ao PayGo o status final da transação em curso (confirmada ou desfeita). Consultar “8. Confirmação de transação” para informações adicionais
Int16 PW_iConfirmation
Uint32 ulResult, const char *pszReqNum
const char *pszLocRef, const char *pszExtRef*
const char pszVirtMerch, const char *pszAuthSyst);
➜ Entradas:
ulStatus
Resultado da transação (PWCNF_xxx, ver lista abaixo).
pszReqNum
Referência local da transação, obtida através de PW_iGetResult (PWINFO_REQNUM).
pszLocRef
Referência da transação para a infraestrutura PayGo, obtida através de PW_iGetResult (PWINFO_AUTLOCREF).
pszExtRef
Referência da transação para o Provedor, obtida através de PW_iGetResult (PWINFO_AUTEXTREF).
pszVirtMerch
Identificador do Estabelecimento, obtido através de PW_iGetResult (PWINFO_VIRTMERCH).
pszAuthSyst
Nome do Provedor, obtido através de PW_iGetResult (PWINFO_AUTHSYST).
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK..............................O status da transação foi atualizado com sucesso.
PWRET_DLLNOTINIT.............Não foi executado PW_iInit.
PWRET_NOTINST...................É necessário efetuar uma transação de Instalação.
PWRET_INVALIDTRN............A transação informada para confirmação não existe ou já foi confirmada anteriormente.
Outro.........................................Outro erro de execução (ver “11. Códigos de retorno”)
➜ Observações:
- Caso a chamada a PW_iGetResult para um ou mais dos parâmetros acima retorne erro, a Automação deve informar o(s) parâmetro(s) correspondente(s) como NULL ou string vazia (“”).
Lista de status de confirmação possíveis:
PWCNF_CNF_AUTO | 00000121h | A transação foi confirmada pelo Ponto de Captura, sem intervenção do usuário. |
PWCNF_CNF_MANU_AUT | 00003221h | A transação foi confirmada manualmente na Automação. |
PWCNF_REV_MANU_AUT | 00003231h | A transação foi desfeita manualmente na Automação. |
PWCNF_REV_PRN_AUT | 00013131h | A transação foi desfeita pela Automação, devido a uma falha na impressão do comprovante (não fiscal). A priori, não usar. Falhas na impressão não devem gerar desfazimento, deve ser solicitada a reimpressão da transação. |
PWCNF_REV_DISP_AUT | 00023131h | A transação foi desfeita pela Automação, devido a uma falha no mecanismo de liberação da mercadoria. |
PWCNF_REV_COMM_AUT | 00033131h | A transação foi desfeita pela Automação, devido a uma falha de comunicação/integração com o ponto de captura (Cliente PayGo). |
PWCNF_REV_ABORT | 00043131h | A transação não foi finalizada, foi interrompida durante a captura de dados. |
PWCNF_REV_OTHER_AUT | 00073131h | A transação foi desfeita a pedido da Automação, por um outro motivo não previsto. |
PWCNF_REV_PWR_AUT | 00083131h | A transação foi desfeita automaticamente pela Automação, devido a uma queda de energia (reinício abrupto do sistema). |
PWCNF_REV_FISC_AUT | 00093131h | A transação foi desfeita automaticamente pela Automação, devido a uma falha de registro no sistema fiscal (impressora S@T, on-line, etc.). |
PW_iWaitConfirmation
Caso deseje-se sincronizar a execução da biblioteca com o processo de confirmação, após chamar PW_iConfirmation, a chamada de PW_iWaitConfirmation apenas retornará quando o processo de confirmação for efetivamente terminado.
Int16 PW_iWaitConfirmation
(void)
➜ Entradas:
Nenhuma.
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK............................Operação realizada com êxito.
PWRET_DLLNOTINIT...........Não foi executado PW_iInit.
PWRET_NOTINST.................É necessário efetuar uma transação de Instalação.
Outro........................................Outro erro de execução (ver “11. Códigos de retorno”, página 93).
PW_iIdleProc
Para o correto funcionamento do sistema, a biblioteca do PayGo precisa de tempos em tempos executar tarefas automáticas enquanto não está realizando nenhuma transação a pedido da Automação.
Após uma chamada de qualquer uma das funções PW_iInit, PW_iExecTransac, PW_iConfirmation ou PW_iIdleProc, a Automação deve obter, através da função PW_iGetResult, o valor do parâmetro PWINFO_IDLEPROCTIME, que indica o próximo horário no qual a Automação deve chamar PW_iIdleProc.
Int16 PW_iIdleProc
(void)
➜ Entradas:
Nenhuma.
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK.......................Operação realizada com êxito.
PWRET_DLLNOTINIT...........Não foi executado PW_iInit.
PWRET_NOTINST.................É necessário efetuar uma transação de Instalação.
Outro.......................................Outro erro de execução (ver “11. Códigos de retorno”, página 93)
PW_iGetOperations
Esta função pode ser chamada para obter quais operações o PayGo disponibiliza no momento, sejam elas *administrativas, de venda ou ambas.
Int16 PW_iGetOperations
(Byte bOperType, PW_Operations vstOperations[], Int16 *piNumOperations)
➜ Entradas:
bOperType
Soma dos tipos de operação a serem incluídos na estrutura de retorno (PWOPTYPE_xxx, conforme tabela abaixo).
piNumOperations
Número máximo de operações que pode ser retornado. (Deve refletir o tamanho da área de memória apontada por pvstOperations).
➜ Saídas:
piNumOperations
Número de operações disponíveis no PayGo.
vstOperations
Lista das operações disponíveis e suas características, descrição dos membros da estrutura na tabela abaixo:
Nome | Tipo | Descrição |
---|---|---|
bOperType | Byte | Tipo da operação (PWOPTYPE_XXX). |
szText | char[] | Texto a ser exibido para seleção da operação. Caso a operação seja selecionada, esse valor deve ser adicionado como parâmetro pszValue na função PW_iAddParam, com o parâmetro wParam igual a PWINFO_LOCAINFO1. |
szValue | char[] | Caso a operação seja selecionada, valor a ser adicionado como parâmetro pszValue na função PW_iAddParam, com o parâmetro wParam igual a PWINFO_OPERATION. |
➜ Retorno:
PWRET_OK...............................Operação realizada com êxito.
PWRET_DLLNOTINIT.............Não foi executado PW_iInit.
PWRET_NOTINST...................É necessário efetuar uma transação de Instalação.
Outro..........................................Outro erro de execução (ver “11. Códigos de retorno”, página 93)
Tipos de operação:
Nome | Valor | Descrição |
---|---|---|
PWOPTYPE_ADMIN | 1 | Todas as operações não retornadas ao solicitar operações do tipo PWOPTYPE_SALE (relatório, reimpressão, cancelamento, pagamento de contas, entre outras). |
PWOPTYPE_SALE | 2 | Operações que realizam o pagamento de mercadorias e/ou serviços vendidos pelo Estabelecimento ao Cliente, a quitação do valor devido pode ser efetuada com diversas modalidades de pagamento: cartão de crédito/débito, carteira virtual, pontos de programa de fidelidade, entre outros, transferindo fundos entre as respectivas contas. |
PW_iGetOperationsEx
Esta função pode ser chamada para obter quais operações o PayGo disponibiliza no momento, sejam elas administrativas, de venda ou ambas. Retorna além da operação, o nome do sistema autorizador que oferece a opção.
Int16 PW_iGetOperations
(Byte bOperType, PW_OperationsEx vstOperations[], Int16 *piNumOperations, Int16 iStructSize);
➜ Entradas:
bOperType
Soma dos tipos de operação a serem incluídos na estrutura de retorno (PWOPTYPE_xxx, conforme tabela abaixo).
piNumOperations
Número máximo de operações que pode ser retornado. (Deve refletir o tamanho da área de memória apontada por pvstOperations).
iStructSize
Tamanho da estrutura PW_OperationsEx.
➜ Saídas:
piNumOperations
Número de operações disponíveis no PayGo.
vstOperations
Lista das operações disponíveis e suas características, descrição dos membros da estrutura na tabela abaixo:
Nome | Tipo | Descrição |
---|---|---|
bOperType | Byte | Tipo da operação (PWOPTYPE_XXX). |
szOperName | char[] | Texto a ser exibido para seleção da operação. Caso a operação seja selecionada, esse valor deve ser adicionado como parâmetro pszValue na função PW_iAddParam, com o parâmetro wParam igual a PWINFO_LOCAINFO1. |
szAuthSist | char[] | Nome do sistema autorizador relacionado à operação. Esse valor deve ser adicionado como parâmetro pszValue na função PW_iAddParam, com o parâmetro wParam igual a PWINFO_AUTHSYST. |
szValue | char[] | Caso a operação seja selecionada, valor a ser adicionado como parâmetro pszValue na função PW_iAddParam, com o parâmetro wParam igual a PWINFO_OPERATION. |
fAuthPreferential | Bool | Sinaliza, caso a automação optar pelo tratamento, o autorizador deve ser selecionado antes da operação. Caso isto ocorra, somente as operações de venda ou administrativas relacionadas ao autorizador deverão ser exibidas posteriormente. |
➜ Retorno:
PWRET_OK.............................Operação realizada com êxito.
PWRET_DLLNOTINIT...........Não foi executado PW_iInit.
PWRET_NOTINST.................É necessário efetuar uma transação de Instalação.
Outro........................................Outro erro de execução (ver “11. Códigos de retorno”, página 93)
Tipos de operação:
Nome | Valor | Descrição |
---|---|---|
PWOPTYPE_ADMIN | 1 | Todas as operações não retornadas ao solicitar operações do tipo PWOPTYPE_SALE (relatório, reimpressão, cancelamento, pagamento de contas, entre outras). |
PWOPTYPE_SALE | 2 | Operações que realizam o pagamento de mercadorias e/ou serviços vendidos pelo Estabelecimento ao Cliente, a quitação do valor devido pode ser efetuada com diversas modalidades de pagamento: cartão de crédito/débito, carteira virtual, pontos de programa de fidelidade, entre outros, transferindo fundos entre as respectivas contas. |
Funções para acesso ao pinpad
Essas funções são utilizadas para obtenção de dados do pinpad, exclusivamente quando solicitado pelo retorno PWRET_MOREDATA da função PW_iExecTransac.
O uso das funções apresentadas nesta seção deve respeitar o fluxo apresentado em “5.2.2. Interface com o pinpad”
Funções de controle do fluxo
PW_iPPEventLoop
Esta função deve ser chamada repetidamente até que devolva em código de retorno diferente de PWRET_NOTHING e PWRET_DISPLAY, e retorna imediatamente.
Int16 PW_iPPEventLoop
(char *pszDisplay, Uint32 ulDisplaySize)
➜ Entradas:
ulDisplaySize
Tamanho (em bytes) da área de memória apontada por pszDisplay. Tamanho mínimo recomendado: 100 bytes.
➜ Saídas:
pszDisplay
Caso o retorno da função seja PWRET_DISPLAY, contém uma mensagem de texto (string ASCII com terminal nulo) a ser apresentada pela Automação na interface com o usuário principal. Para o formato desta mensagem, consultar “1. Interface com o usuário”.
➜ Retorno:
PWRET_NOTHING..................Nada a fazer, continuar aguardando o processamento do pinpad.
PWRET_DISPLAY....................Apresentar a mensagem recebida em pszDisplay e continuar aguardando o processamento do pinpad.
PWRET_OK..............................Captura de dados realizada com êxito, prosseguir com a transação.
PWRET_CANCEL...................A operação foi cancelada pelo Cliente no pinpad (tecla [CANCEL]).
PWRET_TIMEOUT..................O Cliente não realizou a captura no tempo limite.
PWRET_FALLBACK...............Ocorreu um erro na leitura do cartão, passar a aceitar a digitação do número do cartão, caso já não esteja aceitando.
PWRET_PPCOMERR.............Falha na comunicação com o pinpad.
PWRET_DLLNOTINIT............Não foi executado PW_iInit.
PWRET_INVCALL..................Não há captura de dados no pinpad em curso.
Outro.........................................Outro erro de execução (ver “11. Códigos de retorno”). Uma mensagem de erro pode ser obtida através da função PW_iGetResult (PWINFO_RESULTMSG).
PW_iPPAbort
Esta função pode ser utilizada pela Automação para interromper uma captura de dados no pinpad em curso, e retorna imediatamente.
Int16 PW_iPPAbort
(void)
➜ Entradas:
Nenhuma.
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK.................................Operação interrompida com sucesso.
PWRET_PPCOMERR................Falha na comunicação com o pinpad.
PWRET_DLLNOTINIT...............Não foi executado PW_iInit.
Outro............................................Outro erro de execução (ver “11. Códigos de retorno”)
Funções para obtenção de dados
Cada função desta seção inicia um processamento no pinpad, e retorna imediatamente.
Todas as funções dessa seção só podem ser utilizadas caso a biblioteca solicite a respectiva captura através do retorno PWRET_MOREDATA com o tipo de captura PWDAT_PPREMCRD, como descrito na seção “8.2.6 Outras capturas no pinpad”. Qualquer outra chamada dessas funções fora desse fluxo irá retornar PWRET_INVPARAM.
Para determinar qual função deve ser chamada pela Automação, referir-se à seção “9.Captura de dados”.
PW_iPPGetCard
Esta função é utilizada para realizar a leitura de um cartão (magnético, com chip com contato, ou sem contato) no pinpad.
Int16 PW_iPPGetCard
(Uint16 uiIndex)
➜ Entradas:
uiIndex
Índice (iniciado em 0) do dado solicitado na última execução de PW_iExecTransac (índice do dado no vetor pvstParam).
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK.........................Captura iniciada com sucesso, chamar PW_iPPEventLoop para obter o resultado.
PWRET_INVPARAM..........O valor de uiIndex informado não corresponde a uma captura de dados deste tipo ou a essa captura de dado não foi solicitada pela biblioteca.
PWRET_DLLNOTINIT........Não foi executado PW_iInit.
Outro.....................................Outro erro de execução (ver “11. Códigos de retorno). Uma mensagem de erro pode ser obtida através da função PW_iGetResult (PWINFO_RESULTMSG).
PW_iPPGetPIN
Esta função é utilizada para realizar a captura no pinpad da senha (ou outro dado criptografado) do Cliente.
Int16 PW_iPPGetPIN
Uint16 uiIndex
➜ Entradas:
uiIndex
Índice (iniciado em 0) do dado solicitado na última execução de PW_iExecTransac (índice do dado no vetor pvstParam).
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK.........................Captura iniciada com sucesso, chamar PW_iPPEventLoop para obter o resultado.
PWRET_INVPARAM..........O valor de uiIndex informado não corresponde a uma captura de dados deste tipo ou a essa captura de dado não foi solicitada pela biblioteca.
PWRET_DLLNOTINIT........Não foi executado PW_iInit.
Outro.....................................Outro erro de execução (ver “11. Códigos de retorno”, página 93). Uma mensagem de erro pode ser obtida através da função PW_iGetResult (PWINFO_RESULTMSG).
PW_iPPGetData
Esta função é utilizada para fazer a captura no pinpad de um dado não sensível do Cliente.
Int16 PW_iPPGetData
Uint16 uiIndex
➜ Entradas:
uiIndex
Índice (iniciado em 0) do dado solicitado na última execução de PW_iExecTransac (índice do dado no vetor pvstParam).
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK.............................Captura iniciada com sucesso, chamar PW_iPPEventLoop para obter o resultado.
PWRET_INVPARAM...............O valor de uiIndex informado não corresponde a uma captura de dados deste tipo ou a essa captura de dado não foi solicitada pela biblioteca.
PWRET_DLLNOTINIT...............Não foi executado PW_iInit.
Outro............................................Outro erro de execução (ver “11. Códigos de retorno”). Uma mensagem de erro pode ser obtida através da função PW_iGetResult (PWINFO_RESULTMSG).
PW_iPPGoOnChip
Esta função é utilizada para realizar o processamento off-line (antes da comunicação com o Provedor) de um cartão com chip no pinpad.
Int16 PW_iPPGoOnChip
(Uint16 uiIndex)
➜ Entradas:
uiIndex
Índice (iniciado em 0) do dado solicitado na última execução de PW_iExecTransac (índice do dado no vetor pvstParam).
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK = Captura iniciada com sucesso, chamar PW_iPPEventLoop para obter o resultado.
PWRET_INVPARAM = O valor de uiIndex informado não corresponde a uma captura de dados deste tipo ou a essa captura de dado não foi solicitada pela biblioteca.
PWRET_DLLNOTINIT = Não foi executado PW_iInit.
Outro = Outro erro de execução (ver “11. Códigos de retorno”). Uma mensagem de erro pode ser obtida através da função PW_iGetResult (PWINFO_RESULTMSG).
PW_iPPFinishChip
Esta função é utilizada para finalizar o processamento on-line (após comunicação com o Provedor) de um cartão com chip no pinpad.
Int16 PW_iPPFinishChip
(Uint16 uiIndex)
➜ Entradas:
uiIndex
Índice (iniciado em 0) do dado solicitado na última execução de PW_iExecTransac (índice do dado no vetor pvstParam).
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK.......................Captura iniciada com sucesso, chamar PW_iPPEventLoop para obter o resultado.
PWRET_INVPARAM.......................O valor de uiIndex informado não corresponde a uma captura de dados deste tipo ou a essa captura de dado não foi solicitada pela biblioteca.
PWRET_DLLNOTINIT.......................Não foi executado PW_iInit.
Outro.......................Outro erro de execução (ver “11. Códigos de retorno”). Uma mensagem de erro pode ser obtida através da função PW_iGetResult (PWINFO_RESULTMSG).
PW_iPPConfirmData
Esta função é utilizada para obter do Cliente a confirmação de uma informação no pinpad.
Int16 PW_iPPConfirmData
(Uint16 uiIndex)
➜ Entradas:
uiIndex
Índice (iniciado em 0) do dado solicitado na última execução de PW_iExecTransac (índice do dado no vetor pvstParam).
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK..........................Captura iniciada com sucesso, chamar PW_iPPEventLoop para obter o resultado.
PWRET_INVPARAM............O valor de uiIndex informado não corresponde a uma captura de dados deste tipo ou a essa captura de dado não foi solicitada pela biblioteca.
PWRET_DLLNOTINIT..........Não foi executado PW_iInit.
Outro.......................................Outro erro de execução (ver “11. Códigos de retorno”). Uma mensagem de erro pode ser obtida através da função PW_iGetResult (PWINFO_RESULTMSG).
PW_iPPGenericCMD
Esta função é utilizada para realizar um comando genérico no pinpad.
Int16 PW_iPPGenericCMD
(Uint16 uiIndex)
➜ Entradas:
uiIndex
Índice (iniciado em 0) do dado solicitado na última execução de PW_iExecTransac (índice do dado no vetor pvstParam).
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK..............................Captura iniciada com sucesso, chamar PW_iPPEventLoop para obter o resultado.
PWRET_INVPARAM................O valor de uiIndex informado não corresponde a uma captura de dados deste tipo ou a essa captura de dado não foi solicitada pela biblioteca.
PWRET_DLLNOTINIT..............Não foi executado PW_iInit.
Outro..........................................Outro erro de execução (ver “11. Códigos de retorno”, página 93). Uma mensagem de erro pode ser obtida através da função PW_iGetResult (PWINFO_RESULTMSG).
PW_iPPDataConfirmation
Esta função é utilizada para realizar a confirmação positiva de um dado, ou um bloco de dados, no pinpad.
Int16 PW_iPPDataConfirmation
(Uint16 uiIndex)
➜ Entradas:
uiIndex
Índice (iniciado em 0) do dado solicitado na última execução de PW_iExecTransac (índice do dado no vetor pvstParam).
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK...................................Captura iniciada com sucesso, chamar PW_iPPEventLoop para obter o resultado.
PWRET_INVPARAM.....................O valor de uiIndex informado não corresponde a uma captura de dados deste tipo ou a essa captura de dado não foi solicitada pela biblioteca.
PWRET_DLLNOTINIT...................Não foi executado PW_iInit.
Outro................................................Outro erro de execução (ver “11. Códigos de retorno”). Uma mensagem de erro pode ser obtida através da função PW_iGetResult (PWINFO_RESULTMSG).
PW_iPPRemoveCard
Esta função é utilizada para aguardar a remoção de um cartão com chip.
Int16 PW_iPPRemoveCard
(void)
➜ Entradas:
Nenhuma.
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK........................Captura iniciada com sucesso, chamar PW_iPPEventLoop para obter o resultado.
PWRET_INVPARAM..........Essa captura de dado não foi solicitada pela biblioteca.
PWRET_DLLNOTINIT........Não foi executado PW_iInit.
Outro.....................................Outro erro de execução (ver “11. Códigos de retorno”).
Outras funções
As funções descritas nesta seção permitem interagir com o pinpad fora do fluxo de uma transação.
Cada função desta seção inicia um processamento no pinpad, e retorna assim que possível.
PW_iPPDisplay
Esta função é utilizada para apresentar uma mensagem no pinpad.
Int16 PW_iPPDisplay
(const char *pszMsg)
➜ Entradas:
pszMsg
Mensagem a ser apresentada no pinpad. O caractere ‘\r’ (0Dh) indica uma quebra de linha.
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK..............................iniciada com sucesso, chamar PW_iPPEventLoop para obter o resultado.
PWRET_DLLNOTINIT.............Não foi executado PW_iInit.
Outro..........................................Outro erro de execução (ver “11. Códigos de retorno”).
PW_iPPGetUserData
Esta função é utilizada para obter um dado digitado pelo portador do cartão no pinpad.
Int16 PW_iPPGetUserData
( Uint16 uiMessageId, Byte bMinLen, Byte bMaxLen, Int16 iToutSec, char *pszData)
➜ Entradas:
uiMessageId
Identificador da mensagem a ser exibida como prompt para a captura, seguindo a tabela abaixo:
Identificador | Mensagem apresentada |
---|---|
1 | DIGITE O DDD |
2 | REDIGITE O DDD |
3 | DIGITE O TELEFONE |
4 | REDIGITE O TELEFONE |
5 | DIGITE DDD+TELEFONE |
6 | REDIGITE DDD+TELEFONE |
7 | DIGITE O CPF |
8 | REDIGITE O CPF |
9 | DIGITE O RG |
10 | REDIGITE O RG |
11 | DIGITE OS 4 ULTIMOS DIGITOS |
12 | DIGITE CODIGO DE SEGURANCA |
bMinLen = Tamanho mínimo do dado a ser digitado.
bMaxLen = Tamanho máximo do dado a ser digitado.
iToutSec = Tempo limite para a digitação do dado em segundos.
➜ Saídas:
pszData
Dado digitado pelo portador do cartão no pinpad.
➜ Retorno:
PWRET_OK............................O dado foi capturado com sucesso.
PWRET_DLLNOTINIT...........Não foi executado PW_iInit.
PWRET_NOTINST.................É necessário efetuar uma transação de Instalação.
PWRET_CANCEL..................A operação foi cancelada pelo Cliente no pinpad (tecla [CANCEL]).
PWRET_TIMEOUT................O Cliente não realizou a captura no tempo limite.
PWRET_PPCOMERR............Falha na comunicação com o pinpad.
PWRET_INVCALL..................Não é possível capturar dados em um pinpad não ABECS.
Outro........................................Outro erro de execução (ver “11. Códigos de retorno”).
PW_iPPWaitEvent
Esta função é utilizada para aguardar a ocorrência de um evento no pinpad.
PW_iPPWaitEvent
(Uint32 *pulEvent);
➜ Entradas:
pulEvent
Soma dos valores referentes aos eventos a serem monitorados no pinpad (não é possível monitorar simultaneamente os eventos PWPPEVTIN_ICC e PWPPEVTIN_ICCOUT):
Constante | Valor | Evento |
---|---|---|
PWPPEVTIN_KEYS | 1 | Acionamento de teclas |
PWPPEVTIN_MAG | 2 | Passagem de cartão magnético |
PWPPEVTIN_ICC | 4 | Presença de cartão com chip. |
PWPPEVTIN_CTLS | 8 | Aproximação de um cartão sem contato. |
PWPPEVTIN_ICCOUT | 16 | Ausência de cartão com chip. |
➜ Saídas:
pulEvent
Evento ocorrido, conforme tabela abaixo.
Atenção: este dado somente é preenchido após retorno PWRET_OK de PW_iPPEventLoop.
➜ Retorno:
PWRET_OK............................Captura iniciada com sucesso, chamar PW_iPPEventLoop para obter o resultado.
PWRET_INVPARAM.............Não é possível monitorar simultaneamente os eventos passados em pulEvent.
PWRET_DLLNOTINIT...........Não foi executado PW_iInit.
Outro........................................Outro erro de execução (ver “11. Códigos de retorno”).
Constante | Valor | Definição |
---|---|---|
PWPPEVT_MAGSTRIPE | 01h | Foi passado um cartão magnético. |
PWPPEVT_ICC | 02h | Foi detectada a presença de um cartão com chip. |
PWPPEVT_CTLS | 03h | Foi detectada a presença de um cartão sem contato. |
PWPPEVT_ICCOUT | 04h | Foi detectada a ausência de um cartão com chip. |
PWPPEVT_KEYCONF | 11h | Foi pressionada a tecla [OK]. |
PWPPEVT_KEYBACKSP | 12h | Foi pressionada a tecla [CORRIGE]. |
PWPPEVT_KEYCANC | 13h | Foi pressionada a tecla [CANCELA]. |
PWPPEVT_KEYF1 | 21h | Foi pressionada a tecla [F1]. |
PWPPEVT_KEYF2 | 22h | Foi pressionada a tecla [F2]. |
PWPPEVT_KEYF3 | 23h | Foi pressionada a tecla [F3]. |
PWPPEVT_KEYF4 | 24h | Foi pressionada a tecla [F4]. |
PW_iPPGetPINBlock
Esta função é utilizada para obter o PIN block gerado a partir de um dado digitado pelo usuário no pinpad.
Int16 PW_iPPGetPINBlock
(Byte bKeyID, const char pszWorkingKey, Byte bMinLen, Byte bMaxLen, Int16 iToutSec, const char pszPrompt, char* pszData);
➜ Entradas:
bKeyID
Índice da Master Key (para chave PayGo, utilizar o índice “12”).
pszWorkingKey
Sequência de 32 caracteres utilizados para a geração do PIN block (dois valores iguais digitados pelo usuário com duas pszWorkingKey diferentes irão gerar dois PIN blocks diferentes.
bMinLen
Tamanho mínimo do dado a ser digitado (a partir de 4).
bMaxLen
Tamanho máximo do dado a ser digitado (até 12).
iToutSec
Tempo limite para a digitação do dado em segundos.
pszPrompt
Mensagem de 32 caracteres (2 linhas com 16 colunas) para apresentação no momento do pedido do dado do usuário (‘\r’ para quebra de linha).
➜ Saídas:
pszData
PIN block gerado com base nos dados fornecidos na função combinados com o dado digitado pelo usuário no pinpad.
➜ Retorno:
PWRET_OK............................O dado foi capturado com sucesso.
PWRET_DLLNOTINIT...........Não foi executado PW_iInit.
PWRET_NOTINST.................É necessário efetuar uma transação de Instalação.
PWRET_CANCEL..................A operação foi cancelada pelo Cliente no pinpad (tecla [CANCEL]).
PWRET_TIMEOUT.................O Cliente não realizou a captura no tempo limite.
PWRET_PPCOMERR.............Falha na comunicação com o pinpad.
PWRET_PPS_ERRPIN...........Chave com índice bKeyID não presente no pinpad.
Outro.........................................Outro erro de execução (ver “11. Códigos de retorno”).
PW_iPPTestKey
Esta função é utilizada para realização de teste de chaves de PIN no pinpad.
Int16 PW_iPPTestKey
(Uint16 uiIndex)
➜ Entradas:
uiIndex
Índice (iniciado em 0) do dado solicitado na última execução de PW_iExecTransac (índice do dado no vetor pvstParam).
➜ Saídas:
Nenhuma.
➜ Retorno:
PWRET_OK............................Captura iniciada com sucesso, chamar PW_iPPEventLoop para obter o resultado.
PWRET_INVPARAM.............O valor de uiIndex informado não corresponde a uma captura de dados deste tipo ou a essa captura de dado não foi solicitada pela biblioteca.
PWRET_DLLNOTINIT...........Não foi executado PW_iInit.
Outro........................................Outro erro de execução (ver “11. Códigos de retorno”). Uma mensagem de erro pode ser obtida através da função PW_iGetResult (PWINFO_RESULTMSG).
Outras funções
Estas funções permitem executar algumas funções fora do fluxo de uma transação. Geralmente, funções de cunho administrativo.
PW_iTransactionInquiry
Esta função é utilizada para realizar uma consulta de transações efetuadas por um ponto de captura junto ao PayGo.
Int16 PW_iTransactionInquiry
(const char *pszXmlRequest, char* pszXmlResponse, Uint32 ulXmlResponseLen);
➜ Entradas:
ulXmlResponseLen
Tamanho da string pszXmlResponse.
pszXmlRequest
Arquivo de entrada no formato XML, contendo as informações necessárias para fazer a consulta pretendida, seguindo o padrão abaixo:
Elemento | Elemento “pai” | Descrição |
---|---|---|
RequestTransactionHistory | - | Elemento raiz do arquivo XML. |
authentication | RequestTransactionHistory | Elemento que agrupa os dados necessários para autenticação no sistema. |
login | authentication | Usuário utilizado para autenticação. |
password | authentication | Senha utilizada para autenticação. |
QueryFilter | RequestTransactionHistory | Elemento que agrupa os filtros utilizados na consulta de transações. |
TransactionAuthorizer | QueryFilter | Autorizador para o qual se deseja fazer a consulta. |
TransactionStartDate | QueryFilter | Data de início da consulta no formato “DD/MM/AAAA HH:MM:SS”. |
TransactionEndDate | QueryFilter | Data de fim da consulta no formato “DD/MM/AAAA HH:MM:SS”. |
ArrayOfTransactionType | QueryFilter | Elemento que agrupa os tipos de transação que se deseja consultar. |
TransactionType | ArrayOfTransactionType | Tipo de transação para o qual se deseja fazer a consulta (bOper utilizado na função PW_iNewTransac). |
ArrayOfTransactionStatus | QueryFilter | Elemento que agrupa os status das transações que se deseja consultar. |
TransactionStatus | ArrayOfTransactionStatus | Status de transação para o qual se deseja fazer a consulta (289 para transações aprovadas). |
Error | RequestTransactionHistory | - |
Number | Error | - |
Description | Error | - |
➜ Saídas:
pszXmlResponse
Arquivo de saída no formato XML, contendo o resultado da consulta efetuada, o arquivo de saída tem todos os elementos do arquivo de entrada, com os dados abaixo adicionados:
Elemento | Elemento “pai” | Descrição |
---|---|---|
Transactions | RequestTransactionHistory | Elemento que agrupa as transações resultado da consulta. |
Transaction | Transactions | Elemento que agrupa as informações de uma transação. |
- | Transaction | O detalhamento de todas as informações retornadas de cada transação pode ser obtido no item Detalhamento Transactions |
➜ Retorno:
PWRET_OK...............................A consulta foi efetuada com sucesso.
PWRET_DLLNOTINIT.............Não foi executado PW_iInit.
Outro..........................................Outro erro de execução (ver “11. Códigos de retorno”). Uma mensagem de erro pode ser obtida através da função PW_iGetResult (PWINFO_RESULTMSG).
Exemplos:
pszXmlRequest
Arquivo XML de solicitação para as transações de venda (tipo de transação 33) aprovadas e confirmadas (status 289), efetuadas com o autorizador ELAVON, do dia 15/09/2016 até o dia 16/09/2016:
<RequestTransactionHistory xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0.0.0">
<authentication>
<login>user</login>
<password>123456</password>
</authentication>
<QueryFilter>
<TransactionAuthorizer>ELAVON</TransactionAuthorizer>
<TransactionStartDate>15/09/2016 00:00:00</TransactionStartDate>
<TransactionEndDate>16/09/2016 23:59:59</TransactionEndDate>
<ArrayOfTransactionType>
<TransactionType>33</TransactionType>
</ArrayOfTransactionType>
<ArrayOfTransactionStatus>
<TransactionStatus>289</TransactionStatus>
</ArrayOfTransactionStatus>
</QueryFilter>
<Error>
<Number />
<Description />
</Error>
</RequestTransactionHistory>
pszXmlResponse
Arquivo XML de resposta com as transações efetuadas no período informado (2 transações foram retornadas):
<RequestTransactionHistory version="1.0.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<authentication>
<login>user</login>
<password>123456</password>
</authentication>
<QueryFilter>
<TransactionAuthorizer>ELAVON</TransactionAuthorizer>
<TransactionStartDate>15/09/2016 00:00:00</TransactionStartDate>
<TransactionEndDate>16/09/2016 23:59:59</TransactionEndDate>
<ArrayOfTransactionType>
<TransactionType>33</TransactionType>
</ArrayOfTransactionType>
<ArrayOfTransactionStatus>
<TransactionStatus>289</TransactionStatus>
</ArrayOfTransactionStatus>
</QueryFilter>
<Transactions>
<Transaction>
<UniqueId>329904</UniqueId>
<AuthorizerExternalReference>00000072328</AuthorizerExternalReference>
<InternalLocalReference>12</InternalLocalReference>
<Status>289</Status>
<POSTimestamp>15/09/2016 15:18:23</POSTimestamp>
<Type>33</Type>
<Amount>10000</Amount>
<Discount />
<CashBack />
<AuthorizerName>ELAVON</AuthorizerName>
<AuthorizerCode>ELAVON</AuthorizerCode>
<AuthorizationCode>024662</AuthorizationCode>
<ProductName>MASTERCARD</ProductName>
<ResultMessage>TRANSACAO AUTORIZADA </ResultMessage>
<ServerTimestamp>15/09/2016 15:18:23</ServerTimestamp>
<AffiliationNumber>001941400000000004226</AffiliationNumber>
<AuthorizationTimestamp />
<CurrencyExponent>2</CurrencyExponent>
<CurrencyCode>986</CurrencyCode>
<TransactionDetails>
<RequestPurpose>1</RequestPurpose>
<POSData>
<Identifier>50328</Identifier>
<Description>Terminal de testes</Description>
</POSData>
<PinPadData>
<SerialNumber>1931410242000008 </SerialNumber>
<Version>001.29 110310 </Version>
<Model>PPC910;3MB </Model>
<FirmwareVersion>0080_0072_0083_0106 </FirmwareVersion>
<SpecificationVersion>1.07</SpecificationVersion>
</PinPadData>
<CardData>
<CardBrand />
<Type>1</Type>
<CardName>Crédito</CardName>
</CardData>
<POSCompanyData>
<TaxId>03.361.770/0001-58</TaxId>
</POSCompanyData>
<FinancingData>
<Type>4</Type>
<DueDate />
<InstallmentsNumber>2</InstallmentsNumber>
</FinancingData>
<TopUpData />
<BankingAgentData />
</TransactionDetails>
</Transaction>
<Transaction>
<UniqueId>329909</UniqueId>
<AuthorizerExternalReference>00000072341</AuthorizerExternalReference>
<InternalLocalReference>21</InternalLocalReference>
<Status>289</Status>
<POSTimestamp>16/09/2016 10:28:28</POSTimestamp>
<Type>33</Type>
<Amount>3000</Amount>
<Discount />
<CashBack />
<AuthorizerName>ELAVON</AuthorizerName>
<AuthorizerCode>ELAVON</AuthorizerCode>
<AuthorizationCode>024664</AuthorizationCode>
<ProductName>VISA ELECTRON</ProductName>
<ResultMessage>TRANSACAO AUTORIZADA </ResultMessage>
<ServerTimestamp>16/05/2016 10:28:28</ServerTimestamp>
<AffiliationNumber>001941400000000004226</AffiliationNumber>
<AuthorizationTimestamp />
<CurrencyExponent>2</CurrencyExponent>
<CurrencyCode>986</CurrencyCode>
<TransactionDetails>
<RequestPurpose>1</RequestPurpose>
<POSData>
<Identifier>50328</Identifier>
<Description>Terminal de testes</Description>
</POSData>
<PinPadData>
<SerialNumber>1931410242000008 </SerialNumber>
<Version>001.29 110310 </Version>
<Model>PPC910;3MB </Model>
<FirmwareVersion>0080_0072_0083_0106 </FirmwareVersion>
<SpecificationVersion>1.07</SpecificationVersion>
</PinPadData>
<CardData>
<CardBrand />
<Type>2</Type>
<CardName>Débito</CardName>
</CardData>
<POSCompanyData>
<TaxId>03.361.770/0001-58</TaxId>
</POSCompanyData>
<FinancingData>
<Type>1</Type>
<DueDate />
<InstallmentsNumber>1</InstallmentsNumber>
</FinancingData>
<TopUpData />
<BankingAgentData />
</TransactionDetails>
</Transactions>
<Error>
<Number />
<Description />
</Error>
</RequestTransactionHistory>
Detalhamento Transactions
<?xml version="1.0" encoding="iso-8859-1"?>
<request version="1.0.0.0" id="">
<authentication>
<login></login>
<password></password>
</authentication>
<Transactions>
<QueryFilter>
<AuthorizerStatus/>
<MerchantLegalName/>
<MerchantTradeName/>
<MerchantTaxId/>
<POSIdentifier/>
<POSType/>
<POSPinPadSerialNumber/>
<POSApplication/>
<POSApplicationVersion/>
<ReqNum/>
<UniqueId/>
<TransactionType/>
<TransactionAuthorizer/>
<TransactionProductName/>
<TransactionStatus/>
<TransactionStartDate/>
<TransactionEndDate/>
<AuthorizerStatus/>
<LastUniqueIdSearched/>
<ArrayOfUniqueId>
<UniqueId/>
<UniqueId/>
</ArrayOfUniqueId>
<ArrayOfTransactionType>
<TransactionType/>
<TransactionType/>
</ArrayOfTransactionType>
<ArrayOfTransactionStatus>
<TransactionStatus/>
<TransactionStatus/>
</ArrayOfTransactionStatus>
</QueryFilter>
<Transaction>
<UniqueId/>
<ReqNum/>
<OriginalTransactionReqNum/>
<AuthorizerExternalReference/>
<InternalLocalReference/>
<Status/>
<POSTimestamp/>
<Type/>
<Amount/>
<Discount/>
<CashBack/>
<AuthorizerName/>
<AuthorizerCode/>
<AuthorizerStatus/>
<AuthorizationCode/>
<AuthorizationType/>
<ProductCode/>
<ProductName/>
<ResultCode/>
<ResultMessage/>
<ServerTimestamp/>
<AffiliationNumber/>
<ProcessingCode/>
<ResponseCode/>
<ResponseMessage/>
<FullReceiptCopy/>
<AuthorizationTimestamp/>
<CurrencyExponent/>
<CurrencyCode/>
<CurrencySymbol/>
<TaxIdentifier/>
<CardHolderVerificationFlags/>
<CardSecCodeEntryMode/>
<AdditionalDataArray>
<AdditionalData/>
<AdditionalData/>
<AdditionalDataArray>
<TransactionDetails>
<SpecificationVersion/>
<RequestMode/>
<RequestPurpose/>
<OperatingSystem/>
<ComputerName/>
<ComputerUserName/>
<Login/>
<POSData>
<ExternalId></ExternalId>
<Identifier></Identifier>
<Description></Description>
<Status></Status>
<POSType></POSType>
<CardEntryModes>
<CardEntryMode></CardEntryMode>
</CardEntryModes>
<CardEntryModes>
<CardEntryMode></CardEntryMode>
</CardEntryModes>
<CommGroup></CommGroup>
<CardTypes>
<CardType></CardType>
</CardTypes>
<CardTypes>
<CardType></CardType>
</CardTypes>
<InstallmentPlans>
<InstallmentPlan></InstallmentPlan>
</InstallmentPlans>
<InstallmentPlans>
<InstallmentPlan></InstallmentPlan>
</InstallmentPlans>
<Unattended></Unattended>
<FiscalPrinter></FiscalPrinter>
<Printer></Printer>
<Automation></Automation>
<PINPad></PINPad>
<PINPadIdleMsgLine1></PINPadIdleMsgLine1>
<PINPadIdleMsgLine2></PINPadIdleMsgLine2>
<ConnectedAffiliations>
<Authorizer></Authorizer>
<Number></Number>
</ConnectedAffiliations>
<ConnectedAffiliations>
<Authorizer></Authorizer>
<Number></Number>
</ConnectedAffiliations>
</POSData>
<PinPadData>
<SerialNumber/>
<Version/>
<Model/>
<FirmwareVersion/>
<SpecificationVersion/>
</PinPadData>
<CardData>
<CardBrand/>
<CardBIN/>
<EntryMode/>
<Type/>
<MaskedCardNumber/>
<CardName/>
<CardHolderName/>
<ExpirationDate/>
</CardData>
<POSCompanyData>
<LegalName></LegalName>
<TradeName></TradeName>
<Notes></Notes>
<Individual></Individual>
<PerformsTransactions></PerformsTransactions>
<DisplayName></DisplayName>
<TaxId></TaxId>
<City></City>
<State></State>
<Country></Country>
<PostalCode></PostalCode>
<MerchantGroup>
<Name></Name>
<Option>
<Name></Name>
</Option>
<Option>
<Name></Name>
</Option>
</MerchantGroup>
</POSCompanyData>
<AffiliationCompanyData>
<LegalName></LegalName>
<TradeName></TradeName>
<Notes></Notes>
<Individual></Individual>
<PerformsTransactions></PerformsTransactions>
<DisplayName></DisplayName>
<TaxId></TaxId>
<City></City>
<State></State>
<Country></Country>
<PostalCode></PostalCode>
<MerchantGroup>
<Name></Name>
<Option>
<Option>
<Name></Name>
</Option>
<Option>
<Name></Name>
</Option>
</Option>
</MerchantGroup>
</AffiliationCompanyData>
<FinancingData>
<Type/>
<DueDate/>
<InstallmentsNumber/>
</FinancingData>
<RetailAutomationDetails>
<Capabilities/>
<Company/>
<Name/>
<Version/>
</RetailAutomationDetails>
<TopUpData>
<AreaCode/>
<MaskedPhoneNumber/>
</TopUpData>
<BankingAgentData>
<BarCode/>
<DueDate/>
<EntryMode/>
<Discount/>
<Reduction/>
<Fee/>
<Amount/>
<TotalAmount/>
</BankingAgentData>
</TransactionDetails>
</Transaction>
</Transactions>
<Error>
<Number/>
<Description/>
</Error>
</request>
Considerações Iniciais
Dado Obrigatório (Mandatório) | M |
Dado Opcional | O |
Dado Ecoado | E |
String | S |
Interio (Int) | I |
Booleano | B |
Devolvido na resposta | R |
Ausente/Não necessário | X |
Condicional | C |
Tipos de Dados
** QueryFilter Node**
Campo | Tipo | GET | Tam. | Descrição |
---|---|---|---|---|
AuthorizerStatus | S | O | 1..2 | Status da Transação perante ao Autorizador. [Veja Valores de Domínio em 1.1.1.1. Dados Comuns] |
MerchantLegalName | S | O | 1..200 | Razão Social da empresa ou Nome do cadastrado no caso de ser pessoa física. |
MerchantTradeName | S | O | 1..100 | Nome Fantasia da Empresa. |
MerchantTaxID | S | O | 1..18 | Enviar o CPF caso se trate de pessoa física, enviar CNPJ caso seja empresa. |
POSIdentifier | S | O | 1..15 | Identificador do ponto de captura. |
POSType | S | O | 1..50 | Descrição do ponto de captura. [Veja Valores de Domínio em 1.1.1.1. Dados Comuns] |
POSApplication | S | O | 1..20 | Código da aplicação. OBS: Na resposta retorna a descrição. [Veja Valores de Domínio em 1.1.1.1. Dados Comuns] |
POSApplicationVersion | S | O | 1..20 | Descrição da versão. |
ReqNum | S | O | 1..20 | Número da Transação gerado pelo Ponto de Captura. |
ArrayOfUniqueId | S | O | 1..20 | Lista de identificadores únicos da transação no sistema PayGo. Este número é a chave primária do registro do banco de dados que deverá ser enviado na busca. |
InternalLocalReference | S | O | 1..20 | Número único da transação no sistema PayGo por afiliação. |
ArrayOfTransactionType | S | O | 1..100 | Lista de identificadores de Tipo da Transação. [Veja Valores de Domínio em 1.1.1.1. Dados Comuns] |
TransactionAuthorizer | S | O | 1..50 | Sistema Autorizador Veja Valores de Domínio. |
TransactionProductName | S | O | 1..50 | Nome do Produto |
ArrayOfTransactionStatus | S | O | 1..10 | Lista de identificadores da Situação da Transação no PayGo. [Veja Valores de Domínio em 1.1.1.1. Dados Comuns] |
TransactionStartDate | S | O | 1..14 | Data e Hora inicial para filtro das transações. |
TransactionEndDate | S | O | 1..14 | Data e Hora inicial para filtro das transações. |
AuthorizerStatus | S | O | 1..50 | Situação da transação com o Autorizador. [Veja Valores de Domínio em 1.1.1.1. Dados Comuns] |
LastUniqueIdSearched | S | O | 1..20 | Para busca parciais informar qual o último DatabaseId retornado na última consulta. |
** Transaction Node**
Campo | Tipo | GET | Tam. | Descrição |
---|---|---|---|---|
UniqueId | S | M | 1..20 | Número único da transação no sistema PayGo. Este número é a chave primária do registro do banco de dados que deverá ser enviado na busca. |
ReqNum | S | M | 1..20 | Número da Transação gerado pelo Ponto de Captura. |
InternalLocalReference | S | M | 1..20 | Número único da transação no sistema PayGo por afiliação. |
OriginalTransactionReqNum | S | O | 1..20 | No caso da transação se tratar de uma confirmação, este campo trará o número da transação original que foi confirmada ou cancelada. |
AuthorizerExternalReference | S | M | 1..20 | Número da transação para rede autorizadora. |
Status | S | M | 1..20 | Situação da Transação no PayGo. Veja Valores de Domínio. |
POSTimestamp | S | M | 14 | Data e Hora da Transação. (Formato) |
Type | S | M | 1..50 | Tipo da Transação Veja Valores de Domínio. |
Amount | S | M | 1..50 | Valor da Transação. |
Discount | S | O | 1..50 | Valor do Desconto. |
Cashback | S | O | 1..50 | Valor do Saque. |
AuthorizerName | S | M | 1..50 | Nome Autorizador. |
AuthorizerCode | S | M | 1..10 | Código do Autorizador. |
AuthorizerStatus | S | M | 1..20 | Situação da Transação perante ao Autorizador. |
AuthorizationCode | S | O | 1..6 | Código de Autorização. |
AuthorizationType | S | O | 1..20 | Modalidade de Autorização Veja Valores de Domínio. |
ProductCode | S | O | 1..20 | Código do Produto. |
ProductName | S | O | 1..50 | Nome do Produto. |
ResultCode | S | M | 1..4 | Resultado da Transação. |
ResultMessage | S | M | 1..80 | Mensagem informativa do resultado da Transação. |
ServerTimestamp | S | M | 1..14 | Horário do Servidor da Transação. |
AffiliationNumber | S | M | 1..50 | Código de Afiliação que foi usado na transação. |
ProcessingCode | S | M | 1..10 | Código de Processamento. |
ResponseCode | S | M | 1..10 | Código de Resposta do Autorizador |
ResponseMessage | S | M | 1..300 | Mensagem de Resposta do Autorizador |
FullReceiptCopy | S | O | 1.10000 | Comprovante. Via completa. |
AuthorizationTimestamp | S | O | 1..14 | Data e Hora da autorização da transação. |
CurrencyExponent | S | M | 1..20 | Expoente da Moeda. Segundo Norma ISO4217. |
CurrencyCode | S | O | 1..3 | Código da Moeda. Segundo Norma ISO4217. |
CurrencySymbol | S | O | 1..3 | Símbolo da Moeda. Segundo Norma ISO4217. |
TaxIdentifier | S | O | 1..12 | Identificador do documento fiscal |
CardHolderVerificationFlags | S | M | 1..2 | Método de Verificação do Portador do Cartão. Veja Valores de Domínio. |
CardSecCodeEntryMode | S | O | 1..2 | Modo Entrada do Código de Segurança do Cartão. Veja Valores de Domínio. |
AdditionalDataArray | S | O | 1..n | Dados Adicionais enviados pelo ponto de captura. Cada dado adicional tem um limite de 100 caracteres. |
** TransactionDetailsNode**
Campo | Tipo | GET | Tam. | Descrição |
---|---|---|---|---|
SpecificationVersion | S | M | 1..20 | Versão da especificação do módulo do sistema de autorização. |
RequestMode | S | M | 1..20 | Indica o modo da solicitação Veja Valores de Domínio. |
RequestPurpose | S | M | 1..30 | Indica o motivo do modo da solicitação |
OperatingSystem | S | O | 1..128 | Versão do sistema operacional do ponto de captura |
ComputerName | S | O | 1..128 | Nome do computador do ponto de captura. |
ComputerUserName | S | O | 1..128 | Nome do usuário do computador do ponto de captura |
Login | S | M | 1..80 | Indica o usuário que interagiu na transação, se for o caso. |
** POSData Node**
Mesma estrutura que consta do cadastro de Ponto de Captura.
PinPadData Node | S | O | 1..20 | Número de Série do PinPad do Ponto de Captura. |
SerialNumber | S | O | 1..19 | Versão do Modelo do PinPad |
ModelVersion | S | O | 1..19 | Modelo do PinPad |
Model | S | 1..20 | Versão do Firmware do PinPad. | |
FirmwareVersion | S | O | 1..4 | Versão da Especificação do PinPad. |
SpecificationVersion | S | O | ||
CardData Node | ||||
CardBrand | S | O | 1..1 | Bandeira do Cartão. |
CardBIN | S | O | 1..6 | BIN do Cartão. |
EntryMode | S | O | 1..20 | Modo de entrada do cartão permitido no PtoCapturaFisico. Valores Domínio Veja Valores de Domínio. |
Type | O | 1..20 | Tipo do cartão permitido no PtoCapturaFisico. | |
MaskedCardNumber | S | O | 1..20 | Número do Cartão Mascarado. |
CardName | S | O | 1..99 | Nome do Cartão |
CardHolderName | S | O | 1..99 | Nome do portador do Cartão. |
ExpirationDate | S | O | 1..4 | Data Vencimento do Cartão. Formato YYMM. |
** POSCompanyData (M)**
Mesma estrutura que consta do cadastro de Agrupamentos e Opções
** AffiliationCompanyData (O)**
Mesma estrutura que consta do cadastro de Entidade. Esta entidade é atrelada a afiliação que foi efetuado o pagamento, neste caso, utilizando multiestabelecimento.
FinancingData Node | ||||
Type | S | O | 1..25 | Tipo do financiamento. Veja Valores de Domínio. |
DueDate | S | O | 1..14 | Data do pré-datado. |
InstallmentsNumber | S | O | 1..2 | Número de Parcelas |
RetailAutomationDetails Node | ||||
Capabilities | S | O | 1..4 | Capacidades da automação comercial. |
Company | S | O | 1..50 | Empresa desenvolvedora do aplicativo de automação comercial. |
Name | S | O | 1..128 | Nome do aplicativo de automação comercial. |
Version | S | O | 1..128 | Versão do aplicativo de automação comercial. |
**Transaction Specifics Details Nodes**
TopUpData Node
Campo | Tipo | GET | Tam. | Descrição |
---|---|---|---|---|
AreaCode | S | O | 1...3 | DDD do Telefone em que foi efetuada a recarga. |
MaskedPhoneNumber | S | O | 1...9 | Número do telefone, sem o DDD (8 ou 9 dígitos). |
BankingAgentData Node | ||||
BarCode | S | O | ||
DueDate | S | O | 1..14 | Código de Barras do Pagamento de Contas. |
EntryMode | S | O | 1..2 | Modo de Entrada do Código de Barras. Veja Valores de Domínio. |
Discount | S | O | 1..15 | Data de vencimento da conta. |
Reduction | S | O | 1..15 | Abatimento do valor para o pagamento. |
Amount | S | O | 1..15 | Valor para o pagamento. |
Fee | S | O | 1..15 | Multa aplicada ao pagamento. |
TotalAmount | S | O | 1..15 | Valor Total do pagamento somado de multa, juros e subtraído do abatimento e desconto. |
Serviços de Pesquisa
Serviço | API | Envio | Retorno |
---|---|---|---|
Transaction Date Range | GetTransactions | Ver tabela de dados para envio. | Dados completos do filtro realizado. |
Transaction Date Range (Summary) | GetTransactionsSummary | Ver tabela de dados para envio. | Dados resumidos do filtro realizado. |
Transaction Status | GetTransactionsStatus | Array of UniqueId | Status de cada UniqueId enviado. |
Transaction Array of Ids (Summary) | GetTransactionsSummary | Array of UniqueId | Dados resumidos de cada UniqueId enviado. |
Tabela de Valores de Códigos e Descrições para Domínio
Ponto de Captura
Nome do Campo | Código | Descrição |
---|---|---|
Status | 01 | Não Liberado para Instalação “SetupNotAllowed” |
02 | Liberado para Instalação “ReadyForSetup” | |
03 | Instalado (valor informativo) “SetupOk” | |
04 | Inativo “Disabled” | |
05 | Transacionando (valor informativo) “Transacting” | |
CardEntryMode | 01 | Digitado - “Manual” |
02 | Tarja Magnética - “Magstripe” | |
03 | Chip Com Contato - “ContactChip” | |
04 | Chip Sem Contato - “ContactlessChip” | |
05 | Fallback - “MagStripeFallback” | |
06 | FallBack Digitado - “ManualFallback” | |
CardType | 01 | Crédito – “Credit” |
02 | Débito – “Debit” | |
04 | Voucher – “Voucher” | |
08 | Outros – “Other” | |
FinancingType | 01 | À Vista - “1Installment” |
02 | Parcelado Emissor - “IssuerPlan” | |
03 | Parcelado Estabelecimento - “MerchantPlan” | |
04 | Pré Datado - “Postponed” |
Dados Comuns
Status | 01 | Habilitado ou Ativo – “Enabled” |
02 | Desabilitado ou Inativo – “Disabled” | |
AuthorizerStatus | 01 | Pendente de Confirmação |
02 | Confirmação em Curso | |
03 | Confirmação OK | |
04 | Pendente de Desfazimento | |
05 | Desfazimento em Curso | |
06 | Desfazimento OK | |
07 | Transação em Curso | |
08 | Transação OK | |
09 | Advice Pendente | |
10 | Advice em Curso | |
11 | Advice OK | |
12 | Não Enviar Advice | |
POSType | 1 | Pay&Go |
2 | LibC | |
3 | POS Muxx | |
POSApplication | 1 | Pay&Go |
2 | Site | |
3 | Agendador | |
4 | WinDLL32 | |
5 | iWL25x | |
TT22 | iCT22x | |
TT9E | EFT930 S-GME | |
TT32 | Windows 32bits | |
6 | LibVerti | |
7 | POS Windows | |
8 | Android | |
Authorizer | 01 | ELAVON |
02 | CONDUCTOR | |
03 | BIN | |
04 | RV | |
05 | FIRSTDATA CORBAN | |
06 | FILLIP | |
07 | LIBERCARD | |
08 | CIELO | |
09 | REDE | |
10 | CREDSYSTEM | |
11 | INFOCARDS | |
12 | NDDCARGO | |
13 | GLOBAL | |
14 | VERO | |
AuthorizationType | 01 | Online |
02 | Offline | |
CardHolderVerificationFlags | 01 | Assinatura do portador requerida. |
02 | Senha do portador verificada off-line. | |
04 | Senha offline do portador foi bloqueada na última apresentação inválida. | |
08 | Senha do portador capturada para verificação online. | |
CardSecCodeEntryMode | 00 | Não Solicitado |
01 | Capturado | |
02 | Ilegível | |
03 | Não Possui | |
RequestMode | 01 | Solicitação Automática |
02 | Solicitação Manual | |
CardEntryMode | 01 | Digitado |
02 | Tarja magnética | |
04 | Chip com contato | |
08 | Chip sem contato | |
16 | Fallback de chip para tarja | |
32 | Chip sem contato simulando tarja | |
64 | Chip sem contato EMV | |
128 | Transação necessita de fallback | |
256 | Fallback de tarja para digitado | |
CardType | 01 | Crédito |
02 | Débito | |
04 | Voucher | |
08 | Outros | |
FinancingType | 01 | À Vista |
02 | Parcelado pelo Emissor | |
04 | Parcelado pelo Estabelecimento | |
08 | Pré-Datado | |
BarCodeEntryMode | 01 | Lido |
02 | Digitado |
TransactionStatus
Decimal | Hexa | Descrição |
---|---|---|
0 | 00000 | Em Curso |
1 | 00001 | Sucesso |
2 | 00002 | Falha |
3 | 00003 | Cancelada |
273 | 00111 | Pendente Normal |
529 | 00211 | Pendente Reinstalação |
785 | 00311 | Pendente de Dados |
289 | 00121 | Confirmação Automática |
4641 | 01221 | Confirmação Manual Ponto de Captura |
8737 | 02221 | Confirmação Manual Central |
12833 | 03221 | Confirmação Manual Automação |
65841 | 10131 | Desfeita Automática Falha Impressão |
131377 | 20131 | Desfeita Automática Falha Liberação |
4657 | 01231 | Desfeita Manual Ponto de Captura |
8753 | 02231 | Desfeita Manual Central |
12849 | 03231 | Desfeita Manual Automação |
196913 | 30131 | Desfeita Auto Cliente |
262449 | 40131 | Desfeita Auto Abort |
201009 | 31131 | Desfeita Automática Falha Comunicação Servidor |
332081 | 51131 | Desfeita Automática Falha Comunicação PINpad |
397617 | 61131 | Desfeita Automática Negado Finish Chip EMV |
528689 | 81131 | Desfeita Automática Falta de Energia |
659761 | A1131 | Desfeita Automática Cartão Chip Removido |
78129 | 13131 | Desfeita Automação Falha Impressão |
143665 | 23131 | Desfeita Automação Falha Liberação |
209201 | 33131 | Desfeita Automação Falha Comunicação |
274737 | 43131 | Desfeita transação Interrompida |
459057 | 70131 | Desfeita Automação Outro Motivo |
536881 | 83131 | Desfeita Automação Falta de Energia |
602417 | 93131 | Desfeita Automação Falha Registro Sistema Fiscal |
TransactionType
Decimal | Hexa | Descrição |
---|---|---|
0 | 0000 | Nulo |
1 | 0001 | Instalação |
2 | 0002 | Atualização Parâmetros |
16 | 0010 | Reimpressão Último Comprovante |
17 | 0011 | Relatório das Últimas Transações |
18 | 0012 | Relatório Detalhado |
19 | 0013 | Reimpressão Específico da Rede |
20 | 0014 | Teste de Comunicação Específico |
21 | 0015 | Relatório Resumido |
32 | 0020 | Administrativa |
33 | 0021 | Venda |
34 | 0022 | Cancelamento |
35 | 0023 | Recarga |
36 | 0024 | Consulta Cheque |
37 | 0025 | Consulta Saldo Estabelecimento |
38 | 0026 | Consulta Saldo Cartão |
39 | 0027 | Inicialização |
40 | 0028 | Fechamento |
41 | 0029 | Pré-Autorização |
42 | 002A | Cancelamento Pré-Autorização |
43 | 002B | Saque |
44 | 002C | Baixa Técnica |
45 | 002D | Consulta Taxa Financiamento |
46 | 002E | Verificação de Endereço |
47 | 002F | Venda Pré-Autorizada |
48 | 0030 | Acumulo de Pontos |
49 | 0031 | Cancelamento Acúmulo de Pontos |
50 | 0032 | Resgate de Pontos |
51 | 0033 | Cancelamento de Resgate de Pontos |
52 | 0034 | Pagamento de Conta |
53 | 0035 | Consulta Documento de Cobrança |
54 | 0036 | Logon |
55 | 0037 | Busca de Pré-Autorização |
56 | 0038 | Adicional de Pré-Autorização |
57 | 0039 | Estorno |
64 | 0040 | Estatísticas |
65 | 0041 | Pagamento Cartão |
68 | 0044 | Cancelamento Pagamento Cartão |
69 | 0045 | Cancelamento Saque |
70 | 0046 | Desbloqueio Cartão |
71 | 0047 | Consulta Transação |
72 | 0048 | Atualiza Chip EMV |
73 | 0049 | Relatório Promocional |
74 | 004A | Resumo de Vendas |
75 | 004B | Crediário |
124 | 007C | Aviso |
125 | 007D | Confirmação |
126 | 007E | Desfazimento |
128 | 0080 | Flag Resposta |
129 | 0081 | Resposta Instalação |
130 | 0082 | Resposta Atualização de Parâmetros |
144 | 0090 | Resposta Reimpressão Último Comprovante |
145 | 0091 | Resposta Relatório das Últimas Transações |
146 | 0092 | Resposta Relatório Detalhado |
147 | 0093 | Resposta Reimpressão Específico da Rede |
148 | 0094 | Resposta Teste de Comunicação Específico |
160 | 00A0 | Resposta Administrativa |
161 | 00A1 | Resposta Venda |
162 | 00A2 | Resposta Cancelamento |
163 | 00A3 | Resposta Recarga |
164 | 00A4 | Resposta Consulta Cheque |
165 | 00A5 | Resposta Consulta Saldo Estabelecimento |
166 | 00A6 | Resposta Consulta Saldo Cartão |
167 | 00A7 | Resposta Inicialização |
168 | 00A8 | Resposta Fechamento |
169 | 00A9 | Resposta Pré-Autorização |
170 | 00AA | Resposta Cancelamento Pré-Autorização |
171 | 00AB | Resposta Saque |
172 | 00AC | Resposta Baixa Técnica |
173 | 00AD | Resposta Consulta Taxa de Financiamento |
174 | 00AE | Resposta Verificação de Endereço |
175 | 00AF | Resposta Venda Pré-Autorizada |
176 | 00B0 | Resposta Acúmulo de Pontos |
177 | 00B1 | Resposta Cancelamento Acúmulo de Pontos |
178 | 00B2 | Resposta Resgate de Pontos |
179 | 00B3 | Resposta Cancelamento Resgate de Pontos |
180 | 00B4 | Resposta Pagamento de Conta |
181 | 00B5 | Resposta Consulta Documento Cobrança |
182 | 00B6 | Resposta Logon |
183 | 00B7 | Resposta Pré-Autorização Busca |
184 | 00B8 | Resposta Pré-Autorização Adicional |
185 | 00B9 | Resposta Estorno |
192 | 00C0 | Resposta Estatística |
193 | 00C1 | Resposta Pagamento Cartão |
196 | 00C4 | Resposta Cancelamento Pagamento Cartão |
197 | 00C5 | Resposta Cancelamento de Saque |
198 | 00C6 | Resposta Desbloqueio de Cartão |
199 | 00C7 | Resposta Consulta Transação |
200 | 00C8 | Resposta Atualiza Chip EMV |
201 | 00C9 | Resposta Relatório Promocional |
202 | 00CA | Resposta Resumo de Vendas |
Agrupamentos e Opções
<?xml version="1.0" encoding="ISO-8859-1"?>
<RequestTransactionMerchantGroupRegistration version="">
<authentication>
<login></login>
<password></password>
<externalLoginName></externalLoginName>
</authentication>
<MerchantGroups>
<MerchantGroup>
<Identifier xmlns="http://tempuri.org/"></Identifier>
<Name xmlns="http://tempuri.org/"></Name>
<Options xmlns="http://tempuri.org/">
<Option>
<Identifier></Identifier>
<Name></Name>
<Restrictive>true</Restrictive>
</Option>
<Option>
<Identifier></Identifier>
<Name></Name>
<Restrictive>true</Restrictive>
</Option>
</Options>
</MerchantGroup>
</MerchantGroups>
<Error>
<Number></Number>
<Description></Description>
</Error>
</RequestTransactionMerchantGroupRegistration>
Tipos de Dados
Campo | Tipo | PUT | POST | GET | DELETE | Tam. | Descrição |
---|---|---|---|---|---|---|---|
MerchantGroup/Name | S | M | M | X | X | 1..50 | Nome do Agrupamento |
Name Identifier | N | M | R | M | M | 1..4 | Identificador Agrupamento. Será devolvido na resposta da inclusão do registro. |
Option/Name | S | M/C | M/C | X | X | 1..50 | Nome da Opção |
Option/Restrictive | B | M/C | M/C | X | X | Caso a opção do agrupamento seja restritiva, ou seja, restrinja a visualização dos dados por outros grupos, enviar [TRUE] | |
Option Identifier | N | M/C | R/C | X | M/C | 1..4 | Identificador Opção. Será devolvido na resposta da inclusão do registro. |
Entidade
<?xml version="1.0" encoding="ISO-8859-1"?>
<RequestTransactionCompanyRegistration version="1.0.0.0" id="">
<authentication>
<login></login>
<password></password>
<externalLoginName></externalLoginName>
</authentication>
<Company>
<LegalName></LegalName>
<TradeName></TradeName>
<Notes></Notes>
<Individual></Individual>
<PerformsTransactions></PerformsTransactions>
<DisplayName></DisplayName>
<TaxId></TaxId>
<City></City>
<State></State>
<Country></Country>
<PostalCode></PostalCode>
<MerchantGroup>
<Name></Name>
<Option>
<Option>
<Name></Name>
</Option>
<Option>
<Name></Name>
</Option>
</Option>
</MerchantGroup>
</Company>
<Error>
<Number></Number>
<Description></Description>
</Error>
</request>
Tipos de Dados
Campo | Tipo | PUT | POST | GET | DELETE | Tam. | Descrição |
---|---|---|---|---|---|---|---|
LegalName | S | M | M | X | X | 1..200 | Razão Social da empresa ou Nome do cadastrado no caso de ser pessoa física |
TradeName | S | C | C | X | X | 1..100 | Caso se trate de empresa, o campo é obrigatório nas requisições marcadas com C. |
Notes | S | O | O | X | X | 1..250 | Observações pertinentes da entidade. |
Individual | B | M | M | X | X | Se a entidade for pessoa física setar [TRUE], caso contrário, [FALSE]. | |
PerformsTransactions | B | M | M | X | X | Caso a entidade capture transações, enviar [TRUE], caso contrário, [FALSE]. | |
DisplayName | S | C | C | X | X | 1..13 | Caso a entidade capture transações, o campo é obrigatório nas requisições marcadas com C. |
TaxId | S | M | M | M | M | 1..18 | Enviar o CPF caso se trate de pessoa física, enviar CNPJ caso seja empresa. Formatar com ou sem barras, traços ou pontos. |
City | S | M | M | O | O | 1..100 | Cidade em que a entidade se encontra. |
State | S | M | M | O | O | 2 | UF em que a entidade se encontra. |
Country | S | M | M | O | O | 2 | Sigla do país em que a entidade se encontra. |
PostalCode | S | M | M | O | O | 9 | CEP em que a entidade se encontra. |
Updated about 1 month ago