6. 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.

6.1 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_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:

NomeValorDescrição
PWOPER_NULL00hTesta comunicação com a infraestrutura do PayGo.
PWOPER_INSTALL01hRegistra o Ponto de Captura perante a infraestrutura do PayGo, para que seja autorizado a realizar transações.
PWOPER_PARAMUPD02hObtém da infraestrutura do PayGo os parâmetros de operação atualizados do Ponto de Captura.
PWOPER_REPRINT10hObtém o último comprovante gerado por uma transação.
PWOPER_RPTTRUNC11hObtém um relatório sintético das transações realizadas desde a última obtenção deste relatório.
PWOPER_RPTDETAIL12hRelatório detalhado das transações realizadas na data informada, ou data atual.
PWOPER_REPRNTNTRANSACTION13hRealiza uma reimpressão de qualquer transação.
PWOPER_COMMTEST14hRealiza um teste de comunicação com o Provedor.
PWOPER_RPTSUMMARY15hRealiza um Relatório resumido das transações realizadas na data informada, ou data atual.
PWOPER_TRANSACINQ16hRealiza uma consulta de uma transação.
PWOPER_ROUTINGINQ17hRealiza uma consulta de roteamento.
PWOPER_ADMIN20hAcessa 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_SALE21h(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_SALEVOID22h(Cancelamento de venda) Cancela uma transação PWOPER_SALE, realizando a transferência de fundos inversa.
PWOPER_PREPAID23hRealiza a aquisição de créditos pré-pagos (por exemplo, recarga de celular).
PWOPER_CHECKINQ24hConsulta a validade de um cheque papel.
PWOPER_RETBALINQ25hConsulta o saldo/limite do Estabelecimento (tipicamente, limite de crédito para venda de créditos pré-pagos).
PWOPER_CRDBALINQ26hConsulta o saldo do cartão do Cliente.
PWOPER_INITIALIZ27h(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_SETTLEMNT28h(Fechamento/finalização) Finaliza a operação junto ao Provedor.
PWOPER_PREAUTH29h(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_PREAUTVOID2Ah(Cancelamento de pré-autorização) Cancela uma transação PWOPER_PREAUTH, liberando o valor reservado no limite do cartão de crédito.
PWOPER_CASHWDRWL2Bh(Saque) Registra a retirada de um valor em espécie pelo Cliente no Estabelecimento, para transferência de fundos nas respectivas contas.
PWOPER_LOCALMAINT2Ch(Baixa técnica) Registra uma intervenção técnica no estabelecimento perante o Provedor.
PWOPER_FINANCINQ2DhConsulta 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_ADDRVERIF2EhVerifica junto ao Provedor o endereço do Cliente.
PWOPER_SALEPRE2FhEfetiva uma pré-autorização (PWOPER_PREAUTH), previamente realizada, realizando a transferência de fundos entre as contas do Estabelecimento e do Cliente.
PWOPER_LOYCREDIT30hRegistra o acúmulo de pontos pelo Cliente, a partir de um programa de fidelidade.
PWOPER_LOYCREDVOID31hCancela uma transação PWOPER_LOYCREDIT.
PWOPER_LOYDEBIT32hRegistra o resgate de pontos/prêmio pelo Cliente, a partir de um programa de fidelidade.
PWOPER_LOYDEBVOID33hCancela uma transação PWOPER_LOYDEBIT.
PWOPER_BILLPAYMENT34hRealiza um pagamento de conta/boleto/fatura.
PWOPER_DOCPAYMENTQ35hRealiza uma consulta de documento de cobrança.
PWOPER_LOGON36hRealiza uma operação de logon no servidor.
PWOPER_SRCHPREAUTH37hRealiza uma busca de pré-autorização.
PWOPER_ADDPREAUTH38hRealiza uma alteração no valor de uma pré-autorização.
PWOPER_VOID39hExibe um menu com os cancelamentos disponíveis, caso só exista um tipo, este é selecionado automaticamente.
PWOPER_STATISTICS40hRealiza uma transação de estatísticas.
PWOPER_CARDPAYMENT41hRealiza um pagamento de cartão de crédito.
PWOPER_CARDPAYMENTVOID44hCancela uma transação PWOPER_CARDPAYMENT.
PWOPER_CASHWDRWLVOID45hCancela uma transação PWOPER_CASHWDRWL.
PWOPER_CARDUNLOCK46hRealiza um desbloqueio de cartão.
PWOPER_UPDATEDCHIP48hRealiza uma atualização no chip do cartão.
PWOPER_RPTPROMOTIONAL49hRealiza uma transação de relatório promocional.
PWOPER_SALESUMMARY4AhImprime um resumo das transações de vendas.
PWOPER_STATISTICSAUTHORIZER4BhRealiza uma estatística específica do autorizador.
PWOPER_OTHERADMIN4ChRealiza uma transação administrativa especificada pelo autorizador.
PWOPER_BILLPAYMENTVOID4EhCancela uma transação PWOPER_BILLPAYMENT.
PWOPER_TSTKEYF0hTeste de chaves de criptografia do pinpad
PWOPER_COMMONDATAFAhRealiza 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_SHOWPDCFBhExibe o ponto de captura configurado.
PWOPER_VERSIONFCh(Versão) Permite consultar a versão da biblioteca atualmente em uso.
PWOPER_CONFIGFDh(Configuração) Visualiza e altera os parâmetros de operação locais da biblioteca.
PWOPER_MAINTENANCEFEh

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.
NomeDescrição
PWINFO_AUTNAMENome do aplicativo de Automação.
PWINFO_AUTVERVersão do aplicativo de Automação.
PWINFO_AUTDEVEmpresa desenvolvedora da Automação.
PWINFO_AUTCAPCapacidades 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.
PWINFO_TRNORIGDATEData da transação original
PWINFO_TRNORIGNSUNSU da transação original.
PWINFO_TRNORIGAMNTValor da transação original.
PWINFO_TRNORIGAUTHCódigo de autorização da transação original.
PWINFO_TRNORIGTIMEHora 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_AUTO00000121hA transação foi confirmada pelo Ponto de Captura, sem intervenção do usuário.
PWCNF_CNF_MANU_AUT00003221hA transação foi confirmada manualmente na Automação.
PWCNF_REV_MANU_AUT00003231hA transação foi desfeita manualmente na Automação.
PWCNF_REV_PRN_AUT00013131hA 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_AUT00023131hA transação foi desfeita pela Automação, devido a uma falha no mecanismo de liberação da mercadoria.
PWCNF_REV_COMM_AUT00033131hA 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_ABORT00043131hA transação não foi finalizada, foi interrompida durante a captura de dados.
PWCNF_REV_OTHER_AUT00073131hA transação foi desfeita a pedido da Automação, por um outro motivo não previsto.
PWCNF_REV_PWR_AUT00083131hA transação foi desfeita automaticamente pela Automação, devido a uma queda de energia (reinício abrupto do sistema).
PWCNF_REV_FISC_AUT00093131hA 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:

NomeTipoDescrição
bOperTypeByteTipo da operação (PWOPTYPE_XXX).
szTextchar[]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.
szValuechar[]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:

NomeValorDescrição
PWOPTYPE_ADMIN1Todas 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_SALE2Operaçõ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:

NomeTipoDescrição
bOperTypeByteTipo da operação (PWOPTYPE_XXX).
szOperNamechar[]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.
szAuthSistchar[]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.
szValuechar[]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.
fAuthPreferentialBoolSinaliza, 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:

NomeValorDescrição
PWOPTYPE_ADMIN1Todas 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_SALE2Operaçõ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.

6.2 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”

6.2.1 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”)

6.2.2 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”).

6.2.3 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:

IdentificadorMensagem apresentada
1DIGITE O DDD
2REDIGITE O DDD
3DIGITE O TELEFONE
4REDIGITE O TELEFONE
5DIGITE DDD+TELEFONE
6REDIGITE DDD+TELEFONE
7DIGITE O CPF
8REDIGITE O CPF
9DIGITE O RG
10REDIGITE O RG
11DIGITE OS 4 ULTIMOS DIGITOS
12DIGITE 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):

