0% acharam este documento útil (0 voto)
320 visualizações98 páginas

Manual Maxipago API

Enviado por

Denis Varella
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
320 visualizações98 páginas

Manual Maxipago API

Enviado por

Denis Varella
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

DOCUMENTAÇÃO DE INTEGRAÇÃO

V2.0.2
Histórico de Revisões

Versão Data Descrição


1.0 30/01/2012 Versão inicial do manual.
1.1 13/02/2012 Adicionada observação sobre pular linha nas instruções de boleto.
1.2 27/02/2012 Adicionados campos no Post da smartPage!.
Adicionado o campo transactionState no retorno das consultas.
1.3 16/03/2012
Adicionados comentários em outros campos do retorno das consultas.
1.4 03/04/2012 Modificados campos no comando add-consumer.
Removido o campo hp_cmd (obsoleto) da smartPage!
Adicionada a seção de cartão salvo da smartPage!
1.5 16/04/2012
Adicionado o Anexo “A” com os fluxos de pagamento.
Adicionada referência ao processorID = 1 (Simulador de Testes de cartão).
Adicionados os campos currencyCode e hp_currency para definir a moeda
da transação.
Adicionado comando para cancelamento de recorrência.
Adicionada a adquirente Chase Paymentech (EUA – multimoeda)
1.6 02/08/2012 Adicionado o campo hp_lang para escolha de idioma na smartPage!
Adicionados os campos hp_cf_1 a hp_cf_5 na smartPage!
Adicionado o campo hp_customer_token na smartPage!
Corrigido nomenclatura do campo hp_savepayment na smartPage!
Removido o campo campo eCommInd (obsoleto)
1.7 10/12/2012 Adicionada a nova funcionalidade fraudControl!
1.8 04/01/2013 Corrigido exemplo do XML do comando delete-card-onfile
Adicionado o meio de pagamento Débito Online
1.9 25/02/2013
Adicionada a lista de erros mais comuns

2
Adicionada integração Magento
1.9.1 15/03/2013 Adicionada lista de meios de pagamento
Adicionado o meio de pagamento TEF
1.9.2 01/04/2013 Adicionado processo de Certificação
Adicionados campos de Billing para o Débito Online
1.9.3 19/04/2013
Adicionada bandeira Discover para Cielo
Adicionado código de barras (campo processorCode) no retorno de Boleto
Removida a restrição de Número de Boleto ser único
1.9.4 19/08/2013
Atualizados cenários de teste
Atualizada validação do campo hp_signature_response
Refletir mudanças para o Release 6:
Adicionar campo Soft_Descriptor
Adicionar funcionalidade AVS
1.9.5 03/01/14 Adicionar campo IATA Fee
Estorno online Cielo
Consulta por orderID
Flag de recorrência para (dispensa CVV2)
1.9.6 02/04/14 Maior detalhamento da implantação do iFrame
1.9.7 26/05/14 Inclusão do meio de pagamento KOIN
Inclusão do FraudId Koin
Inclusão do ProcessorId Elavon
1.9.8 05/11/14 Removido campos obsoletos no Post da smartPage!
Removido ProcessorId Amex
Alterado descritivo do ResponseCode 2
Inclusão de novo ProcessorID – GetNet (pag. 12 e 16)
1.9.9 10/06/15
Alterado de exemplo de chamada com fraudeControl! – (pag. 33)
Inclusão do TLS 1.2
ProcessorId – GetNet = 3
SmartPage – observação de transacionar apenas cartão de crédito
2.0.0 24/08/2015
Nomenclatura do Objetivo do Manual
Retirar bandeira American Express
Inclusão de outras bandeiras
2.0.1 16/11/2015 Inclusão Integração Paypal
Inclusão do CVV para transação Tokenizada
2.0.2 01/02/2016
Inclusão do novo método para alteração de recorrência

maxiPago! Smart Payments © 2013 3


Índice

Objetivo do manual ............................................................................................................................................................ 6


Glossário ................................................................................................................................................................................. 6
Integração via API ................................................................................................................................................. 7
Integração via smartPage! ................................................................................................................................. 7
Integração via Magento ....................................................................................................................................... 7
Ambiente de Testes ............................................................................................................................................................ 8
Certificação da Integração .............................................................................................................................................. 9
Credenciais do Estabelecimento ................................................................................................................................ 10
Meios de pagamento disponíveis .............................................................................................................................. 10
Tipos de Requisição ........................................................................................................................................................ 11
Requisições de Transação - Cartão de Crédito ..................................................................................................... 12
Autorização ........................................................................................................................................................... 13
Captura .................................................................................................................................................................... 15
Venda Direta .......................................................................................................................................................... 17
Void ........................................................................................................................................................................... 19
Estorno .................................................................................................................................................................... 20
Recorrência ........................................................................................................................................................... 22
Criar uma recorrência .......................................................................................................................... 22
Alterar uma recorrência ...................................................................................................................... 24
Cancelar uma recorrência ................................................................................................................... 26
Dados do Comprador .......................................................................................................................................... 27
AVS (Adress Verification Service) ................................................................................................................ 29
Soft Descriptor ..................................................................................................................................................... 29
fraudControl! – Controle de Fraude........................................................................................................................... 30
iFrame para análise de browser ................................................................................................................... 31
Requisições de Fraude ....................................................................................................................................... 36
Exemplo de chamada com fraudControl!: ..................................................................................... 36
Exemplo de chamada sem fraudControl! : .................................................................................... 37
Respostas de Fraude ........................................................................................................................................... 37
Requisições de Transação - Boleto ........................................................................................................................... 38
Gerando um boleto .............................................................................................................................................. 38
Conciliando pagamentos de boleto .............................................................................................................. 40
Requisições de Transação – Koin Pós-Pago ......................................................................................................... 40
Exemplo de como se obter o FraudId ...................................................................................................................... 43
Requisições de Transação – PayPal ......................................................................................................................... 47
Requisições de Transação – Transferência Bancária ....................................................................................... 49
Enviando uma transação de transferência ................................................................................................ 49
Retorno de Transação .................................................................................................................................................... 52
Transação Aprovada .......................................................................................................................................... 54
Transação Negada ............................................................................................................................................... 54
Parâmetros Inválidos ......................................................................................................................................... 54
Outros erros........................................................................................................................................................... 55
Requisições de Cadastro ................................................................................................................................................ 56
Adicionar um cliente ......................................................................................................................................... 57
Remover um cliente ........................................................................................................................................... 58
Atualizar um cliente ........................................................................................................................................... 59
Salvar um cartão na base ................................................................................................................................. 61
Remover um cartão da base............................................................................................................................ 63

4
Retorno do Cadastro ....................................................................................................................................................... 64
Transações com token .................................................................................................................................................. 65
Recorrência com token ................................................................................................................................................. 66
Salvar o cartão automaticamente ............................................................................................................................. 67
Requisição de Consulta .................................................................................................................................................. 69
Consultar uma única transação ..................................................................................................................... 70
Consultar um único pedido ............................................................................................................................. 71
Consultar uma lista de transações ................................................................................................................ 72
Retorno da Consulta ....................................................................................................................................................... 74
Utilizando o sistema de paginação ........................................................................................................................... 78
Consultas em massa ........................................................................................................................................... 80
Sondando o resultado de uma busca em massa ...................................................................................... 81
smartPage! - Integração por HTTPS Post ............................................................................................................. 83
Envio da transação .............................................................................................................................................. 84
Salvar o cartão automaticamente ................................................................................................................ 86
Resposta da smartPage! .................................................................................................................................... 87
Suporte à integração ...................................................................................................................................................... 89
Anexo “A” – Fluxos de Transações ............................................................................................................................. 90
Autorização e Captura – Pedido em duas etapas.................................................................................... 90
Venda Direta – Resposta imediata ao comprador ................................................................................... 91
Venda Direta – Resposta assíncrona ............................................................................................................ 91
Débito Online – Transferência bancária ................................................................................................... 92
Emissão e pagamento de Boleto ................................................................................................................... 93
Estorno – Adquirente com resposta offline ............................................................................................. 94
Salvar cartão automaticamente .................................................................................................................... 95
smartPage – Integração via HTTPS POST ................................................................................................ 96
Anexo “B” – Moedas ........................................................................................................................................................ 97

maxiPago! Smart Payments © 2013 5


Objetivo do manual

Este manual trata dos conceitos básicos das operações de pagamento e os detalhes técnicos de
integração com a plataforma da maxiPago!. Ele contém exemplos funcionais das requisições, que
podem ser copiados e usados nos primeiros testes, além de observações importantes a serem levadas
em conta durante a integração.

A última versão deste manual está disponível em


[Link]

Glossário

Empresa responsável pelo processamento do cartão e pelo pagamento do valor da


Adquirente
compra ao Estabelecimento (ex: Cielo, Rede)
Empresa que licencia seu nome para a emissão de cartões. Ela é a "marca" do
Bandeira
cartão (ex: Visa, Mastercard, Diners)
Credenciais Combinação do ID de Loja e da Chave de Loja, ambas fornecidas pela maxiPago!
CVV ou CVN Código de segurança do cartão
Banco responsável por verificar se o Portador possui limite de crédito para fazer
Emissor
aquela compra. (ex.: Itaú, Bradesco, HSBC).
Estabelecimento Lojista que vende seus produtos e serviços online
ID de Loja Identificador único da loja dentro da maxiPago! e parte da Credencial.
Portador Cliente, comprador, titular do cartão de crédito

6
Escolhendo o seu tipo de integração

Integração via API

A principal característica da integração via API é que os dados do cartão de crédito são digitados no
site do estabelecimento e então enviados para a maxiPago!. Nesse processo não há existência de
pop-up ou redirecionamentos. A responsabilidade de coletar os dados do cartão do comprador é do
estabelecimento, logo, deve existir uma preocupação com a segurança dos dados. É necessária a
compra de um certificado de segurança SSL.

A maxiPago! possui bibliotecas de integração em Java, .NET, PHP, Python e Ruby à disposição para
ajudar com o desenvolvimento de sua plataforma, disponíveis em [Link]

Integração via smartPage!

A smartPage! é uma forma rápida de integração a nossa plataforma. O comprador, após finalizar o
pedido, é redirecionado para o nosso ambiente e nesse ambiente ele informa os dados do cartão de
crédito para realizar o pagamento. Assim o Estabelecimento não é o responsável por gerenciar e
proteger os dados desse comprador, sendo a maxiPago! provedora desse requisito de segurança.

Integração via Magento

A maxiPago! possui um módulo Magento que permite uma integração rápida da sua loja virtual com a
nossa plataforma de pagamentos. Veja abaixo os links para download do módulo e do manual:

* Manual: [Link]

* Módulo: [Link]

Nota: Para as integrações API e Magento o PCI há um requisito obrigatório em relação a segurança
que é a utilização do certificado de segurança TLS 1.2 (Transport Layer Security) ou versão superior.
A maxiPago! como parceiro PCI certificado solicita aos seus clientes verificar os requisitos técnicos
necessários para a implementação desse certificado de segurança.

maxiPago! Smart Payments © 2013 7


Ambiente de Testes

No ambiente de testes é possível simular a maioria das requisições e transações. Lembre-se que no
ambiente de testes nenhuma transação será de fato processada.

Abaixo temos a lista de cenários que gerarão respostas programadas da nossa plataforma:
Resultado da
Cenário
Transação
Venda Direta (“sale”) com valor par, menor que R$300 ou maior que R$500
Aprovada
Exemplo: R$1,00 ou R$299,92 ou R$610,06

Venda Direta (“sale”) com valor ímpar, menor que R$300 ou maior que R$500
Negada
Exemplo: R$1,01 ou R$20,09 ou R$700,55
Parcialmente Aprovada
Venda Direta (“sale”) com valor entre R$300 e R$500 (funcionalidade
Exemplo: R$310,00 ou R$499,99 disponível apenas nos
EUA)
Autorização (“auth”) com valor par, menor que R$300 ou maior que R$500 e
Negada por Fraude
com o número de cartão 4901720380077300
Autorização (“auth”) com valor par, menor que R$300,00 ou maior que
Em Revisão de Fraude
R$500,00 e com o número de cartão 4901720366459100

Abaixo há uma lista de cartões teste disponíveis. O campo de CVV pode ser preenchido com qualquer
número com 3 ou 4 dígitos e a data de vencimento precisa apenas ser válida, ou seja, sempre no
futuro:
Tipo Número de Teste
American Express 378282246310005
American Express 371449635398431

MasterCard 5555555555554444

MasterCard 5111111111111100

Visa 4111111111111111

Visa 4012888888881881

Diners 30569309025904

JCB 3528888888888000

8
Certificação da Integração

Para garantir a qualidade da integração técnica entre o lojista e o gateway de pagamentos e evitar
problemas em pré-produção para Produção a maxiPago! realiza um processo de Certificação. Nesta
etapa da integração a equipe da maxiPago! irá entrar no site de testes do lojista e realizar algumas
compras, a fim de validar o processo de checkout e pagamento.

Este processo é rápido e o tempo médio de resposta é dia 1 dia útil.

Serão validados os seguintes tipos de integração:

 Autorização de cartões
 Captura de cartões
 Venda Direta (“sale”) de cartões
 Verificação antifraude
 Emissão de boletos
 Venda de débito online
 Pagamento pós-pago (KOIN)

maxiPago! Smart Payments © 2013 9


Credenciais do Estabelecimento

Para qualquer chamada feita em nossa base é preciso que o Estabelecimento se identifique com as
suas credenciais. O ID de Loja e a sua Chave são informados pela nossa equipe quando seu cadastro
é criado.

Independentemente da requisição que estiver chamando você deverá informar suas credenciais dentro
do elemento <verification/>, da seguinte forma:
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>

Meios de pagamento disponíveis


Nome Descrição
Cielo Cartões de Crédito Visa, Mastercard, Amex, Diners, Elo, Discover
Rede Cartões de Crédito Visa, Mastercard, Diners, Discover
Bradesco Boleto sem registro, Transferência bancaria
Itaú Boleto sem registro, Transferência bancária
Banco do
Boleto sem registro
Brasil
Santander Boleto sem registro
HSBC Boleto sem registro
Caixa
Econômica Boleto sem registro
Federal

10
Tipos de Requisição

A troca de informações com a maxiPago! é feita através de XML enviado diretamente no corpo do Post
-- ele não deve estar dentro de nenhum parâmetro e nem ser enviado em um formulário.

O content type deve ser text/xml e o charset deve ser UTF-8.

Há três tipos de requisição que podem ser feitas à plataforma:

● Requisição de Transação: Processa pedidos de Cartão de Crédito e Boleto


Nó raiz do XML: <transaction-request/>, retornando <transaction-response/>

● Requisição de Cadastro: Efetua operações cadastrais, como salvar um cartão da nossa base
Nó raiz do XML: <api-request/>, retornando <api-response/>

● Requisição de Consulta: Busca pedidos em nossa base


Nó raiz do XML: <rapi-request/>, retornando <rapi-response/>

Cada tipo de requisição tem uma URL de teste específica:

URL
TRANSAÇÕES [Link]

CADASTRO [Link]

CONSULTA [Link]
smartPage!
[Link]
(HTTPS Redirect)

maxiPago! Smart Payments © 2013 11


Requisições de Transação - Cartão de Crédito

Estas requisições são responsáveis por processar pedidos de cartão de crédito e são identificadas
através do nó raiz <transaction-request/>. Esta API recebe os dados de cobrança, como valor do
pedido e número de cartão de crédito. O seu retorno contém o status da transação (aprovada ou
negada) e os principais dados do pedido.

As requisições de transação devem conter o número da versão da API dentro da tag <version/>, e
deve ser o primeiro elemento do XML.

Versão atual da API: [Link]

URL de Teste: [Link]

