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

Obs.: Não deve-se utilizar diretórios com privilégios altos ou que não são destinadas a isso como os diretórios que ficam em "C:\Program Files (x86)". Recomendamos o seguinte diretório: "C:\ProgramData\PayGo\PGWebLib"

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 para que a automação consiga atualizar.

Essa função deve ser usada APENAS para quando a automação for atualizar, ela não deve ser utilizada sempre. Pois isso pode afetar os tempos das transações.

❗️

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.
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.
NomeDescrição
PWINFO_TOTAMNTValor total da transação.
PWINFO_CURRENCYMoeda.
PWINFO_CURREXPExpoente 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.
NomeDescrição
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.

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_iPPPositiveConfirmation

Esta função é utilizada para realizar a confirmação positiva de um dado, ou um bloco de dados, no pinpad.

👍

Int16 PW_iPPPositiveConfirmation

(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_iPPDisplayImage

Esta função é utilizada para apresentar uma imagem no pinpad.

👍

Int16 PW_iPPDisplayImage

(char *pszImagePath, int *iTimOut, Bool *fWaitKey, int *piKey)

➜** Entradas:**

pszImagePath
Caminho da imagem a ser enviada com o nome e extensão (.jpg; .png; .gif) - Tamanho max do caminho em 100 caracteres.

iTimOut
Tempo de exibição da imagem

fWaitKey
Flag para a função aguardar uma tecla ou não. TRUE (1) - retorna com o acionamento de tecla do PinPad; FALSE (0) - não retorna com acionamento de tecla do PinPad.

➜** Saídas:**

piKey
Tecla acionado mediante retorno de teclado ativo. (Campo anterior TRUE)

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_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). **

Outras funções

Estas funções permitem executar algumas funções fora do fluxo de uma transação. Geralmente, funções de cunho administrativo.

------------------------ Função PW_iTransactionInquiry removida da DOC ---------------------------------------------

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>

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 OpcionalO
Dado EcoadoE
StringS
Interio (Int)I
BooleanoB
Devolvido na respostaR
Ausente/Não necessárioX
CondicionalC

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

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

Status01Habilitado ou Ativo – “Enabled”
02Desabilitado ou Inativo – “Disabled”
AuthorizerStatus01Pendente 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
POSType1Pay&Go
2LibC
3POS Muxx
POSApplication1Pay&Go
2Site
3Agendador
4WinDLL32
5iWL25x
TT22iCT22x
TT9EEFT930 S-GME
TT32Windows 32bits
6LibVerti
7POS Windows
8Android
Authorizer01ELAVON
02CONDUCTOR
03BIN
04RV
05FIRSTDATA CORBAN
06FILLIP
07LIBERCARD
08CIELO
09REDE
10CREDSYSTEM
11INFOCARDS
12NDDCARGO
13GLOBAL
14VERO
AuthorizationType01Online
02Offline
CardHolderVerificationFlags01Assinatura 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.
CardSecCodeEntryMode00Não Solicitado
01Capturado
02Ilegível
03Não Possui
RequestMode01Solicitação Automática
02Solicitação Manual
CardEntryMode01Digitado
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
CardType01Crédito
02Débito
04Voucher
08Outros
FinancingType01À Vista
02Parcelado pelo Emissor
04Parcelado pelo Estabelecimento
08Pré-Datado
BarCodeEntryMode01Lido
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

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

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.

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

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.

-->