ConstanteValorEvento
PWPPEVTIN_KEYS1Acionamento de teclas
PWPPEVTIN_MAG2Passagem de cartão magnético
PWPPEVTIN_ICC4Presença de cartão com chip.
PWPPEVTIN_CTLS8Aproximação de um cartão sem contato.
PWPPEVTIN_ICCOUT16Ausê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”).

ConstanteValorDefinição
PWPPEVT_MAGSTRIPE01hFoi passado um cartão magnético.
PWPPEVT_ICC02hFoi detectada a presença de um cartão com chip.
PWPPEVT_CTLS03hFoi detectada a presença de um cartão sem contato.
PWPPEVT_ICCOUT04hFoi detectada a ausência de um cartão com chip.
PWPPEVT_KEYCONF11hFoi pressionada a tecla [OK].
PWPPEVT_KEYBACKSP12hFoi pressionada a tecla [CORRIGE].
PWPPEVT_KEYCANC13hFoi pressionada a tecla [CANCELA].
PWPPEVT_KEYF121hFoi pressionada a tecla [F1].
PWPPEVT_KEYF222hFoi pressionada a tecla [F2].
PWPPEVT_KEYF323hFoi pressionada a tecla [F3].
PWPPEVT_KEYF424hFoi 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).

6.3 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:

ElementoElemento “pai”Descrição
RequestTransactionHistory-Elemento raiz do arquivo XML.
authenticationRequestTransactionHistoryElemento que agrupa os dados necessários para autenticação no sistema.
loginauthenticationUsuário utilizado para autenticação.
passwordauthenticationSenha utilizada para autenticação.
QueryFilterRequestTransactionHistoryElemento que agrupa os filtros utilizados na consulta de transações.
TransactionAuthorizerQueryFilterAutorizador para o qual se deseja fazer a consulta.
TransactionStartDateQueryFilterData de início da consulta no formato “DD/MM/AAAA HH:MM:SS”.
TransactionEndDateQueryFilterData de fim da consulta no formato “DD/MM/AAAA HH:MM:SS”.
ArrayOfTransactionTypeQueryFilterElemento que agrupa os tipos de transação que se deseja consultar.
TransactionTypeArrayOfTransactionTypeTipo de transação para o qual se deseja fazer a consulta (bOper utilizado na função PW_iNewTransac).
ArrayOfTransactionStatusQueryFilterElemento que agrupa os status das transações que se deseja consultar.
TransactionStatusArrayOfTransactionStatusStatus de transação para o qual se deseja fazer a consulta (289 para transações aprovadas).
ErrorRequestTransactionHistory-
NumberError-
DescriptionError-

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:

ElementoElemento “pai”Descrição
TransactionsRequestTransactionHistoryElemento que agrupa as transações resultado da consulta.
TransactionTransactionsElemento que agrupa as informações de uma transação.
-TransactionO 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>

6.4 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>

6.4.1 Considerações Iniciais

Dado Obrigatório (Mandatório)M
Dado OpcionalO
Dado EcoadoE
StringS
Interio (Int)I
BooleanoB
Devolvido na respostaR
Ausente/Não necessárioX
CondicionalC

6.4.2 Tipos de Dados

                                                                   ** QueryFilter Node** 
CampoTipoGETTam.Descrição
AuthorizerStatusSO1..2Status da Transação perante ao Autorizador.
[Veja Valores de Domínio em 1.1.1.1. Dados Comuns]
MerchantLegalNameSO1..200Razão Social da empresa ou Nome do cadastrado no caso de ser pessoa física.
MerchantTradeNameSO1..100Nome Fantasia da Empresa.
MerchantTaxIDSO1..18Enviar o CPF caso se trate de pessoa física, enviar CNPJ caso seja empresa.
POSIdentifierSO1..15Identificador do ponto de captura.
POSTypeSO1..50Descrição do ponto de captura.
[Veja Valores de Domínio em 1.1.1.1. Dados Comuns]
POSApplicationSO1..20Código da aplicação.
OBS: Na resposta retorna a descrição.
[Veja Valores de Domínio em 1.1.1.1. Dados Comuns]
POSApplicationVersionSO1..20Descrição da versão.
ReqNumSO1..20Número da Transação gerado pelo Ponto de Captura.
ArrayOfUniqueIdSO1..20Lista 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.
InternalLocalReferenceSO1..20Número único da transação no sistema PayGo por afiliação.
ArrayOfTransactionTypeSO1..100Lista de identificadores de Tipo da Transação.
[Veja Valores de Domínio em 1.1.1.1. Dados Comuns]
TransactionAuthorizerSO1..50Sistema Autorizador
Veja Valores de Domínio.
TransactionProductNameSO1..50Nome do Produto
ArrayOfTransactionStatusSO1..10Lista de identificadores da Situação da Transação no PayGo.
[Veja Valores de Domínio em 1.1.1.1. Dados Comuns]
TransactionStartDateSO1..14Data e Hora inicial para filtro das transações.
TransactionEndDateSO1..14Data e Hora inicial para filtro das transações.
AuthorizerStatusSO1..50Situação da transação com o Autorizador.
[Veja Valores de Domínio em 1.1.1.1. Dados Comuns]
LastUniqueIdSearchedSO1..20Para busca parciais informar qual o último DatabaseId retornado na última consulta.
                                                             ** Transaction Node** 