A tag <order/>, enviada logo abaixo da verificação das credenciais, deve conter os dados para efetuar
a transação. Há 6 tipos de operações suportadas pelo sistema da maxiPago!. Sua escolha é feita de
acordo com o elemento enviado dentro da tag <order/>:

● Autorização: Envia os dados do cartão para autorização


● Captura: Captura uma transação previamente autorizada
● Venda Direta: Efetua a autorização e captura na mesma requisição
● Void: Cancela um pedido capturado (até às 23h59m do mesmo dia)
● Estorno: Solicita o estorno de um pedido já confirmado
● Recorrência: Agenda cobranças futuras no cartão de crédito

A estrutura do XML deve ficar da seguinte forma:


<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<auth> | <capture> | <sale> | <void> | <return> | <recurringPayment>
<order/>
<transaction-request/>

12
Autorização

A Autorização verifica se o cartão de crédito usado é válido (número, CVV e data de validade), se o
Portador possui limite suficiente para a compra e se a transação passou na verificação de fraude do
Banco e da Adquirente.

Esta é a fase mais importante da transação, pois a autorização bloqueia o valor do pedido no cartão
do cliente e garante o pagamento para o Estabelecimento, "reservando" aquele valor. Contudo, a
autorização sozinha não efetiva a transação -- ela depois precisa ser capturada.

Os parâmetros aceitos na Autorização são:

Nome Descrição
version
Versão da API
(obrigatório)
merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)
merchantKey
Chave associada ao ID de Loja
(obrigatório)
Identificador do pedido no Estabelecimento
referenceNum
(obrigatório) Este campo aceita apenas valores alfanuméricos e deve ser
único
Código da Adquirente que irá processar esta transação
SIMULADOR DE TESTES = 1
Rede = 2
processorID Cielo = 4
(obrigatório) TEF = 5
Elavon = 6
ChasePaymentech = 8
GetNet = 3
Flag para enviar transação para verificação de fraude. Se
deixado em branco a transação será verificada
Y ou vazio/nulo = Checar
fraudCheck N = Não checar

Este campo só funciona para clientes que possuem o


serviço de antifraude contratado
ipAddress Endereço de IP do comprador
number
Número do cartão de crédito do cliente
(obrigatório)
expMonth Mês de vencimento do cartão com 2 dígitos
(obrigatório) Exemplo: Janeiro = 01; Novembro = 11
expYear
Ano de vencimento do cartão com 4 dígitos
(obrigatório)
Código de segurança do cartão
Obs: Embora o campo não seja obrigatório em nosso sistema
cvvNumber as Adquirentes podem bloquear transações caso este campo
esteja vazio. Por favor cheque suas permissões na
Adquirente.

maxiPago! Smart Payments © 2013 13


Código da moeda da transação no formado ISO 4217
currencyCode Válido somente para transações Chase Paymentech.
Lista completa de moedas: anexo “B”.
Valor do pedido
chargeTotal
Os decimais devem ser separados por ponto (".")
(obrigatório)
Exemplo: 15.00 ou 1649.99
É um campo informativo (ou seja não é somado ao valor da
autorização) que define o montante da Taxa de Embarque da
transação que deve ser destinado ao pagamento à Infraero.
Esta disponível apenas para a Cielo nas bandeiras Visa e
iataFee
Mastercard.
Os decimais devem ser separados por ponto (".")
Exemplo: 15.00 ou 1649.99

Número de parcelas da transação


numberOfInstallments
Para transações à vista não enviar/enviar nulo.
Define se o parcelamento é do tipo Loja ou Cartão
Para transações à vista não enviar/enviar nulo.
chargeInterest
N = Sem juros (PADRÃO - parcelamento Loja)
Y = Com juros (parcelamento Cartão)

Este XML envia uma autorização para a loja teste:


<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<auth>
<processorID>1</processorID>
<fraudCheck>N</fraudCheck>
<referenceNum>123456789</referenceNum>
<transactionDetail>
<payType>
<creditCard>
<number>4111111111111111</number>
<expMonth>12</expMonth>
<expYear>2020</expYear>
<cvvNumber>999</cvvNumber>
</creditCard>
</payType>
</transactionDetail>
<payment>
<currencyCode>BRL</currencyCode>
<chargeTotal>10.00</chargeTotal>
<iataFee>1.00</iataFee>
<creditInstallment>
<numberOfInstallments>2</numberOfInstallments>
<chargeInterest>N</chargeInterest>
</creditInstallment>
</payment>
</auth>
</order>
</transaction-request>

14
Captura

A Captura de uma transação confirma e completa aquele pedido. Se a transação nunca for capturada o
Estabelecimento não receberá o dinheiro e o Portador não será cobrado. Neste caso a autorização
vence.

A captura não faz nenhuma validação, ou seja, ela não verifica novamente os dados enviados na
autorização. Ao pedir a captura o Estabelecimento está apenas informando que ele quer, de fato,
completar a venda.

Por que o Estabelecimento não capturaria uma compra?


Os principais motivos são análise de fraude e verificação de estoque, mas há diversas outras razões que
são particulares de cada modelo de negócio.

Entre a autorização e a captura o Estabelecimento pode fazer uma análise interna do pedido para
determinar o seu grau de risco, por exemplo. Caso haja algo suspeito, ele pode tentar contatar diretamente
o comprador para verificar o pedido antes de capturá-lo.

No caso da verificação de estoque, caso o produto não esteja mais disponível o Estabelecimento pode
simplesmente não capturar o pedido, deixando vencer a autorização. Desta forma não há a necessidade de
se gerar um Estorno.

Captura Total x Captura Parcial

Algumas Adquirentes permitem que o Estabelecimento faça uma captura parcial do pedido. Isto
significa que, apesar de se ter uma autorização feita no valor total do pedido, o Estabelecimento
capturará apenas uma parte dela, deixando o resto do valor vencer.

Isto é particularmente útil quando o cliente pede mais de um produto no mesmo pedido e um deles não
está mais disponível no estoque. Digamos que temos pedido formado por dois produtos, um de
R$60,00 e outro de R$40,00, que já foi autorizado em sua totalidade (R$100,00). Contudo, a checagem
de estoque mostra que o segundo produto, de R$40,00, está em falta. Neste caso o Estabelecimento
pode fazer uma captura parcial de R$60,00, completar parte de sua venda e notificar o cliente do
ocorrido.

Um pedido nunca está completo se a captura não foi feita.


Sem ela o Estabelecimento não garante que receberá o valor devido!

maxiPago! Smart Payments © 2013 15


Os parâmetros aceitos pela Captura são:
Nome Descrição
version
Versão da API
(obrigatório)

merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)

merchantKey
Chave associada ao ID de Loja
(obrigatório)

orderID Valor único associado ao pedido pela maxiPago! no momento da


(obrigatório) Autorização

referenceNum Identificador do pedido dentro do Estabelecimento


(obrigatório) Deve ser o mesmo enviado na Autorização
Valor a ser capturado. Pode ser igual ou menor que o valor da
chargeTotal
autorização
(obrigatório)
Os decimais devem ser separados por ponto (".") Exemplo: 10.00
iataFee Para capturas parciais este campo é obrigatório

Este XML captura a autorização anterior, basta apenas trocar o campo "orderID":
<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<capture>
<orderID>C0A8C866:0119C7CF0530:3B39:009770A3</orderID>
<referenceNum>123456789</referenceNum>
<payment>
<chargeTotal>6.00</chargeTotal>
</payment>
</capture>
</order>
</transaction-request>

16
Venda Direta

A Venda Direta (ou "Sale") combina a Autorização e a Captura em uma mesma chamada. Ao usar a
requisição de Venda Direta você estará fazendo uma autorização no cartão do cliente e imediatamente
executando uma captura total do valor. O retorno da maxiPago! já virá com o status final da transação.

Atenção

Se você pretende utilizar alguma ferramenta antifraude recomendamos utilizar a Autorização seguida de
Captura no lugar da Venda Direta, já que assim você poderá fazer a revisão manual de pedidos. Em
integrações de Venda Direta não há como um pedido ficar em estado de Revisão.

Os parâmetros da Venda Direta são idênticos aos recebidos na autorização:


Nome Descrição
version
Versão da API
(obrigatório)
merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)
merchantKey
Chave associada ao ID de Loja
(obrigatório)
referenceNum Identificador único do pedido
(obrigatório) Este campo aceita apenas valores alfanuméricos
Código da Adquirente que irá processar esta transação
SIMULADOR DE TESTES = 1
Rede = 2
processorID Cielo = 4
(obrigatório) TEF = 5
Elavon = 6
ChasePaymentech = 8
GetNet = 3
Flag para enviar transação para verificação de fraude. Se
deixado em branco a transação será verificada
fraudCheck
Y ou vazio/nulo = Checar
N = Não checar
ipAddress Endereço de IP do comprador
number
Número do cartão de crédito do cliente
(obrigatório)
expMonth Mês de vencimento do cartão com 2 dígitos
(obrigatório) Exemplo: Janeiro = 01; Novembro = 11
expYear
Ano de vencimento do cartão com 4 dígitos
(obrigatório)
Código de segurança do cartão
Obs: Embora o campo não seja obrigatório em nosso sistema
cvvNumber as Adquirentes podem bloquear transações caso este campo
esteja vazio. Por favor cheque suas permissões na
Adquirente.
Código da moeda da transação no formado ISO 4217
currencyCode Válido somente para transações Chase Paymentech.
Lista completa de moedas: anexo “B”.
chargeTotal Valor do pedido
(obrigatório) Os decimais devem ser separados por ponto (".")

maxiPago! Smart Payments © 2013 17


Exemplo: 15.00 ou 1649.99
Número de parcelas da transação
numberOfInstallments
Para transações à vista não enviar/enviar nulo.
Define se o parcelamento é do tipo Loja ou Cartão
Para transações à vista não enviar/enviar nulo.
chargeInterest
N = Sem juros (PADRÃO - parcelamento Loja)
Y = Com juros (parcelamento Cartão)

A estrutura do XML também é muito similar à autorização, mudando somente a operação:


<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<sale>
<processorID>1</processorID>
<referenceNum>987654321</referenceNum>
<ipAddress>[Link]</ipAddress>
<fraudCheck>Y</fraudCheck>
<transactionDetail>
<payType>
<creditCard>
<number>4111111111111111</number>
<expMonth>12</expMonth>
<expYear>2020</expYear>
<cvvNumber>999</cvvNumber>
</creditCard>
</payType>
</transactionDetail>
<payment>
<currencyCode>BRL</currencyCode>
<chargeTotal>12.00</chargeTotal>
</payment>
</sale>
</order>
</transaction-request>

18
Void

O Void é o cancelamento de uma captura antes do fechamento do lote final do dia. Se por alguma
razão o pedido não pode ser completado e a transação já foi capturada o Void cancela a venda
efetuada, anulando aquela transação.

Importante:
- o Void só é permitido até as 23:59 do dia da captura (horário de Brasília).
- o Void é usado apenas para transações de cartão de credito

Os parâmetros mais comuns aceitos pelo Void são:


Nome Descrição
version
Versão da API
(obrigatório)
merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)
merchantKey
Chave associada ao ID de Loja
(obrigatório)
transactionID
ID da transação gerado pela maxiPago! na Autorização
(obrigatório)

O XML do Void é simples e possui poucos campos:


<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<void>
<transactionID>32165498701</transactionID>
</void>
</order>
</transaction-request>

maxiPago! Smart Payments © 2013 19


Estorno

O Estorno é a reversão de uma transação de cartão de crédito, debitando o valor do Estabelecimento


e devolvendo-o ao Portador. O estorno é uma operação financeira e envolve outros departamentos
dentro das Adquirentes. Por esta razão, em geral os estornos demoram alguns dias para serem
aprovados.

A tabela abaixo indica o prazo de resposta de um Estorno para cada adquirente:


Adquirente Prazo de resposta
Cielo Online, resposta imediata
Rede 2-3 dias úteis
Elavon 2-3 dias úteis
GetNet 2-3 dias úteis

No caso das adquirentes que não possuem resposta online, após solicitar um estorno o
Estabelecimento deve checar o status da transação na maxiPago! para verificar se a operação foi
aprovada pela Adquirente. Enquanto a Adquirente não responde o estorno ficará como pendente em
nossa plataforma. Na Cielo, os estornos nos cartões American Express só podem ser totais, não é
permitido estorno parcial.

*O serviço de cancelamento da GetNet é realizado apenas via portal do cliente em [Link]

Os parâmetros recebidos pela operação de Estorno são:


Nome Descrição
version
Versão da API
(obrigatório)
merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)
merchantKey
Chave associada ao ID de Loja
(obrigatório)
orderID Valor único associado ao pedido pela maxiPago! no momento da
(obrigatório) Autorização
referenceNum Identificador do pedido dentro do Estabelecimento
(obrigatório) Deve ser o mesmo enviado na Autorização
Valor a ser estornado. Pode ser igual ou menor que o valor da
chargeTotal autorização
(obrigatório) Os decimais devem ser separados por ponto (".")
Exemplo: 10.00 ou 1699.00

20
Este XML executa um estorno de R$5,00:
<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<return>
<orderID>C0A8C866:0119C7CF0530:3B39:009770A3</orderID>
<referenceNum>123456789</referenceNum>
<payment>
<chargeTotal>5.00</chargeTotal>
</payment>
</return>
</order>
</transaction-request>

maxiPago! Smart Payments © 2013 21


Recorrência

A maxiPago! oferece aos seus clientes a possibilidade de agendar cobranças recorrentes de cartão de
crédito. Nesta modalidade o número e a data de vencimento do cartão são guardados em nossos
servidores seguros, junto com o intervalo de cobrança. A maxiPago! ficará encarregada de cobrar o
seu cliente quando chegar a hora.

Criar uma recorrência

A estrutura do XML de uma transação recorrente é muito similar a de uma requisição de Venda Direta.
O nó <recurring/> deve ser utilizado para determinar o intervalo de cobrança do pedido, e o nome do
elemento da transação é <recurringPayments/> (ao invés de <sale/> ou <auth/>)

Os parâmetros recebidos pelo nó <recurring/> são:


Nome Descrição
action
Sempre será new.
(obrigatório)
startDate
Data de início da cobrança. Formato: AAAA-MM-DD
(obrigatório)
Intervalo de tempo entre cobranças
daily = dia(s)
weekly = semana(s)
monthly = mês(es)
period
biMonthly = bimestral
(obrigatório)
quarterly = trimestral
semiannual = semestral
annual = anual

Frequência da cobrança. Este campo é combinado com o <period>


para definir o intervalo.
frequency Exemplo: Se "frequency" = 2 e "period" = weekly, então cobrar
(obrigatório) a cada 2 semanas.

Se deixado em branco será entendido como "1".


Número de cobranças a serem efetuadas
installments Exemplo: Se "installments" = 5, então serão feitas 5
(obrigatório) cobranças seguindo o intervalo definido acima, a partir da
data de início.
Número de tentativas negadas necessárias para ativar
failureThreshold
notificação por e-mail à loja.
(obrigatório)
Mínimo = 1

Este XML cria um novo pagamento a cada 2 meses, começando em 25/12/2020, com 5 cobranças:
<transaction-request>
<version>[Link]</version>
<verification>

