5. Funções da Biblioteca

Este capítulo define as funções exportadas pela biblioteca do Pay&Go Web, separadas em duas
categorias:

• Funções de controle do fluxo transacional;
• Funções para interação com o PIN-pad.

5.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 “4.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:

pszWorking

Dir Diretório de trabalho (caminho completo, com final nulo) para uso exclusivo do Pay&Go Web.

➜ 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 “10. 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 Pay&Go Web)
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 Pay&Go Web, 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
Pay&Go Web. 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 “10. 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 Pay&Go Web.
PWOPER_INSTALL01hRegistra o Ponto de Captura perante a infraestrutura do
Pay&Go Web, para que seja autorizado a realizar transações.
PWOPER_PARAMUPD02hObtém da infraestrutura do Pay&Go Web 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_ADMIN20hAcessa qualquer transação que não seja disponibilizada pelo
comando PWOPER_SALE. 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 (tipicamente, com
cartão de crédito/débito), 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_VOID39hExibe um menu com os cancelamentos disponíveis, caso só
exista um tipo, este é selecionado automaticamente.
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(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 Pay&Go Web;
• Capturadas do operador após solicitação pelo Pay&Go Web (retorno PW_MOREDATA por
PW_iExecTransac).

👍

Int16 PW_iAddParam

(Word wParam, const char *pszValue);

➜ Entradas:

wParam
Identificador do parâmetro (PWINFO_xxx, ver lista completa em “9. Dicionário de dados”).

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 (ver página 13).
PWRET_NOTINST........................ É necessário efetuar uma transação de Instalação.
Outro...........................................Outro erro de execução (ver “10. 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 Pay&Go Web, 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 Pay&Go Web, 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 “8.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 “10. 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 mal sucedida, 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 “9. Dicionário de dados”, página 70).

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.
PWRET_NOTINST........................ É necessário efetuar uma transação de Instalação.
Outro...........................................Outro erro de execução (ver “10. Códigos de retorno”)

PW_iConfirmation

Esta função informa ao Pay&Go Web o status final da transação em curso (confirmada ou desfeita).
Consultar “7. 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 Pay&Go Web, 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 “10. Códigos de retorno”)

➜ Observações:

• Caso a chamada a PW_iGetResult para um ou mais do 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:

ConstanteValorDefinição
PWCNF_CNF_AUTO0x00000121A transação foi confirmada pelo Ponto de Captura,
sem intervenção do usuário.
PWCNF_CNF_MANU_AUT0x00003221A transação foi confirmada manualmente na
Automação
PWCNF_REV_MANU_AUT0x00003231A transação foi desfeita manualmente na
Automação.
PWCNF_REV_PRN_AUT0x00013131A 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_AUT0x00023131A transação foi desfeita pela Automação, devido a uma falha no mecanismo de liberação da mercadoria
PWCNF_REV_COMM_AUT0x00033131A transação foi desfeita pela Automação, devido a uma falha de comunicação/integração com o ponto de captura (Cliente Pay&Go Web).
PWCNF_REV_ABORT0x00043131A transação não foi finalizada, foi interrompida durante a captura de dados.
PWCNF_REV_OTHER_AUT0x00073131A transação foi desfeita a pedido da Automação, por um outro motivo não previsto
PWCNF_REV_PWR_AUT0x00083131A transação foi desfeita automaticamente pela Automação, devido a uma queda de energia
(reinício abrupto do sistema).
PWCNF_REV_FISC_AUT0x00093131A transação foi desfeita automaticamente pela Automação, devido a uma falha de registro no sistema fiscal (impressora S@T, on-line, etc.).

PW_iIdleProc

Para o correto funcionamento do sistema, a biblioteca do Pay&Go Web 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 “10. Códigos de retorno”).

PW_iGetOperations

Esta função pode ser chamada para obter quais operações o Pay&Go Web 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 Pay&Go Web.

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 “10. Códigos de retorno”)

Tipos de operação:

NomeValorDescrição
PWOPTYPE_ADMIN1Operações administrativas (relatório, reimpressão, etc).
PWOPTYPE_SALE2Operações financeiras.

5.2. Funções para acesso ao PIN-pad