CampoTipoGETTam.Descrição
UniqueIdSM1..20Nú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.
ReqNumSM1..20Número da Transação gerado pelo Ponto de Captura.
InternalLocalReferenceSM1..20Número único da transação no sistema PayGo por afiliação.
OriginalTransactionReqNumSO1..20No 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.
AuthorizerExternalReferenceSM1..20Número da transação para rede autorizadora.
StatusSM1..20Situação da Transação no PayGo.
Veja Valores de Domínio.
POSTimestampSM14Data e Hora da Transação. (Formato)
TypeSM1..50Tipo da Transação
Veja Valores de Domínio.
AmountSM1..50Valor da Transação.
DiscountSO1..50Valor do Desconto.
CashbackSO1..50Valor do Saque.
AuthorizerNameSM1..50Nome Autorizador.
AuthorizerCodeSM1..10Código do Autorizador.
AuthorizerStatusSM1..20Situação da Transação perante ao Autorizador.
AuthorizationCodeSO1..6Código de Autorização.
AuthorizationTypeSO1..20Modalidade de Autorização
Veja Valores de Domínio.
ProductCodeSO1..20Código do Produto.
ProductNameSO1..50Nome do Produto.
ResultCodeSM1..4Resultado da Transação.
ResultMessageSM1..80Mensagem informativa do resultado da Transação.
ServerTimestampSM1..14Horário do Servidor da Transação.
AffiliationNumberSM1..50Código de Afiliação que foi usado na transação.
ProcessingCodeSM1..10Código de Processamento.
ResponseCodeSM1..10Código de Resposta do Autorizador
ResponseMessageSM1..300Mensagem de Resposta do Autorizador
FullReceiptCopySO1.10000Comprovante. Via completa.
AuthorizationTimestampSO1..14Data e Hora da autorização da transação.
CurrencyExponentSM1..20Expoente da Moeda. Segundo Norma ISO4217.
CurrencyCodeSO1..3Código da Moeda. Segundo Norma ISO4217.
CurrencySymbolSO1..3Símbolo da Moeda. Segundo Norma ISO4217.
TaxIdentifierSO1..12Identificador do documento fiscal
CardHolderVerificationFlagsSM1..2Método de Verificação do Portador do Cartão.
Veja Valores de Domínio.
CardSecCodeEntryModeSO1..2Modo Entrada do Código de Segurança do Cartão.
Veja Valores de Domínio.
AdditionalDataArraySO1..nDados Adicionais enviados pelo ponto de captura. Cada dado adicional tem um limite de 100 caracteres.
                                  **                             TransactionDetailsNode** 