22
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<recurringPayment>
<processorID>1</processorID>
<referenceNum>12304560</referenceNum>
<ipAddress>[Link]</ipAddress>
<transactionDetail>
<payType>
<creditCard>
<number>4111111111111111</number>
<expMonth>12</expMonth>
<expYear>2020</expYear>
<cvvNumber>999</cvvNumber>
</creditCard>
</payType>
</transactionDetail>
<payment>
<currencyCode>BRL</currencyCode>
<chargeTotal>22.00</chargeTotal>
<softDescriptor>DVD Acustico</softDescriptor>
</payment>
<recurring>
<action>new</action>
<startDate>2020-12-25</startDate>
<frequency>2</frequency>
<period>monthly</period>
<installments>5</installments>
<firstAmount>22.00</firstAmount>
<lastAmount>2020-12-25</lastAmount>
<lastDate>2020-12-25</lastDate>
<failureThreshold>1</failureThreshold>
</recurring>
</recurringPayment>
</order>
</transaction-request>

Devido as normas de segurança PCI (Payment Card Industry) os números dos CVVs não podem ser
armazenados, mesmo numa plataforma PCI Compliant. Por isso, em fluxos com número de cartão de
crédito armazenado (recorrência, one-click etc), o estabelecimento deve enviar o campo CVV em
branco. Até recentemente no Brasil, não tinha como o estabelecimento indicar por que este campo
estava sendo enviado em branco e isso era motivo frequente para uma autorização ser negada. A Cielo
recentemente adicionou este tipo de indicador na plataforma Web Cielo. Atualizando a nossa API com
este campo na Cielo, a maxiPago! foi um passo além e a partir de 28/12/13 incluiu uma funcionalidade
que automaticamente coloca este indicador para qualquer transação utilizando cartão de crédito
armazenado (tokenizado). Desta forma, a maxiPago! ajuda os seus clientes a melhorar taxas de
aprovação na Cielo sem qualquer mudança técnica no lado do cliente.

maxiPago! Smart Payments © 2013 23


Alterar uma recorrência

Para a utilização desse método o comando “modify-recurring” deve ser informado em uma
requisição.

Os parâmetros recebidos pelo nó <recurring/> são:


Nome Descrição
command
Sempre será “modify-recurring”
(obrigatório)
action
Deve-se usar “enable” ou “disable”
(obrigatório)
nextFireDate
Próxima data de cobrança da recorrência (AAAA-MM-DD)
Nova data de cobrança (DD)
fireDay
Obs: Caso seja necessária a alteração da data de cobrança
para o próximo período é necessário o envio da Tag
</nextFireDate> em conjunto com a Tag </fireDay>
lastDate
Data da última cobrança
lastAmount
Valor a ser cobrado na útima parcela da recorrência

É possível alterar uma recorrência conforme parâmetros abaixo:


<api-request>
<verification>
<merchantId>100</merchantId>
<merchantKey>key</merchantKey>
</verification>
<command>modify-recurring</command>
<request>
<orderID>C0A86327:0151B6814FA1:50F7:50212C05</orderID>
<paymentInfo>
<cardInfo>
<creditCardNumber>4716870704643843</creditCardNumber>
<expirationMonth>07</expirationMonth>
<expirationYear>2018</expirationYear>
<softDescriptor>RECSDNAME</softDescriptor>
</cardInfo>
<chargeTotal>50.00</chargeTotal>
</paymentInfo>
<recurring>
<processorID>2</processorID>
<action>enable</action>
<installments>10</installments>
<nextFireDate>2016-02-25</nextFireDate>
<fireDay>20</fireDay>
<period>quarterly</period>
<lastDate>2017-05-12</lastDate>
<lastAmount>105.00</lastAmount>
</recurring>

24
<billingInfo>
<name>BILLING REC UPD</name>
<address1>R BILLING STREET, 123</address1>
<address2>7 ANDAR</address2>
<city>SAMPA</city>
<zip>01312000</zip>
<country>BR</country>
<email>billing@[Link]</email>
<phone>1132890900</phone>
</billingInfo>
<shippingInfo>
<name>SHIPPING REC UPD</name>
<address1>R SHIPPING STREET, 123</address1>
<address2>7 ANDAR</address2>
<city>SAMPA</city>
<zip>01312000</zip>
<country>BR</country>
<email>shipping@[Link]</email>
<phone>1132890900</phone>
</shippingInfo>
</request>
</api-request>

maxiPago! Smart Payments © 2013 25


Cancelar uma recorrência

Para cancelar uma recorrência via API é preciso enviar o comando cancel-recurring e o orderID
retornado pela maxiPago! no momento da criação do pedido.

Note que a requisição de cancelamento segue o mesmo padrão as Requisições de Cadastro, descritos na
seção de mesmo nome, e cuja URL de teste está abaixo:

URL de Teste: [Link]

Os parâmetros recebidos pelo command cancel-recurring são:


Nome Descrição
merchantId
ID de Loja que identifica o Estabelecimento.
(obrigatório)
merchantKey
Chave associada ao ID de Loja.
(obrigatório)
command
Sempre será cancel-recurring.
(obrigatório)
orderID
ID do pedido gerado pela maxiPago! na criação da recorrência.
(obrigatório)

Este XML cancela uma transação recorrente:


<api-request>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<command>cancel-recurring</command>
<request>
<orderID>C0A8C866:0119C7CF0530:3B39:009770A3</orderID>
</request>
</api-request>

26
Dados do Comprador

A maxiPago! permite que você nos envie os dados de cobrança (<billing/>) e de entrega
(<shipping/>) do seu cliente final. Apesar destes dados serem opcionais recomendamos enviar ao
menos o nome do portador do cartão, para facilitar a referência ao pedido. Caso utilize a
ferramenta antifraude, estes dados são obrigatorios.

Os campos devem ser enviados na mesma chamada da Autorização, Venda Direta, Recorrência ou
Boleto:
Nome Descrição
Billing: Nome impresso no cartão (recomendado)
name *Considerações: O tamanho deste campo é limitado ao máximo de
(recomendado) 26 caracteres (Não permite caracteres especiais)
Shipping: Nome do destinatário
Billing: Endereço da fatura do cartão
address
Shipping: Endereço de entrega do produto
address2 Billing/Shipping: Complemento

city Billing/Shipping: Cidade

state Billing/Shipping: Estado

postalcode Billing/Shipping: CEP

country Billing/Shipping: País com 2 letras (ISO 3166-2)


Billing: Número de telefone do portador do cartão
phone
Shipping: Número de telefone do destinatário
Billing: Email do portador do cartão
email
Shipping: Email do destinatário

Abaixo temos o exemplo de um XML de Venda Direta com os dados de cobrança e entrega:
<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<sale>
<processorID>1</processorID>
<referenceNum>1234567890</referenceNum>
<billing>
<name>Fulano de Tal</name>
<address>Av. República do Chile, 230</address>
<address2>16 Andar</address2>
<city>Rio de Janeiro</city>
<state>RJ</state>
<postalcode>20031170</postalcode>
<country>BR</country>

maxiPago! Smart Payments © 2013 27


<phone>2140099400</phone>
<email>fulanodetal@[Link]</email>
</billing>
<shipping>
<name>Ciclano de Tal</name>
<address>Av. Prestes Maia, 737</address>
<address2>20 Andar</address2>
<city>São Paulo</city>
<state>SP</state>
<postalcode>01031001</postalcode>
<country>BR</country>
<phone>1121737900</phone>
<email>ciclanodetal@[Link]</email>
</shipping>
<transactionDetail>
<payType>
<creditCard>
<number>4111111111111111</number>
<expMonth>12</expMonth>
<expYear>2020</expYear>
<cvvNumber>999</cvvNumber>
</creditCard>
</payType>
</transactionDetail>
<payment>
<currencyCode>BRL</currencyCode>
<chargeTotal>20.00</chargeTotal>
<softDescriptor>DVD Acustico</softDescriptor>
<creditInstallment>
<numberOfInstallments>2</numberOfInstallments>
<chargeInterest>N</chargeInterest>
</creditInstallment>
</payment>
</sale>
</order>
</transaction-request>

28
AVS (Adress Verification Service)
Os bancos emissores de cartão de credito oferecem uma ferramenta para verificar se os dados
numéricos do endereço fornecido durante a compra são os mesmo cadastrados para recebimento da
fatura do cartão. Atualmente esta funcionalidade é oferecida pela Cielo para as bandeiras Visa,
Mastercard e AMEX.

ATENÇÃO: Dependendo do seu contrato com o adquirente, este serviço adicional pode estar sujeito a
cobrança a partir do momento em que for solicitado. Para maiores informações, favor entrar em contato
com seu adquirente.

Para utilizar a funcionalidade AVS, perante maxiPago!, é preciso enviar um e-mail para o
suporte@[Link] com o Subject "Habilitar AVS" e garantir que os dados do comprador sejam
informados de forma correta.

Soft Descriptor
Para lojistas que utilizam a Cielo existe a possibilidade de inserir um campo descritivo que ira aparecer
na fatura do cliente. Esta funcionalidade esta disponível para as bandeiras Visa, JCB, Mastercard,
Aura, Diners e Elo nas transações de autorização ou sale.

Os valores do Soft Descriptor devem vir encapsulados pelos tags <softDescriptor> que por sua vez
esta no nó <payment>

A maxiPago! permite capturar 13 caracteres que podem ser unicamente alfanuméricos. Entretanto
quando a transação é integrada à Cielo dependendo do tamanho do nome da sua loja ele pode sofrer
um corte. Segue abaixo a regra da Cielo:

- Visa / JCB: 25 caracteres

- Mastercard / Aura: 22 caracteres

- Diners / Elo: 20 caracteres

[Nome da Loja] + [Asterisco] + [Soft Descriptor] = [20, 22 ou 25] caracteres.

Na eventualidade da soma do nome da loja e Soft Descriptor exceder o limite de caracteres, o texto
do Soft Descriptor será truncado da direita para esquerda. Lembrando ainda que o espaço em branco
entre o nome da loja e o texto é contabilizado como 01 caractere.

OBS: Para conhecer e/ou alterar o nome da loja que será impresso na fatura do portador entre em
contato com a central de relacionamento Cielo.

maxiPago! Smart Payments © 2013 29


fraudControl! – Controle de Fraude

A maxiPago! fez uma parceria com uma das mais comentadas soluções contra fraude que existem
atualmente, a Kount ([Link]). Suas ferramentas contra fraudes estão totalmente integradas
na nossa solução e permitem que o lojista envie uma transação de cartão e faça a análise de fraude
em uma requisição única e com resposta em tempo real.

Uma das grandes vantagens da Kount é que ela conta com um sistema de Análise em Tempo-Real que
possui Device Fingerprinting multi-camada, Proxy Piercing, Geolocalização, Velocity, Ligação
entre lojitas, Proteção a aparelhos Mobile e Score dinâmico.

Para que a análise seja completa o Lojista precisa incluir na sua página de Check Out um iFrame que
aponta para a maxiPago!. Este iFrame, detalhado mais abaixo, permite que o browser do comprador
seja analisado pelo algoritmo da Kount e é de extrema importância para o funcionamento do sistema
de fraude.

Apesar da solução Kount estar integrada na nossa plataforma de pagamentos, ela é um produto contratado
separadamente. Portanto, antes de testar, verifique com nossa equipe se você adquiriu este produto.

30
iFrame para análise de browser

Uma peça chave do fraudControl! é a análise do browser do comprador. Com esta informação é
possível traçar uma “impressão digital” da máquina do comprador e avaliar a probabilidade daquela
transação ser uma fraude onde, por exemplo, o computador está em um fuso horário da Rússia, mas o
endereço de entrega é no RJ.

Segue abaixo o fluxo geral dos dados de transações envolvendo o antifraude:

maxiPago! Smart Payments © 2013 31


Para permitir a análise, o Lojista precisa incluir na sua página de check-out um iFrame, com os
campos abaixo:

Campo Descrição
Corresponde ao ID de Loja (merchantId) criado pela maxiPago!.
m
Exemplo: 100
Número do pedido (referenceNum) criado pelo Lojista.
s Este valor deve ser o mesmo passado no campo ‘referenceNum’ da API
Exemplo: ORD12345678
Chave secreta usada exclusivamente para a criação deste Hash. Esta
k chave deve ser solicitada para suporte@[Link].
Exemplo: key1234567890abcd
Hash HMAC-MD5 de validação, formado pela concatenação dos campos m e s,
intercalados pelo símbolo * (asterisco) e computados pelo algoritmo MD5
h
com a chave k
Exemplo: fe220a160c7fa6f7fc104185f8663e45

O detalhamento do fluxo do cálculo do h esta descrito no seguinte diagrama:

O iFrame fica, então, da seguinte forma:

<iframe width="1" height="1" frameborder="0"


src="[Link]
RD12345678&h=fe220a160c7fa6f7fc104185f8663e45"></iframe>

32
A maxiPago! sugere o uso de algumas ferramentas para testar a correta implantação do iFrame:

 Caso deseje apenas validar o cálculo do Hash, dentre os vários sites disponíveis
recomendamos usar este:

[Link] (coloque MD5 no digest


algorithm)

 Caso o objetivo seja testar o carregamento do iFrame diretamente na página web, a página
deve ser colocada no ar e visualizada em um navegador com a opção “Inspecionar
elemento” (acessível pelo atalho F12 no Chrome ou no Firefox). O elemento que deve
carregar ([Link]) esta visível nas abas “Network” e “Resources”/”Cokies”
conforme telas abaixo:

maxiPago! Smart Payments © 2013 33


A confirmação de que o elemento carregou corretamente pode ser obtida abrindo em uma nova janela
no endereço:
[Link]
0c7fa6f7fc104185f8663e45.

Ao dar carregar, a página deve automaticamente ser redirecionada para:


[Link] e carregar uma imagem de um pequeno retângulo
verde conforme imagem abaixo:

34
Note que as seguintes diferenças existem entre o ambiente de teste e de produção:

 O número do estabelecimento (m) não é o mesmo


 A chave secreta (k) não é a mesma
 O texto “test” sai na URL

[Link]
0c7fa6f7fc104185f8663e45

O texto “tst” é substituído por “ssl” na URL [Link] de


resposta.

maxiPago! Smart Payments © 2013 35


Requisições de Fraude

As chamadas para o fraudControl! fazem parte da nossa API. Portanto, não há a necessidade de
métodos adicionais. Se o serviço estiver contratado, basta enviar uma transação para que ela seja
verificada.

Para escolher quais transações serão passadas pelo serviço e quais serão processadas sem
checagem de fraude, basta incluir o campo <fraudCheck/> na requisição com os valores Y ou N. Ou
se preferir solicite que todas as transações de cartão de crédito sejam enviadas para o
fraudControl!

Exemplo de chamada com fraudControl!:


<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<auth>
<processorID>1</processorID>
<referenceNum>ORD899999</referenceNum>
<billing>
<name>Nome do Comprador</name>
<address>Endereco do Comprador</address>
<city>Cidade</city>
<state>UF</state>
<postalcode>00000000</postalcode>
<country>BR</country>
<phone>11999999999</phone>
<email>email_comprador@[Link]</email>
</billing>
<shipping>
<name>Comprador Ship (111.111.111-11)</name> >
<!-- Nome do contato de ENTREGA e CPF do COMPRADOR(Billing)-->
<address>Endereco de entrega</address>
<city>Cidade de entrega</city>
<state>UF</state>
<postalcode>00000000</postalcode>
<country>BR</country>
<phone>11999999999</phone>
<email>email_entrega@[Link]</email>
</shipping>
<fraudCheck>Y</fraudCheck>
<transactionDetail>
<payType>
<creditCard>
<number>4111111111111111</number>
<expMonth>12</expMonth>
<expYear>2050</expYear>
<cvvNumber>999</cvvNumber>
</creditCard>
</payType>

36
</transactionDetail>
<payment>
<currencyCode>BRL</currencyCode>
<chargeTotal>1.00</chargeTotal>
</payment>
</auth>
</order>
</transaction-request>

Exemplo de chamada sem fraudControl! :