Essas funções são utilizadas para obtenção de dados do PIN-pad, 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 “4.2.2. Interface
com o PIN-pad”.

5.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 “4.2.1.Interface com o usuário”.

➜ Retorno:

PWRET_NOTHING.......................Nada a fazer, continuar aguardando o processamento do PIN-pad.
PWRET_DISPLAY......................... Apresentar a mensagem recebida em pszDisplay e continuar aguardando o processamento do PIN-pad.
PWRET_OK.................................. Captura de dados realizada com êxito, prosseguir com a transação.
PWRET_CANCEL.......................... A operação foi cancelada pelo Cliente no PIN-pad (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 PIN-pad.
PWRET_DLLNOTINIT...................Não foi executado PW_iInit.
PWRET_INVCALL.........................Não há captura de dados no PIN-pad em curso.
Outro...........................................Outro erro de execução (ver “10. 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 PIN-pad
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 PIN-pad.
PWRET_DLLNOTINIT...................Não foi executado PW_iInit.
Outro...........................................Outro erro de execução (ver “10. Códigos de retorno”)

5.2.2. Funções para obtenção de dados

Cada função desta seção inicia um processamento no PIN-pad, e retorna imediatamente.

Para determinar qual função deve ser chamada pela Automação, referir-se à seção “8.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 PIN-pad.

👍

Int16 PW_iPPGetCard

(Uint16 uiIndex);

vEntradas:

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.
PWRET_DLLNOTINIT.....Não foi executado PW_iInit.
Outro..................................Outro erro de execução (ver “10. 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 PIN-pad 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.
PWRET_DLLNOTINIT...................Não foi executado PW_iInit.
Outro...........................................Outro erro de execução (ver “10. Códigos de retorno”). 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 PIN-pad 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.
PWRET_DLLNOTINIT...................Não foi executado PW_iInit.
Outro...........................................Outro erro de execução (ver “10. 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 PIN-pad.

👍

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.
PWRET_DLLNOTINIT...................Não foi executado PW_iInit.
Outro...........................................Outro erro de execução (ver “10. 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 PIN-pad.

👍

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.
PWRET_DLLNOTINIT...................Não foi executado PW_iInit.
Outro...........................................Outro erro de execução (ver “10. 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 PIN-pad.

👍

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.
PWRET_DLLNOTINIT...................Não foi executado PW_iInit.
Outro...........................................Outro erro de execução (ver “10. 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 PIN-pad.

👍

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.
PWRET_DLLNOTINIT...................Não foi executado PW_iInit.
Outro...........................................Outro erro de execução (ver “10. Códigos de retorno”). 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
PIN-pad.

👍

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.
PWRET_DLLNOTINIT...................Não foi executado PW_iInit.
Outro...........................................Outro erro de execução (ver “10. Códigos de retorno”). Uma
mensagem de erro pode ser obtida através da função PW_iGetResult
(PWINFO_RESULTMSG)

5.2.3. Outras funções

As funções descritas nesta seção permitem interagir com o PIN-pad fora do fluxo de uma transação.

Cada função desta seção inicia um processamento no PIN-pad, e retorna assim que possível.

PW_iPPDisplay

Esta função é utilizada para apresentar uma mensagem no PIN-pad.

👍

Int16 PW_iPPDisplay

(const char *pszMsg)

Entradas:

pszMsg
Mensagem a ser apresentada no PIN-pad. O caractere ‘\r’ (0Dh) indica uma quebra de linha.

Saídas:

Nenhuma.

Retorno:

PWRET_OK.................................. Função 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 “10. Códigos de retorno”)

PW_iPPGetUserData

Esta função é utilizada para obter um dado digitado pelo portador do cartão no PIN-pad.

👍

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
1212 DIGITE CODIGO DE SEGURANCA

bMinLen
Tamanho mínimo do dado a ser digitado.

bMaxLen
Tamanho máximo do dado a ser digitado.

iToutSec
Tempo limite para a digitação do dado em segundos.

Saídas:

pszData
Dado digitado pelo portador do cartão no PIN-pad.

Retorno:

PWRET_OK.................................. Função iniciada com sucesso, chamar PW_iPPEventLoop para obter o
resultado.
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 PIN-pad (tecla [CANCEL]).
PWRET_TIMEOUT.......................O Cliente não realizou a captura no tempo limite.
PWRET_PPCOMERR.................... Falha na comunicação com o PIN-pad.
PWRET_INVCALL.........................Não é possível capturar dados em um PIN-pad não ABECS.
Outro...........................................Outro erro de execução (ver “10. Códigos de retorno”).

PW_iPPWaitEvent

Esta função é utilizada para aguardar a ocorrência de um evento no PIN-pad.

👍

Int16 PW_iPPWaitEvent

(Uint32 *pulEvent);

Entradas:

pulEvent
Soma dos valores referentes aos eventos a serem monitorados no PIN-pad:

Entradas: pulEvent Soma dos valores referentes aos eventos a serem monitorados no PIN-pad:ValorEvento
PWPPEVTIN_KEYS1Acionamento de teclas
PWPPEVTIN_MAG2Passagem de cartão magnético
PWPPEVTIN_ICC4Inserção de cartão com chip
PWPPEVTIN_CTLS8Aproximação de um cartão sem contato.

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_DLLNOTINIT...................Não foi executado PW_iInit.
Outro...........................................Outro erro de execução (ver “10. 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_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_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_DLLNOTINIT...................Não foi executado PW_iInit.
Outro...........................................Outro erro de execução (ver “10. Códigos de retorno”).

5.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 Pay&Go Web.

👍

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 “10. 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/XMLSchemainstance" 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>

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

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

5.4.2.Tipos de Dados

QueryFilter Node

CampoTipoGETTam.Descrição
AuthorizerStatusSO1..2Status da Transação perante ao Autorizador.
Veja Valores de Domínio.
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.
POSApplicationSO1..20Código da aplicação.
OBS: Na resposta retorna a descrição. Veja Valores de Domínio.
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 Pay&Go Web. 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 Pay&Go Web por afiliação.
ArrayOfTransactionTypeSO1..100Lista de identificadores de Tipo da Transação. Veja Valores de Domínio.
TransactionAuthorizerSO1..50Sistema Autorizador
Veja Valores de Domínio.
TransactionProductNameSO1..50Nome do Produto
ArrayOfTransactionStatusSO1..10Lista de identificadores da Situação da Transação no Pay&Go Web. Veja Valores de Domínio
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
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 Pay&Go Web. Este número é a chave primária do registro do banco de dados
ReqNumSM1..20Número da Transação gerado pelo Ponto de Captura.
InternalLocalReferenceM1..20Número único da transação no sistema Pay&Go Web 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 Pay&Go Web. 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

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

CampoTipoGETTam.Descrição
PinPadData Node
SerialNumberSO1..20Número de Série do PinPad do Ponto de
Captura.
ModelVersionSO1..19Versão do Modelo do PinPad
ModelS1..19Modelo do PinPad
FirmwareVersionSO1..20Versão do Firmware do PinPad.
*SpecificationVersion SO1..4Versão da Especificação do PinPad.
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.
Veja Valores de Domínio.
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.

CampoTipoGETTam.Descrição
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
BarCodeSOCódigo de Barras do Pagamento de Contas.
DueDateSO1..14Data de vencimento da conta.
EntryModeSO1..2Modo de Entrada do Código de Barras.
Veja Valores de Domínio.
DiscountSO1..15Desconto efetuado para o pagamento.
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.

5.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
UniqueId
Status de cada UniqueId enviado.
Transaction Array of Ids
(Summary)
GetTransactionsSummaryArray of
UniqueId
Dados resumidos de cada UniqueId enviado.

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

5.4.4.1.Ponto de Captura

Nome do CampoCódigoDescrição
Status01Não Liberado para Instalação
“SetupNotAllowed”
02Liberado para Instalação
“ReadyForSetup”
03Instalado (valor informativo)
“SetupOk”
04Inativo
“Disabled”
05Transacionando (valor informativo)
“Transacting”
CardEntryMode 01Digitado - “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”

5.4.4.2.Dados Comuns

Nome do CampoCódigoDescrição
*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

Transaction Status

864 862

TransactionType

862 842 1289

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

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

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

5.6.1.Tipos de Dados

1036

A seguir...