CampoTipoGETTam.Descrição
SpecificationVersionSM1..20Versão da especificação do módulo do sistema de autorização.
RequestModeSM1..20Indica o modo da solicitação
Veja Valores de Domínio.
RequestPurposeSM1..30Indica o motivo do modo da solicitação
OperatingSystemSO1..128Versão do sistema operacional do ponto de captura
ComputerNameSO1..128Nome do computador do ponto de captura.
ComputerUserNameSO1..128Nome do usuário do computador do ponto de captura
LoginSM1..80Indica 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 SO1..20Número de Série do PinPad do Ponto de Captura.
SerialNumberSO1..19Versão do Modelo do PinPad
ModelVersionSO1..19Modelo do PinPad
ModelS1..20Versão do Firmware do PinPad.
FirmwareVersionSO1..4Versão da Especificação do PinPad.
SpecificationVersionSO
CardData Node
CardBrandSO1..1Bandeira do Cartão.
CardBINSO1..6BIN do Cartão.
EntryModeSO1..20Modo de entrada do cartão permitido no PtoCapturaFisico.
Valores Domínio
Veja Valores de Domínio.
TypeO1..20Tipo do cartão permitido no PtoCapturaFisico.
MaskedCardNumberSO1..20Número do Cartão Mascarado.
CardNameSO1..99Nome do Cartão
CardHolderNameSO1..99Nome do portador do Cartão.
ExpirationDateSO1..4Data 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
TypeSO1..25Tipo do financiamento.
Veja Valores de Domínio.
DueDateSO1..14Data do pré-datado.
InstallmentsNumberSO1..2Número de Parcelas
RetailAutomationDetails Node
CapabilitiesSO1..4Capacidades da automação comercial.
CompanySO1..50Empresa desenvolvedora do aplicativo de automação comercial.
NameSO1..128Nome do aplicativo de automação comercial.
VersionSO1..128Versão do aplicativo de automação comercial.
                                                            **Transaction Specifics Details Nodes**
                                                                            TopUpData Node
CampoTipoGETTam.Descrição
AreaCodeSO1...3DDD do Telefone em que foi efetuada a recarga.
MaskedPhoneNumberSO1...9Número do telefone, sem o DDD (8 ou 9 dígitos).
BankingAgentData Node
BarCodeSO
DueDateSO1..14Código de Barras do Pagamento de Contas.
EntryModeSO1..2Modo de Entrada do Código de Barras.
Veja Valores de Domínio.
DiscountSO1..15Data de vencimento da conta.
ReductionSO1..15Abatimento do valor para o pagamento.
AmountSO1..15Valor para o pagamento.
FeeSO1..15Multa aplicada ao pagamento.
TotalAmountSO1..15Valor Total do pagamento somado de multa, juros e subtraído do abatimento e desconto.

6.4.3 Serviços de Pesquisa

ServiçoAPIEnvioRetorno
Transaction Date RangeGetTransactionsVer tabela de dados para envio.Dados completos do filtro realizado.
Transaction Date Range (Summary)GetTransactionsSummaryVer tabela de dados para envio.Dados resumidos do filtro realizado.
Transaction StatusGetTransactionsStatusArray of UniqueIdStatus de cada UniqueId enviado.
Transaction Array of Ids (Summary)GetTransactionsSummaryArray of UniqueIdDados resumidos de cada UniqueId enviado.

6.4.4 Tabela de Valores de Códigos e Descrições para Domínio

Ponto de Captura

Nome do CampoCódigoDescrição
Status 01Não Liberado para Instalação
“SetupNotAllowed”
02Liberado para Instalação
“ReadyForSetup”
03Instalado (valor informativo)
“SetupOk”
04Inativo
“Disabled”
05Transacionando (valor informativo)
“Transacting”
CardEntryMode01Digitado - “Manual”
02Tarja Magnética - “Magstripe”
03Chip Com Contato - “ContactChip”
04Chip Sem Contato - “ContactlessChip”
05Fallback - “MagStripeFallback”
06FallBack Digitado - “ManualFallback”
CardType 01Crédito – “Credit”
02Débito – “Debit”
04Voucher – “Voucher”
08Outros – “Other”
FinancingType 01À Vista - “1Installment”
02Parcelado Emissor - “IssuerPlan”
03Parcelado Estabelecimento - “MerchantPlan”
04Pré Datado - “Postponed”

1.1.1.1. Dados Comuns