<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<sale>
<processorID>1</processorID>
<referenceNum>987654321</referenceNum>
<fraudCheck>N</fraudCheck>
<transactionDetail>
<payType>
<creditCard>
<number>4111111111111111</number>
<expMonth>12</expMonth>
<expYear>2020</expYear>
<cvvNumber>999</cvvNumber>
</creditCard>
</payType>
</transactionDetail>
<payment>
<currencyCode>BRL</currencyCode>
<chargeTotal>12.00</chargeTotal>
</payment>
</sale>
</order>
</transaction-request>

Respostas de Fraude

A resposta da avaliação de fraude é retornada junto com a resposta da transação de cartão de crédito.
O valor do campo responseCode indicará o status da transação e o campo fraudScore trará a nível
de risco para a transação, sendo 0 a mais segura e 99 a mais arriscada.

Abaixo temos a lista completa de valores retornados no responseCode:


Valor Descrição Ações do Lojista
0 Transação APROVADA Nenhuma, pedido Aprovado
1 Transação NEGADA pela Adquirente Nenhuma, pedido Negado
Transação NEGADA: Transação DUPLICADA ou Nenhuma, pedido Negado
2
alto risco de FRAUDE
5 Transação EM REVISÃO: análise de FRAUDE Revisar pedido e executar

maxiPago! Smart Payments © 2013 37


ação manual no Portal:
APROVAR
Disponível somente para Autorizações NEGAR
1024 Erro nos parâmetros enviados pelo lojista Revisar requisição
2048 Erro interno na maxiPago! Contatar Suporte maxiPago!

Requisições de Transação - Boleto

As transações feitas com Boleto funcionam um pouco diferente das transações com cartão de crédito.
Ao receber os dados do pedido nós geramos um boleto, disponível online, e retornamos ao
Estabelecimento a URL de acesso para este boleto. Ela pode ser acessada a qualquer momento antes
do vencimento do boleto e até 60 dias após o vencimento.

O Estabelecimento tem a opção abrir o boleto imediatamente em seu site, fornecer o link para que o
comprador abra o boleto ou enviar o link por e-mail. Seja qual for a escolha, recomendamos guardar a
URL do boleto caso seja necessária uma [Link].

Gerando um boleto

Para gerar um boleto, além de passar os dados básicos da transação é preciso enviar o Nosso
Número, ou número do boleto. Este campo identifica o boleto dentro do banco e é usado para
conciliar o pagamento. Portanto, o Nosso Número deve ser único para cada boleto a fim de evitar
problemas na conciliação.

O boleto é uma transação de venda direta, ou seja, utiliza a mesma tag <sale/>. Os dados do boleto,
contudo, são passados dentro do elemento <boleto/>. Um boleto é sempre nominal, portanto faz-se
necessário o envio dos dados do comprador no elemento <billing/>, sendo obrigatório somente o
nome.

Os parâmetros recebidos na geração de um boleto são:


Nome Descrição
version
Versão da API
(obrigatório)
merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)
merchantKey
Chave associada ao ID de Loja
(obrigatório)
referenceNum Identificador único do pedido
(obrigatório) Este campo aceita apenas valores alfanuméricos
processorID Código do meio de pagamento
(obrigatório) Boleto Itaú = 11

38
Boleto Bradesco = 12 (USE ‘12’ PARA TESTES)
Boleto Banco do Brasil = 13
HSBC = 14
Santander = 15
Caixa Econômica Federal = 16
ipAddress Endereço de IP do comprador
Valor do pedido.
chargeTotal
Os decimais devem ser separados por ponto (".")
(obrigatório)
Exemplo: 15.00 ou 1649.99
expirationDate
Data de vencimento do boleto. Formato AAAA-MM-DD
(obrigatório)
Número do boleto (Nosso Número), usado para identificar o
boleto dentro do banco.
number Este valor precisa ser único
(obrigatório) Itaú = máximo de 8 números
Bradesco = máximo de 10 números
Banco do Brasil = máximo de 10 números
Instruções a serem impressas no boleto. Use ponto e vírgula
(“;”) para pular uma linha.
instructions
Exemplo: “Sr. Caixa, não aceitar após o vencimento.;Referente
ao pedido 123.”

Abaixo temos um exemplo de XML de geração de boleto:


<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<sale>
<processorID>12</processorID>
<referenceNum>00987</referenceNum>
<ipAddress>[Link]</ipAddress>
<billing>
<name>Fulano de Tal</name>
<address>Av. República do Chile, 230</address>
<address2>16 Andar</address2>
<city>Rio de Janeiro</city>
<state>RJ</state>
<postalcode>20031170</postalcode>
<country>BR</country>
<phone>2140099400</phone>
<email>fulanodetal@[Link]</email>
</billing>
<transactionDetail>
<payType>
<boleto>
<expirationDate>2022-12-25</expirationDate>
<number>0112233</number>
</boleto>
</payType>

maxiPago! Smart Payments © 2013 39


</transactionDetail>
<payment>
<chargeTotal>12.00</chargeTotal>
</payment>
</sale>
</order>
</transaction-request>

Conciliando pagamentos de boleto

A confirmação de pagamento do boleto é offline. A maxiPago! recebe um arquivo de pagamento do


banco listando os boletos pagos para o Estabelecimento. Nós então processamos este arquivo e
atualizamos o status do pedido, que pode ser checado pelo Portal ou pela Requisição de Consulta.
Para mais informações sobre a confirmação de pagamentos de Boleto contate nossa equipe de
Suporte.

Requisições de Transação – Koin Pós-Pago

A Koin é único modelo da América Latina de pagamento Pós-Pago.


Ao escolher a Koin como meio de pagamento, o comprador só paga pelo produto após a entrega. Essa
opção de pagamento não altera o prazo de entrega nem gera custo adicional. E o lojista recebe pelo o
que vendeu, sem o risco de inadimplência e fraude.
Para saber mais do produto, acesse o site [Link].

O <payType> para transações Koin é <deferredPayment>


Cancelamentos de transações Koin devem ser solicitadas diretamente no SAC da Koin:
(11) 2626-2851

Nome Descrição
version
Versão da API
(obrigatório)
merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)
merchantKey
Chave associada ao ID de Loja
(obrigatório)
Identificador do pedido no Estabelecimento
referenceNum
(obrigatório) Este campo aceita apenas valores alfanuméricos
e deve ser único
IP
Endereço IP do comprador
(obrigatório)
name Billing: Nome do Comprador
(obrigatório)
Billing: Valores aceitos:
addressType
 Residential
(obrigatório)
 Commercial

40
addressNumber Billing: Numeração do endereço / string / 10
(obrigatório) chars
address
Billing: Logradouro / string / 100 chars
(obrigatório)
address2 Billing: Complemento / string / 128 chars
city
Billing: Cidade / string / 64 chars
(obrigatório)
district
Billing: Bairro / string / 64 chars
(obrigatório)
state
Billing: Estado / string / 2 chars
(obrigatório)
postalcode
Billing: CEP / string / 10 chars
(obrigatório)
country
Billing: País com 2 letras (ISO 3166-2) ex: BR
(obrigatório)
email Billing: Email do Comprador / string / 128
(obrigatório) chars
Shipping: Valores aceitos:
addressType  Residential
 Commercial
Shipping: Numeração do endereço / string / 10
addressNumber
chars
address Shipping: Logradouro / string / 100 chars
address2 Shipping: Complemento / string / 128 chars
city Shipping: Cidade / string / 64 chars
district Shipping: Bairro / string / 64 chars
state Shipping: Estado / string / 2 chars
postalcode Shipping: CEP / string / 10 chars
Shipping: País com 2 letras (ISO 3166-2) ex:
country
BR
deliveryDate Shipping: Data prevista da entrega
Shipping: Tipo de entrega. Atualmente apenas:
shippingType
Correios
Código utilizado no processo de análise de risco.-
Obtido conforme descrição no quadro descritivo
fraudId fraudId abaixo.
(obrigatório)

Ex: cfbec22f99d2f557e1426821c42ed3dd

requestDate Formato: yyyy-MM-dd HH:mm:ss’


(obrigatório) Exemplo: 2014-05-09 11:40:32
Desconto percentual sobre o valor da
discountPercent
transação; decimal 5
Desconto absoluto sobre o valor da transação;
discountValue
decimal 10
increasePercent Acréscimo percentual sobre o valor; decimal 5
increaseValue Acréscimo absoluto sobre o valor; decimal 10
isGift Define se o produto é um presente / informar
(obrigatório) sempre “true” ou “false”
isFirstPurchase Comprador: informar sempre “true” ou “false”
isReliable Comprador: informar sempre “true” ou “false”
buyerType Comprador:

maxiPago! Smart Payments © 2013 41


(obrigatório) Pessoa Física: "Individual"
Pessoa Jurídica: "Legal entity"
OBS: Atualmente a Koin só aceita PF
documentList documentCount="n" Comprador:
(obrigatório) Quantidade de documentos do comprador / int 1
documentIndex
Comprador: de 1 a n; integer 1
(obrigatório)
Comprador: Valores aceitos:
 CPF (obrigatório)
documentType  RG
(obrigatório)  CNPJ
 StateRegistration
 MunicipalRegistration
documentValue
Comprador: Exemplo: 123.456.798-91; string 20
(obrigatório)
additionalInfoList Comprador:
additionalInfoCount="n"
(obrigatório) N de informações complementares do comprador
additionalInfoIndex
Comprador: de 1 a n
(obrigatório)
Comprador: Valores aceitos:
additionalInfoType  BirthDay (obrigatório)
(obrigatório)  RazaoSocial
 FoundingDate
additionalInfoValue
Comprador: format: YYYY-mm-dd ex: “1988-01-31”
(obrigatório)
phoneList phoneCount="n" Comprador:
(obrigatório) Quantidade de números de telefones
phoneIndex
Comprador: de 1 a n
(obrigatório)
Comprador: Tipo de telefone / Valores aceitos:
 Residential*
phoneType
(obrigatório)  Commercial*
 Mobile*
(*) ao menos um dos valores deve ser enviado
phoneAreaCode Comprador: Código de área / Integer / 5 - Ex:
(obrigatório) 11
phoneNumber Comprador: Número de telefone / String / 12 /
(obrigatório) Ex: 98765-4321
Valor do pedido. Os decimais devem ser
chargeTotal
separados por ponto (".")
(obrigatório)
Exemplo: 15.00 ou 1649.99
Valor do frete que será cobrado. Os decimais
shippingTotal devem ser separados por ponto (".")
Exemplo: 15.00 ou 1649.99
currencyCode Código da moeda da transação no formado ISO
(obrigatório) 4217 / Atualmente aceita apenas “BRL” (Brasil)
itemlist itemCount="n" Itens:
(obrigatório) Quantidade de itens diferentes do pedido
itemIndex
Itens: Enumerador do item de 1 a n
(obrigatório)
itemReference Itens: Código do Item; String 50
(obrigatório) Ex: 1234abcd
itemDescription Itens: Discrição do Item; String 100
(obrigatório) Ex: Facas Ginsu

42
Itens: Categoria do produto; Strin 50
itemProductCode
Ex: Acessórios de cozinha
itemQuantity
Itens: Quantidade deste item; Integer 10
(obrigatório)
Valor do Item. Os decimais devem ser separados
itemTotalAmount
por ponto (".")
(obrigatório)
Exemplo: 15.00 ou 1699.99
Itens: Tipo do atributo do produto; String
itemInfo1
Ex: Cor, Tamanho, RAM
Itens: Valor do atributo do produto; String
itemValue1
Ex: Vermelho, 42, 16MB
Itens: Tipo do atributo do produto; String
itemInfo2
Ex: Layout, Tamanho, Processador
Itens: Valor do atributo do produto; String
itemValue2
Ex: ABNT, 42, Core i7-4930k

Geração do FraudId

O FraudId Koin trata-se de uma variável gerada por uma lib JS e é utilizado por um
processos de análise de risco, com ele é possivel garantirmos o máximo de segurança aos
pedidos realizados.

Links para importar o JS Koin:

JS Koin (Ambiente de teste)



 [Link]

JS Koin (Ambiente de produção)



 [Link]

O FraudId Koin deve ser gerado por sessão e ser obtido diretamente pelo checkout de sua
loja, ou seja, para cada nova requisição à API de Geração de Pedidos, um novo FraudId
deve ser gerado.

Exemplo de como se obter o FraudId

1. <html>
2. <head>
3. <script type="text/javascript"
src="[Link]
4. <script type="text/javascript">
5. [Link] = function() {
6. GetKoinFraudID(function (guid) {

maxiPago! Smart Payments © 2013 43


7. [Link]('fraudId').innerHTML =
guid;});
8. }
9. </script>
10. </head>
11. <body>
12. FraudId <span>id="fraudId"></span>
13. </body>
14. </html>

Segue abaixo um exemplo de transação Koin:

<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<sale>
<processorID>10</processorID>
<referenceNum>Reference</referenceNum>
<ipAddress>[Link]</ipAddress>
<billing>
<name>Fulano da Silva</name>
<addressType>Residential</addressType>
<addressNumber>1001 B</addressNumber>
<address>Rua Vitoria do Brasil</address>
<address2>Apartamento 2014</address2>
<city>Rio de Janeiro</city>
<district>Tijuca</district>
<state>RJ</state>
<postalcode>20271-150</postalcode>
<country>BR</country>
<email>camisa10@[Link]</email>
</billing>
<shipping>
<addressType>Residential</addressType>
<addressNumber>1001 B</addressNumber>
<address>Rua Vitoria do Brasil</address>
<address2>Apartamento 2014</address2>
<city>Rio de Janeiro</city>
<district>Tijuca</district>
<state>RJ</state>
<postalcode>20271-150</postalcode>
<country>BR</country>

44
<deliveryDate>2014-07-13 07:24:37</deliveryDate>
<shippingType>Correios</shippingType>
</shipping>
<transactionDetail>
<payType>
<deferredPayment>
<koin>
<fraudId>maxiPago</fraudId>
<requestDate>2014-06-12 07:24:37</requestDate>
<discountPercent>1.0</discountPercent>
<discountValue>0.0</discountValue>
<increasePercent>0.0</increasePercent>
<increaseValue>0.0</increaseValue>
<isGift>false</isGift>
<buyer>
<isFirstPurchase>false</isFirstPurchase>
<isReliable>true</isReliable>
<buyerType>Individual</buyerType>
<documentList documentCount="2">
<document>
<documentIndex>1</documentIndex>
<documentType>CPF</documentType>
<documentValue>259228370-60</documentValue>
</document>
<document>
<documentIndex>2</documentIndex>
<documentType>RG</documentType>
<documentValue>21231235</documentValue>
</document>
</documentList>
<additionalInfoList additionalInfoCount="2">
<additionalInfo>
<additionalInfoIndex>1</additionalInfoIndex>
<additionalInfoType>BirthDay</additionalInfoType>
<additionalInfoValue>1970-06-21</additionalInfoValue>
</additionalInfo>
<additionalInfo>
<additionalInfoIndex>2</additionalInfoIndex>
<additionalInfoType>MotherName</additionalInfoType>
<additionalInfoValue>do Nascimento</additionalInfoValue>
</additionalInfo>
</additionalInfoList>
<phoneList phoneCount="1">
<buyerPhone>
<phoneIndex>1</phoneIndex>
<phoneType>Commercial</phoneType>
<phoneAreaCode>11</phoneAreaCode>
<phoneNumber>4800-4666</phoneNumber>
</buyerPhone>
</phoneList>
</buyer>

maxiPago! Smart Payments © 2013 45


</koin>
</deferredPayment>
</payType>
</transactionDetail>
<payment>
<chargeTotal>1.1</chargeTotal>
<shippingTotal>0.1</shippingTotal>
<currencyCode>BRL</currencyCode>
</payment>
<itemList itemCount="2">
<item>
<itemIndex>1</itemIndex>
<itemReference>1234</itemReference>
<itemDescription>Bola de Futebol</itemDescription>
<itemProductCode>Material esportivo</itemProductCode>
<itemQuantity>2</itemQuantity>
<itemTotalAmount>49.99</itemTotalAmount>
<itemInfo1>Model</itemInfo1>
<itemValue1>Campo</itemValue1>
<itemInfo2>Peso</itemInfo2>
<itemValue2>500g</itemValue2>
</item>
<item>
<itemIndex>2</itemIndex>
<itemReference>5678</itemReference>
<itemDescription>Camisa da Seleção</itemDescription>
<itemProductCode>Material indefinido</itemProductCode>
<itemQuantity>3</itemQuantity>
<itemTotalAmount>129.90</itemTotalAmount>
<itemInfo1>Pais</itemInfo1>
<itemValue1>Brasil</itemValue1>
<itemInfo2>Sexo</itemInfo2>
<itemValue2>M</itemValue2>
</item>
</itemList>
</sale>
</order>
</transaction-request>

46
Requisições de Transação – PayPal

O PayPal é um dos maiores e-wallets (carteira virtual) mundiais. Utilizando a api maxiPago! é possível
se conectar ao Paypal via maxiPago! para processamento das transações por esse meio de
pagamento.

Para que a maxiPago! se conecte ao Paypal é necessário realizar o envio das informações
relacionadas ao lojista:

 Usuário
 Senha
 Assinatura

Obs: Para adquirir seu usuário, senha e assinatura é necessário acessar sua conta PayPal como
desenvolvedor para coletar esses dados.

Informando esses dados à maxiPago! é possível realizar as configurações necessárias para que a
maxiPago! se conecte ao PayPal.

Segue abaixo a estrutura de dados de uma transação utilizando o PayPal:

Name Description
version
A versão da API
(Obrigatório)
merchantId
ID de Loja que identifica o Estabelecimento
(Obrigatório)
merchantKey
Chave associada ao ID de Loja
(Obrigatório)
Identificador único do pedido
referenceNum
(Obrigatório) Este campo aceita apenas valores alfanuméricos
processorID Código do método de pagamento
(Obrigatório) PayPal= 7
parametersURL
(Obrigatório) Tipo de URL fixa a ser enviada : type=paypal

Os dados da transação poderão ser informados utilizando o XML abaixo:

<transaction-request>
<version>[Link]</version>

maxiPago! Smart Payments © 2013 47


<verification>
<merchantId>1111</merchantId>
<merchantKey>xxxxxxxxxxxxxxxxxxxxxxx</merchantKey>
</verification>
<order>
<sale>
<processorID>X</processorID>
<referenceNum>2015113001</referenceNum>
<shipping>
<name>Fulano de Tal</name>
<address>Rua de Teste, 123</address>
<city>São Paulo</city>
<state>SP</state>
<postalcode>12345000</postalcode>
<country>BR</country>
</shipping>
<transactionDetail>
<payType>
<eWallet>
<parametersURL>type=paypal</parametersURL>
</eWallet>
</payType>
</transactionDetail>
<payment>
<chargeTotal>149.99</chargeTotal>
<shippingTotal>10.00</shippingTotal>
</payment>
<itemList itemCount="3">
<item>
<itemIndex>1</itemIndex>
<itemProductCode>Produto de Teste Um</itemProductCode>
<itemDescription>Certificação de Integração PayPal</itemDescription>
<itemQuantity>2</itemQuantity>
<itemTotalAmount>30.00</itemTotalAmount>
<itemUnitCost>15.00</itemUnitCost>
</item>
<item>
<itemIndex>2</itemIndex>
<itemProductCode>Produto de Teste Dois</itemProductCode>
<itemDescription>Certificação de Integração PayPal</itemDescription>
<itemQuantity>2</itemQuantity>
<itemTotalAmount>10.00</itemTotalAmount>
<itemUnitCost>5.00</itemUnitCost>
</item>
<item>
<itemIndex>3</itemIndex>
<itemProductCode>Produto de Teste Três</itemProductCode>
<itemDescription>Certificação de Integração PayPal</itemDescription>
<itemQuantity>3</itemQuantity>
<itemTotalAmount>99.99</itemTotalAmount>
<itemUnitCost>33.33</itemUnitCost>

48
</item>
</itemList>
</sale>
</order>
</transaction-request>

Requisições de Transação – Transferência Bancária

A transferência é um método de pagamento onde o comprador é redirecionado para a página de


pagamento do seu banco, entra em sua conta corrente e autoriza o débito para o Estabelecimento.

Depois de ter autorizado o pagamento o comprador é redirecionado para a URL de Sucesso ou para a
URL de Erro cadastradas pelo lojista, a depender do resultado da transação.

ATENÇÃO
Para que possamos habilitar esse serviço é preciso que você envie para a nossa equipe de Suporte as
seguintes informações:

* URL de Sucesso, para onde o comprador será redirecionado se a compra for Aprovada
* URL de Erro, para onde o comprador será redirecionado se a compra for Negada

Não será possível o envio de testes sem que as duas URLs estejam cadastradas

Enviando uma transação de transferência

Por se tratar de um meio de pagamento que obriga o redirecionamento para um ambiente externo,
permitimos o envio de parâmetros adicionais em GET para facilitar o rastreamento do pedido.

Os campos aceitos pela requisição de débito online estão abaixo:


Name Description
version
A versão da API
(Obrigatório)
merchantId
ID de Loja que identifica o Estabelecimento
(Obrigatório)
merchantKey
Chave associada ao ID de Loja
(Obrigatório)
referenceNum
Identificador único do pedido
(Obrigatório)

maxiPago! Smart Payments © 2013 49


Este campo aceita apenas valores alfanuméricos
Código do método de pagamento
processorID
Bradesco = 17 (USE ‘17’ PARA TESTES)
(Obrigatório)
Itaú = 18
customerIdExt
(obrigatório CPF ou CNPJ do comprador. Somente números
para Itaú)
name
(obrigatório Nome do comprador
para Itaú)
address
(obrigatório Endereço do comprador
para Itaú)
address2
(obrigatório Bairro do comprador
para Itaú)
city
(obrigatório Cidade do comprador
para Itaú)
state
(obrigatório Estado do comprador com 2 letras
para Itaú)
postalcode
(obrigatório CEP do comprador. Somente números
para Itaú)
country
(obrigatório País do comprador com 2 letras (ISO 3166-2)
para Itaú)
Valor do pedido.
chargeTotal Os decimais devem ser separados por ponto (".")
(Obrigatório) Exemplo: 15.00 ou 1649.99
Parâmetro que será enviado em GET para a URL de Sucesso ou URL
parametersURL de Falha ao redirecionar o comprador de volta para o lojista.
(Obrigatório) Por favor, deixe o campo vazio (não nulo) se não for usado.
Exemplo: purchaseCode=123456&amp;id=a1b2c3 (HTML encoded)

50
Abaixo temos o XML para uma transação de débito on-line:
<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<sale>
<processorID>17</processorID>
<referenceNum>ORD4827294</referenceNum>
<ipAddress>[Link]</ipAddress>
<customerIdExt>12345678909</customerIdExt>
<billing>
<name>Fulano de Tal</name>
<address>Av. República do Chile, 230</address>
<address2>Vila Íris</address2>
<city>Rio de Janeiro</city>
<state>RJ</state>
<postalcode>20031170</postalcode>
<country>BR</country>
</billing>
<transactionDetail>
<payType>
<onlineDebit>

<parametersURL>id=123456&amp;tp=3</parametersURL>
</onlineDebit>
</payType>
</transactionDetail>
<payment>
<chargeTotal>1.00</chargeTotal>
</payment>
</sale>
</order>
</transaction-request>

Para testar a Transferência Bancária Bradesco, utilize os valores abaixo, sendo que a senha é
11111111:

maxiPago! Smart Payments © 2013 51


Retorno de Transação

O retorno das requisições de transação possui um padrão único, independentemente do tipo de


transação efetuada. Contudo, nem todos os campos são retornados em todas as transações.

Os seguintes parâmetros são retornados dentro do nó raiz <transaction-response/>:


Nome Descrição
URL para geração do Boleto
boletoURL
Recomenda-se salvar esta URL para uso futuras
URL para redirecionamento do Débito Online
onlineDebitURL O cliente deve ser redirecionado para esta URL para
completar a transação
URL de autenticação
authenticationURL O cliente deve ser redirecionado para esta URL para
completar a etapa de autenticação.
authCode Código de autorização retornado pela adquirente
referenceNum Confirmação do código enviado na requisição.
ID do pedido, gerado pela maxiPago!.
orderID Deve-se salvar este campo para futuras referências
ao pedido.
ID da transação, gerado pela maxiPago!.
transactionID Deve-se salvar este campo para futuras referências
ao pedido.
Data/hora da transação em formato epoch1.
transactionTimestamp
Veja aqui2 instruções de conversão.
Indicador do status da transação na maxiPago!.

Você deve utilizar APENAS este campo para validar o


resultado de uma transação. Não utilize outros
campos da resposta para determinar o sucesso ou
falha de uma transação.

0 = Aprovada (*)
1 = Negada
responseCode 2 = Negada por Duplicidade ou Fraude
5 = Em Revisão (Análise Manual de Fraude)
1022 = Erro na operadora de cartão
1024 = Erro nos parâmetros enviados
Ver 'responseMessage' para mais informações
1025 = Erro nas credenciais
2048 = Erro interno na maxiPago!
4097 = Timeout com a adquirente
(*): Para adquirentes com estorno online, o
valor 0 significa que o estorno já foi

1
Mais informações sobre o formato epoch (ou Unix time): [Link]

2
Exemplos de conversão dos valores: [Link]

52
processado, para os offline significa que o
estorno está sendo processado (neste caso pode
ser posteriormente verificado pela API de
consulta)
responseMessage Mensagem de resposta da transação
Resposta da verificação AVS, se houver:
-X: O numero da rua e o CEP batem,
-A: O numero da rua bate mas o CEP não,
-N: Nem o numero da rua nem o CEP batem,
-S: O serviço não esta disponível para este cartão,
avsResponseC
-C: Serviço indisponível
ode
-W: O CEP bate mas o numero da rua não.

OBSERVAÇÃO: sugerimos que a resposta AVS seja usada


para avaliação manual do risco

Código de retorno da Adquirente


processorCode
Linha Digitável do Boleto
processorMessage Mensagem de retorno da Adquirente
Número de referência da Adquirente
processorReferenceNumber Cielo: NSU
Rede: Comprovante de Venda (CV)
ID da transação na Adquirente.
processorTransactionID Cielo: TID
Rede: NSU
Valor de score retornado pelo fraudControl!
fraudScore
Quanto menor o valor, menor o risco da transação
errorMessage Mensagem de erro, se houver
Presente só quando um cartão é salvo
automaticamente, traz o token único daquele cartão.
token Vem dentro do elemento <save-on-file/>.
É muito importante guardar esta informação para
futura referência!
Presente só quando há erro na tentativa de salvar
error automaticamente o cartão, traz a mensagem de erro.
Vem dentro do elemento <save-on-file/>.

maxiPago! Smart Payments © 2013 53


Transação Aprovada
<?xml version="1.0" encoding="UTF-8"?>
<transaction-response>
<authCode>005772</authCode>
<orderID>7F000001:013829A1C09E:8DE9:016891F0</orderID>
<referenceNum>123456789</referenceNum>
<transactionID>1418605</transactionID>
<transactionTimestamp>1340728262</transactionTimestamp>
<responseCode>0</responseCode>
<responseMessage>CAPTURED</responseMessage>
<avsResponseCode/>
<cvvResponseCode/>
<processorCode>0</processorCode>
<processorMessage>APPROVED</processorMessage>
<errorMessage/>
<processorTransactionID>2612953</processorTransactionID>
<processorReferenceNumber>689472845</processorReferenceNumber>
<fraudScore>29</fraudScore>
<save-on-file>
<token>eBUv/SIBJv0=</token>
</save-on-file>
</transaction-response>

Transação Negada
<?xml version="1.0" encoding="UTF-8"?>
<transaction-response>
<authCode/>
<orderID>7F000001:013D16CF1461:F0EF:014EDA77</orderID>
<referenceNum>2012071201</referenceNum>
<transactionID>3308</transactionID>
<transactionTimestamp>1361887302962</transactionTimestamp>
<responseCode>1</responseCode>
<responseMessage>DECLINED</responseMessage>
<avsResponseCode>NNN</avsResponseCode>
<cvvResponseCode>N</cvvResponseCode>
<processorCode>D</processorCode>
<processorMessage>DECLINED</processorMessage>
<errorMessage/>
</transaction-response>

Parâmetros Inválidos
<?xml version="1.0" encoding="UTF-8"?>
<transaction-response>
<authCode/>
<orderID/>
<referenceNum/>
<transactionID/>
<transactionTimestamp>1361887531821</transactionTimestamp>
<responseCode>1024</responseCode>
<responseMessage>INVALID REQUEST</responseMessage>
<avsResponseCode/>
<cvvResponseCode/>
<processorCode/>
<processorMessage/>

54
<errorMessage>Credit Card Number is not a valid credit card
number.</errorMessage>
</transaction-response>

Na tabela abaixo temos as mensagens de erro mais comuns para o Erro 1024:
Mensagem Descrição
Credit Card Number is not a valid
Número de cartão de crédito não é válido
credit card number
The transaction has an expired
Data de vencimento do cartão não é válida
credit card
A transaction with boletoNumber = O campo ‘boletoNumber’ enviado já existe
XXX already exists in the database em nosso sistema para este lojista
Transaction Amount is not a valid
number in the range of 0.01 to O valor da transação não é válido
1.0E14
Request is invalid and can not be O campo ‘processorID’ enviado não é
processed válido

Outros erros
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<api-error>
<errorCode>1</errorCode>
<errorMsg><![CDATA[Schema validation for the vertical SA for the
incoming transaction xml failed. Reason Parser Error: URI=null Line=1: cvc-
datatype-valid.1.2.1: '100,01' is not a valid value for
'decimal'.]]></errorMsg>
</api-error>

maxiPago! Smart Payments © 2013 55


Requisições de Cadastro

As requisições de cadastro executam ações não-transacionais no sistema. Estas funções estão


ligadas principalmente ao produto quickPago!, que permite salvar o cartão de crédito do cliente em
nossa base e gerenciar futuras transações a partir de um token único.

Atenção!

A URL das Requisições de Cadastro é diferente da usada para as transações, e não há versão de API.

URL de Teste: [Link]

A estrutura do XML é um pouco diferente nas requisições de Transação. A validação das credenciais
permanece a mesma, mas surgem dois novos elementos, além de ter outro nó-raiz: <api-request/>.

O elemento <command/> determina a função a ser executada, enquanto que o nó <request/> contém
os detalhes da requisição. Os comandos disponíveis são:

● add-consumer: cria um cadastro para o cliente com as suas informações básicas. Sem um
cadastro não é possível executar as demais funções.
● delete-consumer: remove o cadastro do cliente
● update-consumer: atualiza o cadastro do cliente
● add-card-onfile: adiciona um cartão de crédito ao cadastro do cliente
● delete-card-onfile: remove um cartão de crédito do cadastro do cliente

A estrutura básica do XML fica, então, da seguinte forma:


<api-request>
<verification>
<merchantId/>
<merchantKey/>
</verification>
<command/>
<request>

</request>
</api-request>

56
Adicionar um cliente