Status 01Habilitado ou Ativo – “Enabled”
02Desabilitado ou Inativo – “Disabled”
AuthorizerStatus 01Pendente de Confirmação
02Confirmação em Curso
03Confirmação OK
04Pendente de Desfazimento
05Desfazimento em Curso
06Desfazimento OK
07Transação em Curso
08Transação OK
09Advice Pendente
10Advice em Curso
11Advice OK
12Não Enviar Advice
POSType 1Pay&Go
2LibC
3POS Muxx
POSApplication 1Pay&Go
2Site
3Agendador
4WinDLL32
5iWL25x
TT22iCT22x
TT9EEFT930 S-GME
TT32Windows 32bits
6LibVerti
7POS Windows
8Android
Authorizer 01ELAVON
02CONDUCTOR
03BIN
04RV
05FIRSTDATA CORBAN
06FILLIP
07LIBERCARD
08CIELO
09REDE
10CREDSYSTEM
11INFOCARDS
12NDDCARGO
13GLOBAL
14VERO
AuthorizationType 01Online
02Offline
CardHolderVerificationFlags 01Assinatura do portador requerida.
02Senha do portador verificada off-line.
04Senha offline do portador foi bloqueada na última apresentação inválida.
08Senha do portador capturada para verificação online.
CardSecCodeEntryMode 00Não Solicitado
01Capturado
02Ilegível
03Não Possui
RequestMode 01Solicitação Automática
02Solicitação Manual
CardEntryMode 01Digitado
02Tarja magnética
04Chip com contato
08Chip sem contato
16Fallback de chip para tarja
32Chip sem contato simulando tarja
64Chip sem contato EMV
128Transação necessita de fallback
256Fallback de tarja para digitado
CardType 01Crédito
02Débito
04Voucher
08Outros
FinancingType 01À Vista
02Parcelado pelo Emissor
04Parcelado pelo Estabelecimento
08Pré-Datado
BarCodeEntryMode 01Lido
02Digitado

TransactionStatus

DecimalHexaDescrição
000000Em Curso
100001Sucesso
200002Falha
300003Cancelada
27300111Pendente Normal
52900211Pendente Reinstalação
78500311Pendente de Dados
28900121Confirmação Automática
464101221Confirmação Manual Ponto de Captura
873702221Confirmação Manual Central
1283303221Confirmação Manual Automação
6584110131Desfeita Automática Falha Impressão
13137720131Desfeita Automática Falha Liberação
465701231Desfeita Manual Ponto de Captura
875302231Desfeita Manual Central
1284903231Desfeita Manual Automação
19691330131Desfeita Auto Cliente
26244940131Desfeita Auto Abort
20100931131Desfeita Automática Falha Comunicação Servidor
33208151131Desfeita Automática Falha Comunicação PINpad
39761761131Desfeita Automática Negado Finish Chip EMV
52868981131Desfeita Automática Falta de Energia
659761A1131Desfeita Automática Cartão Chip Removido
7812913131Desfeita Automação Falha Impressão
14366523131Desfeita Automação Falha Liberação
20920133131Desfeita Automação Falha Comunicação
27473743131Desfeita transação Interrompida
45905770131Desfeita Automação Outro Motivo
53688183131Desfeita Automação Falta de Energia
60241793131Desfeita Automação Falha Registro Sistema Fiscal

TransactionType