Antes de se adicionar um cartão à base é preciso criar um cadastro do cliente usando o comando add-
consumer.
Os parâmetros aceitos no comando add-consumer estão abaixo. Se o campo for vazio, não enviar.
Nome Descrição
merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)
merchantKey
Chave associada ao ID de Loja
(obrigatório)
command Comando a ser executado
(obrigatório) Para criar um cadastro: add-consumer
customerIdExt
Identificador interno do Estabelecimento para o cliente.
(obrigatório)
firstName
Nome do cliente
(obrigatório)
lastName
Sobrenome do cliente
(obrigatório)
address1 Endereço da residência do cliente
address2 Endereço da residência do cliente - Complemento
city Cidade da residência do cliente
UF da residência do cliente
state
2 letras seguindo padrão brasileiro. ZZ = Fora do Brasil.
zip CEP da residência do cliente
country País (ISO 3166-2)
phone Telefone do cliente
email E-mail do cliente
Data de nascimento do cliente
dob
Formato MM/DD/AAAA
sex Sexo do cliente. F = Feminino | M = Masculino

O XML exemplo abaixo cria a conta de um cliente:


<api-request>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<command>add-consumer</command>
<request>
<customerIdExt>00000001</customerIdExt>
<firstName>Fulano</firstName>
<lastName>de Tal</lastName>
<zip>20031170</zip>
<email>fulano@[Link]</email>
<dob>12/25/1970</dob>
<ssn>12345678909</ssn>
<sex>M</sex>
</request>
</api-request>

maxiPago! Smart Payments © 2013 57


Remover um cliente

O comando delete-consumer remove o cliente e todas as informações ligadas ao cadastro da


base. Esta operação não pode ser desfeita.

Os parâmetros aceitos no comando delete-consumer são:


Nome Descrição
merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)
merchantKey
Chave associada ao ID de Loja
(obrigatório)
command Comando a ser executado
(obrigatório) Para remover um cadastro: delete-consumer
customerId ID único do cadastro, retornado quando o cliente foi adicionado
(obrigatório) à base

O XML abaixo remove o cadastro de um cliente fictício:


<api-request>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<command>delete-consumer</command>
<request>
<customerId>999</customerId>
</request>
</api-request>

58
Atualizar um cliente
O comando update-consumer permite atualizar os dados salvos dentro do cadastro do cliente. Os
parâmetros aceitos e o formato da chamada são muito similares ao comando add-consumer. A
principal diferença é que este método requer o envio do campo customerId.

Os parâmetros aceitos são:


Nome Descrição
merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)
merchantKey
Chave associada ao ID de Loja
(obrigatório)
command Comando a ser executado
(obrigatório) Para atualizar um cadastro: update-consumer
customerId ID único do cadastro, retornado quando o cliente foi adicionado
(obrigatório) à base
customerIdExt
Identificador interno do Estabelecimento para o cliente.
(obrigatório)
firstName Nome do cliente
lastName Sobrenome do cliente
address1 Endereço da residência do cliente
address2 Endereço da residência do cliente - Complemento
city Cidade da residência do cliente
UF da residência do cliente
state
2 letras seguindo padrão brasileiro. ZZ = Fora do Brasil.
zip CEP da residência do cliente
phone Telefone do cliente
email E-mail do cliente
Data de nascimento do cliente
dob
Formato MM/DD/AAAA
CPF ou CNPJ do cliente
ssn Obs: Este campo é apenas para referência. Não serão feitas
validações dos dados enviados.
sex Sexo do cliente. F = Feminino | M = Masculino

O XML exemplo abaixo atualiza o cadastro de um cliente:

maxiPago! Smart Payments © 2013 59


<api-request>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<command>update-consumer</command>
<request>
<customerId>999</customerId>
<customerIdExt>00000001</customerIdExt>
<firstName>Fulano</firstName>
<lastName>de Tal</lastName>
<zip>20031170</zip>
<email>fulano@[Link]</email>
<dob>12/25/1970</dob>
<ssn>12345678909</ssn>
<sex>M</sex>
</request>
</api-request>

60
Salvar um cartão na base

O quickPago! permite ao Estabelecimento salvar o cartão de crédito do cliente para futuras compras.
O número de cartão e a data de vencimento ficam guardados em nossos servidores e o
Estabelecimento recebe um token único referente ao cartão.

Em uma futura compra, ao invés de pedir novamente o número de cartão ao cliente o Estabelecimento
envia o token para a maxiPago!, agilizando o checkout.

Como funciona o armazenamento de números de cartões?


A maxiPago! possui servidores de alta disponibilidade e alta performance, localizados nos Estados Unidos.
Somos auditados periodicamente dentro dos padrões PCI-DSS3, que determinam as regras de segurança
para o armazenamento de cartões de crédito. O número de cartão fica criptografado e não pode ser
visualizado por nenhum membro de nossa equipe.

Por medida de segurança é preciso enviar os dados de cobrança do Portador, ou seja, o endereço
onde o cliente do cartão recebe a fatura.

Os parâmetros recebidos pelo comando add-card-onfile são:


Nome Descrição
merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)
merchantKey
Chave associada ao ID de Loja
(obrigatório)
command Comando a ser executado
(obrigatório) Para adicionar um cartão ao cadastro: add-card-onfile
customerId ID único do cadastro, retornado quando o cliente foi
(obrigatório) adicionado à base
creditCardNumber
Número do cartão de crédito a ser salvo
(obrigatório)
expirationMonth
Mês de vencimento do cartão com 2 dígitos
(obrigatório)
expirationYear
Ano de vencimento do cartão com 4 dígitos
(obrigatório)
Nome do Portador do cartão
Obs: É preciso informar o nome do Portador exatamente
billingName como impresso no cartão, mesmo que o cliente já tenha
(obrigatório) cadastro pelo comando add-consumer. *Considerações: O
tamanho deste campo é limitado ao máximo de 26 caracteres
(Não permite caracteres especiais)

3
Mais informações (inglês):
[Link]

maxiPago! Smart Payments © 2013 61


billingAddress1 Endereço de cobrança para onde é enviada a fatura do
(obrigatório) cartão
billingAddress2 Complemento do endereço de cobrança
billingCity
Cidade
(obrigatório)
billingState UF da residência do cliente
(obrigatório) 2 letras seguindo padrão brasileiro. ZZ = Fora do Brasil.
billingZip
CEP sem traço
(obrigatório)
billingCountry
(obrigatório) Código do país com 2 letras (ISO 3166-24)
billingPhone Telefone de contato do Portador
(obrigatório) Com DDD, sem traço ou espaço (Ex.: 2140099400)
billingEmail
Endereço de email do Portador
(obrigatório)
Data limite para manter o cartão na base
onFileEndDate
Formato MM/DD/AAAA
Duração limite do uso do cartão salvo
onFilePermissions ongoing = indefinidamente
use_once = apenas uma vez após a 1a. cobrança
onFileComment Comentários adicionais sobre este cartão
onFileMaxChargeAmoun Valor máximo que é permitido cobrar deste cartão
t Decimais separados por ponto ("."). Ex.: 100.00

O XML abaixo adiciona um cartão ao cadastro do cliente criado anteriormente:


<api-request>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<command>add-card-onfile</command>
<request>
<customerId>999</customerId>
<creditCardNumber>4111111111111111</creditCardNumber>
<expirationMonth>12</expirationMonth>
<expirationYear>2020</expirationYear>
<billingName>Fulano de Tal</billingName>
<billingAddress1>Av Republica do Chile, 230</billingAddress1>
<billingAddress2>16. Andar</billingAddress2>
<billingCity>Rio de Janeiro</billingCity>
<billingState>RJ</billingState>
<billingZip>20031170</billingZip>
<billingCountry>BR</billingCountry>
<billingPhone>2140099400</billingPhone>
<billingEmail>fulano@[Link]</billingEmail>
<onFileMaxChargeAmount>300.00</onFileMaxChargeAmount>
</request>
</api-request>

4
Mais sobre o ISO 3166-2: [Link]

62
Remover um cartão da base

O comando delete-card-onfile remove um cartão salvo no cadastro do cliente. O cadastro em si


continua ativo, pois a única informação apagada é o número do cartão.

Os parâmetros aceitos pelo comando delete-card-onfile são:


Nome Descrição
merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)
merchantKey
Chave associada ao ID de Loja
(obrigatório)
command Comando a ser executado
(obrigatório) Para remover um cartão do cadastro: delete-card-onfile
customerId ID único do cadastro, retornado quando o cliente foi
(obrigatório) adicionado à base
token
Token único associado ao cartão
(obrigatório)

Este XML exemplo remove o cartão salvo acima, bastando apenas trocar o token:
<api-request>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<command>delete-card-onfile</command>
<request>
<customerId>999</customerId>
<token>k11112233d</token>
</request>
</api-request>

maxiPago! Smart Payments © 2013 63


Retorno do Cadastro

O retorno das requisições de cadastro contém a confirmação de que o comando foi executado com
sucesso. Em alguns casos, como no comando add-customer, ele também traz de volta informações
que serão usadas para fazer referência ao cadastro do cliente no futuro. Estas informações são
enviadas dentro do elemento <result/>.

Os parâmetros retornados pelas requisições de cadastro são:


Nome Descrição
errorCode Código de retorno da operação. Sucesso = 0
errorMessage Mensagem de erro, se houver
command Confirmação do comando enviado
time Data/hora da transação em formato epoch.
Presente só no comando add-consumer. É retornado o ID único
daquele cliente, dentro do elemento <result/>.
customerId
É muito importante guardar esta informação para futura
referência!
Presente só no comando add-card-onfile. É retornado o token único
daquele cartão, dentro do elemento <result/>.
token
É muito importante guardar esta informação para futura
referência!

O XML de retorno segue esta estrutura:


<api-response>
<errorCode/>
<errorMessage/>
<command/>
<time/>
<result>

</result>
</api-response>

64
Transações com token

Uma vez em posse do customerId e do token do cartão é possível realizar autorizações e vendas
diretas sem a necessidade de pedir o número do cartão ao cliente.

A chamada é muito similar às operações de autorização ou venda direta. Contudo, ao invés de se usar
o elemento <creditCard/> deve-se usar o elemento <onFile/>, que aceita os seguintes parâmetros:

Nome Descrição
customerId ID único do cadastro, retornado quando o cliente foi adicionado
(obrigatório) à base
token
Token único associado ao cartão
(obrigatório)
cvvNumber
CVV (código de segurança) do cartão de crédito

Este XML faz uma Venda Direta usando token:


<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<sale>
<processorID>1</processorID>
<referenceNum>987654321</referenceNum>
<ipAddress>[Link]</ipAddress>
<transactionDetail>
<payType>
<onFile>
<customerId>999</customerId>
<token>k11112233d</token>
<cvvNumber>888</cvvNumber>
</onFile>
</payType>
</transactionDetail>
<payment>
<currencyCode>BRL</currencyCode>
<chargeTotal>7.00</chargeTotal>
</payment>
</sale>
</order>
</transaction-request>

maxiPago! Smart Payments © 2013 65


Recorrência com token

Durante a recorrência o cartão de crédito é salvo automaticamente em nossa base. Porém se esse
cliente já fez uma compra prévia no Estabelecimento e usou a opção quickPago! é possível usar no
XML da Recorrência o token previamente gerado ao invés do número do cartão de crédito.

Este XML cria uma recorrência a partir de um token salvo anteriormente:


<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<recurringPayment>
<processorID>1</processorID>
<referenceNum>12304560</referenceNum>
<ipAddress>[Link]</ipAddress>
<transactionDetail>
<payType>
<onFile>
<customerId>999</customerId>
<token>k11112233d</token>
</onFile>
</payType>
</transactionDetail>
<payment>
<currencyCode>BRL</currencyCode>
<chargeTotal>22.00</chargeTotal>
</payment>
<recurring>
<action>new</action>
<startDate>2020-12-25</startDate>
<frequency>2</frequency>
<period>monthly</period>
<installments>5</installments>
<failureThreshold>1</failureThreshold>
</recurring>
</recurringPayment>
</order>
</transaction-request>

66
Salvar o cartão automaticamente

É possível também salvar o número de cartão automaticamente durante uma operação de autorização
ou venda direta.

Como um cartão precisa sempre estar associado a um cadastro, é preciso executar o comando add-
consumer antes de se poder salvar o cartão. Também é preciso enviar os dados de cobrança
(<billing/>), descritos anteriormente neste manual.

Para indicar que deseja salvar o cartão automaticamente é preciso incluir, dentro do nó da operação
(<sale/> ou <auth/>), o elemento <saveOnFile/>, que aceita os seguintes parâmetros:

Nome Descrição
customerToken ID único do cadastro, retornado quando o cliente foi
(obrigatório) adicionado à base (customerId)
Data limite para manter o cartão na base
onFileEndDate
Formato MM/DD/AAAA
Duração limite do uso do cartão salvo
onFilePermission ongoing = indefinidamente
use_once = apenas uma vez após a 1a. cobrança
onFileComment Comentários adicionais sobre este cartão
Valor máximo que é permitido cobrar deste cartão
onFileMaxChargeAmount
Decimais separados por ponto ("."). Ex.: 100.00

O XML abaixo passa uma Venda Direta e salva o cartão de um cliente:


<transaction-request>
<version>[Link]</version>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<sale>
<processorID>1</processorID>
<referenceNum>3211230001</referenceNum>
<billing>
<name>Fulano de Tal</name>
<address>Av. República do Chile, 230</address>
<address2>16 Andar</address2>
<city>Rio de Janeiro</city>
<state>RJ</state>
<postalcode>20031170</postalcode>
<country>BR</country>
<phone>2140099400</phone>
<email>fulanodetal@[Link]</email>
</billing>
<transactionDetail>
<payType>

maxiPago! Smart Payments © 2013 67


<creditCard>
<number>4111111111111111</number>
<expMonth>12</expMonth>
<expYear>2020</expYear>
<cvvNumber>999</cvvNumber>
</creditCard>
</payType>
</transactionDetail>
<payment>
<currencyCode>BRL</currencyCode>
<chargeTotal>33.00</chargeTotal>
</payment>
<saveOnFile>
<customerToken>999</customerToken>
<onFileEndDate>12/25/2020</onFileEndDate>
</saveOnFile>
</sale>
</order>
</transaction-request>

68
Requisição de Consulta

A API de consulta e relatórios permite que o Estabelecimento extraia do banco de dados da maxiPago!
as informações detalhadas de qualquer transação. É permitido resgatar os detalhes de apenas uma
transação ou receber uma relação de transações, filtradas por período.

O XML de resposta trará no máximo 100 transações, a fim de não tornar a resposta muito pesada.
Caso a lista de transações filtradas seja maior, será utilizado um mecanismo de paginação, detalhado
mais abaixo.

A estrutura do XML é similar às requisições de Cadastro e possui <rapi-request/> como nó-raíz. O


XML contém a verificação das credenciais no elemento <verification/>; a ação a ser executada na tag
<command/>; e os dados para filtragem dentro do nó <request/>. Não há versão de API.

URL de Teste: [Link]

Os comandos disponíveis são:

● transactionDetailReport: resgata todos os detalhes das transações filtradas.


● checkRequestStatusCommand: verifica o resultado de uma pesquisa em massa.

A estrutura básica do XML fica da seguinte forma:


<rapi-request>
<verification>
<merchantId/>
<merchantKey/>
</verification>
<command/>
<request>

</request>
</rapi-request>

maxiPago! Smart Payments © 2013 69


Consultar uma única transação

A sondagem de uma única transação permite verificar o seu status e resgatar os detalhes de uma
transação. Esta sonda é necessária para confirmar os pagamentos de pedidos feitos com boletos,
além de verificar a situação de um estorno solicitado anteriormente.

Para filtrar uma única transação deve-se usar o elemento <filterOptions/>, dentro da tag <request/>:
Nome Descrição
merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)
merchantKey
Chave associada ao ID de Loja
(obrigatório)
command
Comando a ser executado: transactionDetailReport
(obrigatório)
transactionId
ID da transação gerado pela maxiPago!
(obrigatório)