DecimalHexaDescrição
00000Nulo
10001Instalação
20002Atualização Parâmetros
160010Reimpressão Último Comprovante
170011Relatório das Últimas Transações
180012Relatório Detalhado
190013Reimpressão Específico da Rede
200014Teste de Comunicação Específico
210015Relatório Resumido
320020Administrativa
330021Venda
340022Cancelamento
350023Recarga
360024Consulta Cheque
370025Consulta Saldo Estabelecimento
380026Consulta Saldo Cartão
390027Inicialização
400028Fechamento
410029Pré-Autorização
42002ACancelamento Pré-Autorização
43002BSaque
44002CBaixa Técnica
45002DConsulta Taxa Financiamento
46002EVerificação de Endereço
47002FVenda Pré-Autorizada
480030Acumulo de Pontos
490031Cancelamento Acúmulo de Pontos
500032Resgate de Pontos
510033Cancelamento de Resgate de Pontos
520034Pagamento de Conta
530035Consulta Documento de Cobrança
540036Logon
550037Busca de Pré-Autorização
560038Adicional de Pré-Autorização
570039Estorno
640040Estatísticas
650041Pagamento Cartão
680044Cancelamento Pagamento Cartão
690045Cancelamento Saque
700046Desbloqueio Cartão
710047Consulta Transação
720048Atualiza Chip EMV
730049Relatório Promocional
74004AResumo de Vendas
75004BCrediário
124007CAviso
125007DConfirmação
126007EDesfazimento
1280080Flag Resposta
1290081Resposta Instalação
1300082Resposta Atualização de Parâmetros
1440090Resposta Reimpressão Último Comprovante
1450091Resposta Relatório das Últimas Transações
1460092Resposta Relatório Detalhado
1470093Resposta Reimpressão Específico da Rede
1480094Resposta Teste de Comunicação Específico
16000A0Resposta Administrativa
16100A1Resposta Venda
16200A2Resposta Cancelamento
16300A3Resposta Recarga
16400A4Resposta Consulta Cheque
16500A5Resposta Consulta Saldo Estabelecimento
16600A6Resposta Consulta Saldo Cartão
16700A7Resposta Inicialização
16800A8Resposta Fechamento
16900A9Resposta Pré-Autorização
17000AAResposta Cancelamento Pré-Autorização
17100ABResposta Saque
17200ACResposta Baixa Técnica
17300ADResposta Consulta Taxa de Financiamento
17400AEResposta Verificação de Endereço
17500AFResposta Venda Pré-Autorizada
17600B0Resposta Acúmulo de Pontos
17700B1Resposta Cancelamento Acúmulo de Pontos
17800B2Resposta Resgate de Pontos
17900B3Resposta Cancelamento Resgate de Pontos
18000B4Resposta Pagamento de Conta
18100B5Resposta Consulta Documento Cobrança
18200B6Resposta Logon
18300B7Resposta Pré-Autorização Busca
18400B8Resposta Pré-Autorização Adicional
18500B9Resposta Estorno
19200C0Resposta Estatística
19300C1Resposta Pagamento Cartão
19600C4Resposta Cancelamento Pagamento Cartão
19700C5Resposta Cancelamento de Saque
19800C6Resposta Desbloqueio de Cartão
19900C7Resposta Consulta Transação
20000C8Resposta Atualiza Chip EMV
20100C9Resposta Relatório Promocional
20200CAResposta Resumo de Vendas

6.5 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>

6.5.1 Tipos de Dados

CampoTipoPUTPOSTGETDELETETam.Descrição
MerchantGroup/NameSMMXX1..50Nome do Agrupamento
Name IdentifierNMRMM1..4Identificador Agrupamento. Será devolvido na resposta da inclusão do registro.
Option/NameSM/CM/CXX1..50Nome da Opção
Option/RestrictiveBM/CM/CXXCaso a opção do agrupamento seja restritiva, ou seja, restrinja a visualização dos dados por outros grupos, enviar [TRUE]
Option IdentifierNM/CR/CXM/C1..4Identificador Opção. Será devolvido na resposta da inclusão do registro.

6.6 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>

6.6.1 Tipos de Dados

CampoTipoPUTPOSTGETDELETETam.Descrição
LegalNameSMMXX1..200Razão Social da empresa ou Nome do cadastrado no caso de ser pessoa física
TradeNameSCCXX1..100Caso se trate de empresa, o campo é obrigatório nas requisições marcadas com C.
NotesSOOXX1..250Observações pertinentes da entidade.
IndividualBMMXXSe a entidade for pessoa física setar [TRUE], caso contrário, [FALSE].
PerformsTransactionsBMMXXCaso a entidade capture transações, enviar [TRUE], caso contrário, [FALSE].
DisplayNameSCCXX1..13Caso a entidade capture transações, o campo é obrigatório nas requisições marcadas com C.
TaxIdSMMMM1..18Enviar o CPF caso se trate de pessoa física, enviar CNPJ caso seja empresa. Formatar com ou sem barras, traços ou pontos.
CitySMMOO1..100Cidade em que a entidade se encontra.
StateSMMOO2UF em que a entidade se encontra.
CountrySMMOO2Sigla do país em que a entidade se encontra.
PostalCodeSMMOO9CEP em que a entidade se encontra.

A seguir...