O XML abaixo busca uma transação específica na base:


<rapi-request>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<command>transactionDetailReport</command>
<request>
<filterOptions>
<transactionId>32165498701</transactionId>
</filterOptions>
</request>
</rapi-request>

70
Consultar um único pedido

Os pedidos são identificados pelo elemento orderID. Nos casos a seguir, um único orderID, pode ter
mais de uma transação (transactionID):

 Autorização e captura separadas são duas transações agrupadas no mesmo OrderID


 Recorrência (todas as transações de uma recorrência tem o mesmo orderID)
 Boleto (Existe a possibilidade de emitir mais de um boleto no mesmo OrderID, como por
exemplo uma remissão trocando apenas data de vencimento).

Para estes casos (especialmente as recorrências) pode ser muito útil pesquisar pelo orderID para ver
todas as transações agrupadas no mesmo orderID.

Para filtrar um único pedido deve-se usar o elemento <filterOptions/>, dentro da tag <request/>:
Nome Descrição
merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)
merchantKey
Chave associada ao ID de Loja
(obrigatório)
command
Comando a ser executado: transactionDetailReport
(obrigatório)
transactionId
ID da transação gerado pela maxiPago!
(obrigatório)

O XML abaixo busca uma transação específica na base:


<rapi-request>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<command>transactionDetailReport</command>
<request>
<filterOptions>
<orderId>32165498701</orderId>
</filterOptions>
</request>
</rapi-request>

maxiPago! Smart Payments © 2013 71


Consultar uma lista de transações

A maxiPago! recomenda que os Estabelecimentos mantenham em seu próprio banco de dados os


detalhes das transações. Entendemos que isto nem sempre é possível, e por esta razão permitimos a
sondagem de transações por período.

A busca por transações dentro de um período é especialmente útil para a produção de relatórios para
plataformas onde não é possível manter um banco de dados local, como em um aplicativo para celular.

Para filtrar transações deve-se usar o elemento <filterOptions/>, dentro da tag <request/>:

Nome Descrição
merchantId
ID de Loja que identifica o Estabelecimento
(obrigatório)
merchantKey
Chave associada ao ID de Loja
(obrigatório)
command
Comando a ser executado: transactionDetailReport
(obrigatório)
Período de busca de das transações. Pode ser um filtro pré-
estabelecido ou um período específico.

today = busca as transações do dia de hoje


period yesterday = traz transações do dia anterior (ontem)
(obrigatório) lastmonth = retorna as transações do mês anterior
thismonth = traz as transações do mês atual (desde o
dia 1o. até hoje)
range = indica que será escolhido um período
específico para busca
Determina o número máximo de transações em cada página.
pageSize
Máximo = 100
No caso de period = range, este campo estabelece o primeiro
startDate dia do período de busca das transações
Formato: mm/dd/aaaa
No caso de period = range, este campo estabelece o último
endDate dia do período de busca das transações
Formato: mm/dd/aaaa
No caso de period = range, este campo estabelece a hora
startTime inicial da busca
Formato: hh:mm:ss (Exemplo: 00:00:00)
No caso de period = range, este campo estabelece a hora
endTime final da busca
Formato: hh:mm:ss (Exemplo: 23:59:59)
Determina o campo usado para ordenar a listagem das
transações.
Exemplo: usar 'transactionAmount' para ordenar a partir do
valor do pedido.
orderByName
transactionDate = Data do pedido
transactionAmount = Valor do pedido
transactionType = Tipo de operação
transactionId = ID da Transação

72
billingName = Nome de Cobrança, se disponível
orderId = ID do Pedido
paymentType = Meio de Pagamento
status = Status
Determina se a listagem será crescente ou decrescente.
orderByDirection asc = Crescente
desc = Decrescente
Define a partir de qual transação do resultado total você
quer receber.
startRecordNumber
Exemplo: se a busca gerou 100 resultados e você quer ver
apenas o terceiro quartil, então "startRecordNumber=50"
Número da última transação da busca.
endRecordNumber Exemplo: se a busca gerou 100 resultados e você quer ver
apenas o terceiro quartil, então "endRecordNumber=75"

O XML abaixo busca transações feitas entre 18/12/2010 e 31/12/2010, ordenando-as por data,
começando pelo pedido mais recente:
<rapi-request>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<command>transactionDetailReport</command>
<request>
<filterOptions>
<period>range</period>
<pageSize>25</pageSize>
<startDate>12/18/2010</startDate>
<endDate>12/31/2010</endDate>
<startTime>00:00:00</startTime>
<endTime>23:59:59</endTime>
<orderByName>transactionDate</orderByName>
<orderByDirection>desc</orderByDirection>
</filterOptions>
</request>
</rapi-request>

maxiPago! Smart Payments © 2013 73


Retorno da Consulta

O retorno da chamada de consulta trará todas as informações da transação solicitada, ou uma lista de
transações. As informações incluem dados como o status da transação, o valor do pedido, o ID do
Pedido, ID da Transação e os códigos de retorno da adquirente.

Na eventualidade de o servidor postergar a sondagem do período, você receberá um token único que
identifica aquela pesquisa. Guarde-o, pois ele será usado na re-sondagem dos dados.

O XML de retorno está dividido em três partes, <header/>, <resultSetInfo/> e <record/>:


<rapi-response>
<header>
...
</header>
<result>
<resultSetInfo>
<totalNumberOfRecords/>
<pageToken/>
<pageNumber/>
</resultSetInfo>
<records>
<record>

</record>
<record>

</record>
</records>
</result>
</rapi-response>

O elemento <header/> contém as informações da requisição de consulta, com os seguintes campos:


Nome Descrição
errorCode Código de resposta da requisição. Sucesso = 0

errorMsg Mensagem descritiva do erro (em inglês)

command Confirmação do comando enviado na requisição


Data e hora de geração do relatório no fuso BRT.
time
Formato mm/dd/aaaa hh:mm:ss

Já o elemento <resultSetInfo/> traz o total de registros encontrados e os dados do sistema de


paginação:
Nome Descrição
totalNumberOfRecord
Quantidade total de transações retornadas.
s
Identificador de paginação desta resposta. Ele deve ser
pageToken guardado para permitir a navegação nas páginas.
Só é enviado caso haja mais de uma página

74
Número da página retornada.
pageNumber
Só é enviado caso haja mais de uma página.

O elemento <record/> contém os detalhes das transações individuais. Nem todos os campos são
sempre retornados:
Nome Descrição
approvalCode Código de autorização da Adquirente
comments Comentários inseridos na autorização
Bandeira de cartão utilizada na transação
VISA
MASTERCARD
AMEX
creditCardType
DINERS
DISCOVER
ELO
HIPERCARD
customerId ID único do cadastro, se o cliente consta na base
orderId ID do Pedido gerado pela maxiPago!
Cartão de crédito (Bandeira + 4 últimos dígitos)
paymentType
Exemplo: (Visa) ...1234
processorID Nome da Adquirente/Banco que processou esta transação
recurringPaymentFlag Flag de pagamento recorrente. Recorrente = 1

referenceNumber Identificador do pedido no Estabelecimento


Código de resposta da transação
0 = Aprovada
1 = Negada
responseCode 2 = Negada por Duplicidade ou Fraude
5 = Revisão de Fraude
1022 = Erro na operadora de cartão
2048 = Erro interno na maxiPago!
transactionAmount Valor do pedido, em centavos (R$1,00 = 100)

transactionId ID da transação gerado pela maxiPago!


Status da transação ORIGINAL.
transactionStatus É altamente recomendado usar o campo transactionState
para determinar a situação da transação.
Status da transação
- Comuns
1 - Em andamento
3 - Capturada
6 - Autorizada
7 - Negada
transactionState
9 - Cancelada (Voided)
10 – Paga
22 - Boleto Emitido
34 - Boleto Visualizado
35 - Boleto Pago A Menor
36 - Boleto Page A Maior

maxiPago! Smart Payments © 2013 75


- Demais
4 - Pendente de captura
5 - Pendente de autorização
8 - Revertida
11 – Pendente de Confirmação
12 - Pendente de Revisão (verificar com Suporte)
13 - Pendente de Reversão
14 - Pendente de Captura (retentativa)
16 - Pendente de Estorno
18 - Pendente de Void
19 - Pendente de Void (retentativa)
29 - Pendente de Autenticação
30 - Autenticada
31 - Pendente de Estorno (retentativa)
32 - Autenticação em andamento
33 - Autenticação enviada
38 - Pendente de envio de arquivo de Estorno
44 – Aprovada na Fraude
45 – Negada por Fraude
46 – Revisão de Fraude
Operação realizada
Auth = Autorização
Capture = Capturea
transactionType Sale = Venda Direta
Return = Estorno
Void = Void (Cancelamento)
Boleto Payment = Boleto
Data da transação em fuso BRT.
transactionDate
Formato MM/DD/AAAA hh:mm:ss tt
avsResponseCode Resposta do AVS, se disponível

billingAddress1 Dados de cobrança, se foi enviado

billingAddress2 Dados de cobrança

billingCity Dados de cobrança

billingCountry Dados de cobrança

billingEmail Dados de cobrança

billingName Dados de cobrança

billingPhone Dados de cobrança

billingState Dados de cobrança

billingZip Dados de cobrança

boletoNumber Número identificador do boleto ("Nosso Número")

expirationDate Data de vencimento do boleto. Formato MM/DD/AAAA

76
Data de pagamento do boleto, se o banco a informou
dateOfPayment
Formato MM/DD/AAAA
Data de liquidação do boleto, se o banco a informou
dateOfFunding
Formato MM/DD/AAAA
bankOfPayment Código do banco onde foi feito o pagamento do Boleto

branchOfPayment Agência onde foi feito o pagamento do Boleto

paidAmount Valor do Boleto pago pelo cliente

bankFee Taxa de cobrança do boleto, se o banco a informou

netAmount Valor líquido a receber de Boleto (valor pago - taxa)


Código de pagamento do boleto no banco
returnCode
Apenas para referência
Código de liquidação do banco, se informado
clearingCode
Apenas para referência

maxiPago! Smart Payments © 2013 77


Utilizando o sistema de paginação

Ao puxar um relatório filtrado por período você provavelmente irá receber um número considerável de
transações. Para evitar problemas de performance temos um sistema de paginação de resultados, que
divide o número total de transações em várias páginas. É preciso puxar as demais páginas para obter
todos os resultados.

O XML abaixo mostra um exemplo de resposta com 350 transações:


<rapi-response>
<header>
...
</header>
<result>
<resultSetInfo>
<totalNumberOfRecords>350</totalNumberOfRecords>
<pageToken>xyz35Hiua834</pageToken>
<pageNumber>1</pageNumber>
</resultSetInfo>
<records>
<record>

<record>
</records>
</result>
</rapi-response>

Para poder reaver os dados das demais páginas é preciso executar o comando
transactionDetailReport novamente, passando outros parâmetros no elemento <filterOptions/>:

Nome Descrição
pageToken Identificador de paginação da resposta a ser sondada.
pageNumber Número da página que se quer obter o resultado

O XML de requisição para a sondagem da 3a.página de uma busca fica, então, desta forma:
<rapi-request>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<command>transactionDetailReport</command>
<request>
<filterOptions>
<pageToken>xyz35Hiua834</pageToken>

78
<pageNumber>3</pageNumber>
</filterOptions>
</request>
</rapi-request>

maxiPago! Smart Payments © 2013 79


Consultas em massa

Dependendo da quantidade de registros solicitados a maxiPago! poderá aguardar um período de


menor pico no servidor para executar a busca. Isto quer dizer que, nestes raros casos, o
Estabelecimento deverá sondar novamente nossos servidores para verificar que a busca foi
completada.

Nestes casos, a resposta da solicitação de envio de relatório é diferente. Os campos recebidos são:

Nome Descrição
errorCode Código de retorno da requisição. Sucesso = 0
errorMsg Mensagem descritiva do erro, se houver
command Confirmação do comando enviado na requisição
Data e hora do recebimento da requisição
time
Formato MM/DD/AAAA hh:mm:ss
Token da requisição, usado para verificar se o relatório já está
requestToken pronto.
Deve-se salvar este token para fazer uma nova sondagem

O XML abaixo mostra um exemplo de uma resposta para estes casos:


<rapi-response>
<header>
<errorCode>0</errorCode>
<errorMsg/>
<command>transactionDetailReport</command>
<time>12-01-2011 11:27:54</time>
</header>
<result>
<requestToken>8cIjsO7cmeY=</requestToken>
</result>
</rapi-response>

80
Sondando o resultado de uma busca em massa

O Estabelecimento poderá posteriormente sondar a maxiPago! para ver se o relatório foi finalizado.
Para isto é preciso executar o comando checkRequestStatus, cujo único campo aceito é o
<requestToken>:
<rapi-request>
<verification>
<merchantId>100</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<command>checkRequestStatus</command>
<request>
<requestToken>fSawEgQqNqg=</requestToken>
</request>
</rapi-request>

A resposta informará se o relatório foi finalizado ou se ainda está sendo processado pelo sistema. Os
campos retornados pelo comando checkRequestStatus são:
Nome Descrição
errorCode Código de resposta da requisição. Sucesso = 0
errorMsg Mensagem descritiva do erro, se houver
command Confirmação do comando enviado na requisição.
Data e hora de recebimento da requisição
time
Formato MM/DD/AAAA hh:mm:ss
Mensagem de indicação do status do relatório.
REQUESTPROCESSED = Processado com sucesso
statusMessage REQUESTNOTPROCESSED = Geração não finalizada
REQUESTNOTFOUND = O pedido de geração de relatório
não foi encontrado
totalNumberOfRecords Quantidade total de transações retornadas.
Identificador de paginação desta resposta. Ele deve ser
guardado para permitir a navegação nas páginas.
pageToken
Este valor será retornado inclusive para relatórios que
possuam apenas uma página
processedTime Data e hora de geração do relatório.

maxiPago! Smart Payments © 2013 81


Um exemplo do XML enviado na resposta é:
<rapi-response>
<header>
<errorCode>0</errorCode>
<errorMsg/>
<command>checkRequestStatusCommand</command>
<time>03-24-2011 15:45:42</time>
</header>
<result>
<statusMessage>REQUESTPROCESSED</statusMessage>
<resultSetInfo>
<totalNumberOfRecords>150</totalNumberOfRecords>
<pageToken>temp1300919096768.1</pageToken>
<processedTime>03-23-201115:24:56</processedTime>
</resultSetInfo>
</result>
</rapi-response>

82
smartPage! - Integração por HTTPS Post

A maxiPago! oferece um ambiente seguro para a digitação e armazenamento dos dados do cartão do
comprador. Isto tira do Estabelecimento a necessidade de possuir certificado de segurança SSL,
pois a maxiPago! é responsável pelo tratamento das informações sigilosas.

Esse modelo de integração somente realiza processamentos de cartões de crédito, ou seja, formas de
pagamento como Boleto ou Transferências Online não podem ser realizadas nesse módulo.

Para utilizar a smartPage! é preciso redirecionar o comprador para o ambiente seguro da


maxiPago!, postando os dados do pedido. O cliente entrará em nosso ambiente, customizado com o
logotipo do Estabelecimento e protegido por um certificado de segurança SSL. Ao finalizar o pedido a
maxiPago! irá redirecionar o comprador de volta para o site do Estabelecimento.

O endereço para onde o comprador será redirecionado dependerá do resultado da transação. Se o


pedido for aprovado a maxiPago! o enviará para a URL de Sucesso do Estabelecimento, mas se o
pedido for negado postaremos para a URL de Erro.
ATENÇÃO
Para que possamos habilitar esse serviço é preciso que você envie para a nossa equipe de Suporte as
seguintes informações:

* URL de Sucesso, para onde o comprador será redirecionado se a compra for Aprovada
* URL de Erro, para onde o comprador será redirecionado se a compra for Negada
* URL de Envio, de onde o comprador será redirecionado a partir do seu site (REFERER).
* Logotipo da loja, para ser mostrado na página, com tamanho recomendado de 300x80.

Não será possível o envio de testes sem que as três URLs estejam cadastradas

maxiPago! Smart Payments © 2013 83


Envio da transação

O envio da transação pode ser feito através de um simples Post HTML. Recomendamos fazer um
redirecionamento para a URL da maxiPago! evitando os pop-ups ou qualquer tipo de frame.

URL de Teste: [Link]


URL de Produção: [Link]

Os campos recebidos pela smartPage! são:

Nome Descrição
hp_merchant_id
ID de Loja fornecido pela maxiPago!
(obrigatório)
Código da Adquirente que irá processar esta
transação
SIMULADOR DE TESTES = 1
hp_processor_id Rede = 2
(obrigatório) Cielo = 4
TEF = 5
Elavon = 6;
Chase Paymentech = 8
hp_method
Meio de pagamento usado. Sempre será ccard.
(obrigatório)
Tipo de requisição a ser realizada
hp_txntype
auth = Autorização
(obrigatório)
sale = Venda Direta
Código da moeda utilizada na transação de acordo com
hp_currency a norma ISO 4217.
Lista completa de moedas: anexo “B”.
Valor do pedido.
hp_amount
Os decimais devem ser separados por vírgula (",").
(obrigatório)
Ex.: 10,00
Número de parcelas de transação
hp_number_of_installments
Se for à vista, não enviar
Tipo de parcelamento (com ou sem juros)
N = Sem juros (PADRÃO - parcelamento Loja)
hp_charge_interest
Y = Com juros (parcelamento Cartão)
Se for à vista, não enviar
hp_refnum Identificador do pedido no Estabelecimento
(obrigatório) Este valor deve ser único
Código do pedido usado na assinatura de validação
hp_sig_itemid
Deve-se usar um valor diferente ao enviado em
(obrigatório)
"hp_refnum".
hp_bname
Nome do portador do cartão
(obrigatório)
hp_baddr Endereço do cliente
hp_baddr2 Complemento o endereço
hp_bcity Cidade do cliente

84
UF da residência do cliente
hp_bstate 2 letras seguindo padrão brasileiro.
ZZ = Fora do Brasil.
hp_bzip CEP do cliente
hp_bcountry País do cliente (ISO 3166-2)
hp_phone Telefone do cliente
hp_email Email do cliente
Idioma da tela de pagamentos
pt = Português (padrão)
hp_lang
en = Inglês
es = Espanhol
Estes campos devolverão qualquer valor enviado e
podem ser usados como “eco”, guardando a sessão do
cliente ou qualquer outro identificador.
hp_cf_1
hp_cf_2
É possível também mostrar o valor enviado na página
hp_cf_3
de pagamento, permitindo a inserção de textos e
hp_cf_4
instruções para o comprador.
hp_cf_5
Caso faça a utilização desta funcionalidade é
preciso enviar todos os 5 campos, mesmo que vazios.

Abaixo temos um exemplo do formulário HTML enviado para uma transação:


<form method="POST" action="[Link]
<input name="hp_merchant_id" value="100">
<input name="hp_processor_id" value="1">
<input name="hp_method" value="ccard">
<input name="hp_txntype" value="sale">
<input name="hp_currency" value="BRL">
<input name="hp_amount" value="15,00">
<input name="hp_number_of_installments" value="2">
<input name="hp_charge_interest" value="N">
<input name="hp_refnum" value="ORD1325248408">
<input name="hp_sig_itemid" value="123123">
<input name="hp_bname" value="Fulano de Tal">
<input name="hp_baddr" value="Av. República do Chile, 230">
<input name="hp_bcity" value="Rio de Janeiro">
<input name="hp_bstate" value="RJ">
<input name="hp_bcountry" value="BR">
<input name="hp_lang" value="pt">
<input name="submit" type="submit" value="Finalizar pedido">
</form>

maxiPago! Smart Payments © 2013 85


Salvar o cartão automaticamente

É possível combinar o uso da smartPage! com o sistema de armazenamento de cartões. O comprador


digita os dados do seu cartão no ambiente da maxiPago! e o Estabelecimento recebe de volta o status
da transação e o token do cartão do comprador. Desta forma é possível utilizar a plataforma
quickPago! sem que o Estabelecimento veja o número de cartão.

Para salvar um cartão automaticamente é preciso enviar, além dos dados da transação, as informações
do cliente. Se já houver um perfil de cliente criado é preciso enviar também o seu ID, gerado pela
maxiPago!.

Os campos abaixo devem ser enviados juntamente com os dados da transação:


Nome Descrição
hp_c_firstname
Nome do portador do cartão
(obrigatório)
hp_c_lastname
Sobrenome do portador do cartão
(obrigatório)
hp_savepayment Flag para salvar o cartão
(obrigatório) 1 = Salvar
hp_customer_token ID do perfil do cliente gerado pela maxiPago!.
(obrigatório*) * Somente ao salvar o cartão sob um perfil já existente
Flag para salvar o perfil do cliente
hp_save_customer
1 = Salvar
(obrigatório*)
* Somente ao criar o perfil do cliente
hp_c_customer_id Número de referência do cadastro para o lojista.
(obrigatório*) * Somente ao criar o perfil do cliente
hp_c_addr Endereço de cobrança
hp_c_addr2 Complemento do endereço
hp_c_city Cidade
UF do cliente
hp_c_state
2 letras seguindo padrão brasileiro. ZZ = Fora do Brasil.
hp_c_zip CEP
hp_c_country País do cliente (ISO 3166-2)
hp_c_phone Telefone
hp_c_email Endereço de email

86
Resposta da smartPage!

O comprador pode retornar ao site do Estabelecimento através de duas URLs, a de Sucesso ou de


Erro. O cliente será redirecionado para a URL de Sucesso quando a transação for aprovada pela
processadora de cartão. Por outro lado, se o pedido for negado enviaremos o cliente para a URL de
Erro, avisando de algum problema na transação.

Estas duas URLs devem ser hospedadas pelo Estabelecimento e seus endereços devem ser
informados à nossa equipe de Suporte durante o processo de integração.

O Estabelecimento tem a opção receber os dados da transação -- como código de autorização,


mensagem da operadora e ID do pedido -- no momento em que o comprador volta para o ambiente da
loja. Neste caso a maxiPago! irá postar estes dados junto com o redirecionamento do navegador.
Contudo, esta funcionalidade só está disponível para Estabelecimentos com certificado de
segurança SSL.

Por que apenas Estabelecimentos com certificado SSL podem receber os dados via Post?
Os navegadores modernos possuem uma série de medidas para garantir a segurança do usuário. Uma
delas, mostrada abaixo, avisa que o usuário está saindo de um ambiente seguro (HTTPS) para um
ambiente não-seguro (HTTP), e que qualquer informação postada pode ficar visível, já que a comunicação
não está criptografada.

Um comprador que vê esta mensagem pode ficar inseguro. Logo, para evitar problemas, recomendamos
postar os dados da transação para uma URL hospedada em um ambiente HTTPS.

Caso seu site não possua certificado de segurança é possível obter os dados da transação através do
Portal maxiPago! ou da requisição de consulta, detalhada neste manual.

maxiPago! Smart Payments © 2013 87


Os dados retornados tanto para a URL de Sucesso como para a URL de Erro são:

Nome Descrição
hp_time Data e hora da transação
hp_responsecode Indicador do status da transação. Sucesso = 0
hp_responsemsg Mensagem descritiva da resposta
hp_refnum Confirmação do código enviado
ID da transação, gerado pela maxiPago!.
hp_transid
Salve este campo para futuras referências.
hp_avsresponse Resposta da verificação AVS (somente nos EUA)
hp_authcode Código de autorização retornado pela adquirente
Valor único associado ao pedido pela maxiPago!.
hp_orderid
Salve este campo para futuras referências/
Código da moeda utilizada na transação de acordo
hp_currency com a norma ISO 4217.
Lista completa de moedas: anexo “B”.
hp_amount Confirmação do valor enviado
ID da transação na Adquirente.
hp_processortxnid Cielo: TID
Rede: NSU
Número de referência da Adquirente
hp_processorrefno Cielo: NSU
Rede: Comprovante de Venda (CV)
Valor de score retornado pelo fraudControl!
hp_fraud_score
Quanto menor o valor menor o risco da transação
Assinatura de validação da transação
hp_signature_response
Chave HMAC-MD5 de validação, detalhada abaixo.
Presente só quando um cadastro de cliente é
criado, traz o ID do perfil do cliente.
hp_customer_token
É muito importante guardar esta informação para
futura referência!
Presente só quando um cartão é salvo
automaticamente, traz o token único daquele
hp_payment_token cartão.
É muito importante guardar esta informação para
futura referência!
Presente só quando um cartão é salvo
hp_save_payment_responsemsg
automaticamente, traz o resultado da operação

ATENÇÃO

Para garantir a segurança das informações postadas recomendamos que você, ao receber um Post na sua
URL de Sucesso ou de Erro, use a Requisição de Consulta para confirmar os dados recebidos. Isto
garante que as informações recebidas no Post não foram alteradas por terceiros.

88
Suporte à integração

O suporte aos desenvolvedores é feito exclusivamente através do nosso Portal de Suporte. Os dados
de acesso são enviados para os nossos clientes a partir do email suporte@[Link] com o
assunto "maxiPago! email de boas-vindas" para o email usado no credenciamento.

A equipe de suporte da maxiPago! pode lhe ajudar com a integração do seu sistema. Atualmente
temos bibliotecas de integração em PHP, Java e .NET.

Suporte ao Cliente maxiPago!

E-mail: suporte@[Link]
Telefone: (11) 2121-8536

maxiPago! Smart Payments © 2013 89


Anexo “A” – Fluxos de Transações

Este anexo contém os fluxos de transações (diagramas de sequência) da maioria das operações
descritas neste manual. Estes são os fluxos mais comuns adotados na integração com a maxiPago!.

Autorização e Captura – Pedido em duas etapas

90
Venda Direta – Resposta imediata ao comprador

Venda Direta – Resposta assíncrona

maxiPago! Smart Payments © 2013 91


Débito Online – Transferência bancária

92
Emissão e pagamento de Boleto

maxiPago! Smart Payments © 2013 93


Estorno – Adquirente com resposta online

Estorno – Adquirente com resposta offline

94
Salvar cartão automaticamente

maxiPago! Smart Payments © 2013 95


smartPage – Integração via HTTPS POST

96
Anexo “B” – Moedas

Este anexo possui a listagem das moedas apresentadas no ISO 4217 e que são aceitas em nosso
sistema.

Código Moeda Código Moeda


AED Dirham dos Emirados LBP Libra libanesa
AMD Dram armênio LKR Rupia do Sri Lanka
ANG Florim holandês LTL Litas da Lituânia
ARS Peso Argentino LVL Lats do Letão
AUD Dólar australiano MAD Dirham marroquino
AWG Florim de Aruba MDL Leu da Moldávia
BBD Dólar de Barbados MNT Tugrik da Mongólia
BDT Taka de Bangladesh MOP Pataca macauense
BGN Lev búlgaro MRO Ouguiya da Mauritânia.
BIF Franco do Burundi MUR Rupia da Maurícia
BMD Dólar de Bermuda MVR Rufiyaa maldívia
BND Dólar do Brunei MWK Kwacha malauiano
BOB Boliviano MXN Peso Mexicano
BRL Real MYR Ringgit malásio
BSD Dólar das Bahamas NAD Dólar da Namíbia
BWP Pula da Botswana NGN Naira da Nigéria
BYR Rublo bielorrusso NIO Cordoba Oro
BZD Dólar do Belize NOK Coroa norueguesa
CAD Dólar canadense NPR Rupia nepalesa
CHF Franco suíço NZD Dólar da Nova Zelândia
CLP Peso chileno PAB Balboa moeda
CNY Yuan chinês PEN Nuevo Sol peruano
COP Peso colombiano PGK Kina da Nova Guiné
CRC Colon da Costa Rica PHP Peso filipino
CVE Escudo cabo-verdiano PKR Rupia paquistanesa
CZK Coroa checa PLN Zloty polaco
DJF Franco do Djibuti PYG Guarani paraguaio
DKK Coroa dinamarquesa QAR Rial do Qatar
DOP Peso dominicano RUB Rublo russo
DZD Dinar argelino RWF Franco do Ruanda
EGP Libra egípcia SAR Riyal saudita
ETB Birr etíope SBD Dólar das Ilhas Salomão

maxiPago! Smart Payments © 2013 97


EUR Euro SCR Rupia das Seychelles
FJD Dólar das Fiji SEK Coroa Sueca
FKP Libra das Malvinas SGD Dólar de Cingapura
GBP Libra Esterlina SHP Libra de Santa Helena
GEL Lari (moeda) SLL Leone de Serra Leoa
GIP Libra de Gibraltar SOS Xelim somali
Dobra de São Tomé e
GMD Dalasi gambiano STD
Príncipe
GNF Franco da Guiné SZL Lilangeni
GTQ Quetzal guatemalteco THB Baht tailandês
GYD Dólar da Guiana TOP Pa'anga tonganês
HKD Dólar de Hong Kong TRY Nova Lira turca
Dólar de Trindade e
HNL Lempira de Honduras TTD
Tobago
HTG Gourde haitiano TWD Novo Dólar de Taiwan
HUF Forint húngaro TZS Xelim da Tanzânia
IDR Rupia indonésia UAH Hryvnia ucraniano
ILS Shekel israelita UGX Xelim do Uganda
INR Rupia indiana USD Dólar Americano
ISK Krona islandesa UYU Peso Uruguaio
JMD Dólar jamaicano UZS Som Uzbeque
JPY Iene japonês VND Dong vietnamita
KES Xelim queniano VUV Vatu de Vanuatu
KGS Som do Quirguistão WST Tala de Samoa
KHR Riel do Camboja XAF Franco CFA BEAC
Dólar das Caraíbas
KMF Franco das Comoros XCD
Orientais
KRW Won sul coreano XOF Franco CFA BCEAO
KYD Dólar das Ilhas Caimã XPF Franco CFP
KZT Tenge do Cazaquistão YER Rial do Iémene
LAK Kip do Laos ZAR Rand Sul-africano
ZMK Kwacha da Zâmbia

98

  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
DOCUMENTAÇÃO DE INTEGRAÇÃO 
 
V2.0.2
2 
 
Histórico de Revisões 
 
 
Versão 
Data 
Descrição 
1.0 
30/01/2012 
Versão inicial do manual. 
1.1 
13/02/2012
maxiPago! Smart Payments © 2013 
3 
 
1.9.1 
15/03/2013 
Adicionada integração Magento 
Adicionada lista de meios de paga
4 
 
Índice 
 
Objetivo do manual ...................................................................................
maxiPago! Smart Payments © 2013 
5 
 
Retorno do Cadastro ...............................................................
6 
 
Objetivo do manual 
 
Este manual trata dos conceitos básicos das operações de pagamento e os detalhes técnicos
maxiPago! Smart Payments © 2013 
7 
 
Escolhendo o seu tipo de integração 
 
Integração via API         
 
A principal ca
8 
 
Ambiente de Testes 
 
No ambiente de testes é possível simular a maioria das requisições e transações. Lembre-se
maxiPago! Smart Payments © 2013 
9 
 
Certificação da Integração 
 
Para garantir a qualidade da integração técnica entre
10 
 
Credenciais do Estabelecimento 
 
Para qualquer chamada feita em nossa base é preciso que o Estabelecimento se

Você também pode gostar