Introdução
Este documento tem como finalidade demonstrar a implementação da integração entre e-commerces e o meio de pagamento disponibilizado pela plataforma iVarejo via chamada ao ambiente iVarejo através do uso de Pop-Ups.
Padrão da integração
A integração é realizada por troca de informações via POSTs HTTP utilizando documentos XML que definem as mensagens de requisição e resposta trocadas entre a plataforma iVarejo e os e-commerces.
Uma vez que a comunicação seja estabelecida entre as duas partes, a interface de pagamentos da iVarejo é exibida automaticamente em uma pop-up modal para o consumidor, orientando este através do fluxo de pagamento.
Diagrama de Sequência
Abaixo temos o diagrama de sequência que demonstra todas as mensagens trocadas entre o e-Commerce e a plataforma iVarejo.
Mensagens
Abaixo estão demonstradas as estruturas das mensagens XML que são trocadas entre a plataforma e-Commerce e o iVarejo.
1 - EnvioMeioPagamento
a) Modelo XML:
<?xml version="1.0" encoding="utf-8"?><EnvioMeioPagamento> <CodigoEntidade></CodigoEntidade> <Pedido> <NumeroPedido></NumeroPedido> <ValorPedido></ValorPedido> <ValorFretePedido></ValorFretePedido> <ValorCustosAdcionaisPedido></ValorCustosAdcionaisPedido> <ValorTotalAPagar></ValorTotalAPagar> <DadosConsumidor> <Nome></Nome> <NomeMae></NomeMae> <NomePai></NomePai> <TipoPessoa></TipoPessoa> <DataNascimento></DataNascimento> <CpfCnpj></CpfCnpj> <Email></Email> <Sexo></Sexo> <Telefones> <Telefone> <Tipo></Tipo> <DDD></DDD> <Numero></Numero> </Telefone> </Telefones> </DadosConsumidor> <EnderecoResidencial> <Logradouro></Logradouro> <Numero></Numero> <Complemento></Complemento> <CEP></CEP> <Bairro></Bairro> <Cidade></Cidade> <UF></UF> </EnderecoResidencial> <EnderecoEntrega> <Logradouro></Logradouro> <Numero></Numero> <Complemento></Complemento> <CEP></CEP> <Bairro></Bairro> <Cidade></Cidade> <UF></UF> </EnderecoEntrega> <EnderecoCobranca> <Logradouro></Logradouro> <Numero></Numero> <Complemento></Complemento> <CEP></CEP> <Bairro></Bairro> <Cidade></Cidade> <UF></UF> </EnderecoCobranca> <ItensPedido> <ItemPedido> <Nome></Nome> <Quantidade></Quantidade> <ValorUnitario></ValorUnitario> <Fabricante></Fabricante> <Modelo></Modelo> <PartNumber></PartNumber> </ItemPedido> </ItensPedido> </Pedido></EnvioMeioPagamento>
b) Dicionário:
EnvioMeioPagamento
Tag |
Descrição |
Tipo |
Tamanho |
Obrigatório |
CodigoEntidade |
Código gerado pela iVarejo para identificar o e-Commerce | GUID |
36 |
Sim |
Pedido |
Dados do pedido do Consumidor
|
Pedido |
1 |
Sim |
Pedido
Tag |
Descrição |
Tipo |
Tamanho |
Obrigatório |
NumeroPedido |
Número do pedido
|
Texto |
50 |
Sim |
ValorPedido |
Valor Líquido do Pedido
|
Decimal |
(18,2) |
Sim |
ValorFretePedido |
Valor do Frete
|
Decimal |
(18,2)
|
Sim |
ValorCustosAdcionaisPedido |
Valor de Custos Adcionais(Taxas, Impostos, Cambio, etc)
|
Decimal |
(18,2) |
Não |
ValorTotalAPagar |
Valor Total do Pedido com Frete + Custos Adcionais
|
Decimal |
(18,2) |
Sim |
DadosConsumidor |
Dados do Consumidor
|
DadosConsumidor |
1 |
Sim |
EnderecoEntrega |
Dados do endereço de entraga do pedido |
Endereço |
1 |
Sim |
EnderecoResidencial |
Dados do endereço residêncial do consumidor
|
Endereço |
1 |
Sim |
EnderecoCobranca |
Dados do endereço cobrança do consumidor |
Endereço |
1 |
Sim |
ItensPedido |
Lista de itens(produtos) que compõe o pedido
|
ItemPedido |
1 |
Sim |
DadosConsumidor
Tag |
Descrição |
Tipo |
Tamanho |
Obrigatório |
Nome |
Nome do Consumidor
|
Texto |
|
Sim |
NomeMae |
Nome da Mãe do Consumidor
|
Texto |
|
Não
|
NomePai |
Nome do Pai do Consumidor
|
Texto |
|
Não |
TipoPessoa |
Tipo da Pessoa - (F:Pessoa Física / J:Pessoa Jurídica)
|
Texto |
1 |
Sim |
DataNascimento |
Data de Nascimento do Consumidor
|
Data (yyyy-mm-ddThh:mm:ss) |
|
Sim |
CpfCnpj |
CPF do consumidor (Sem formatação
|
Texto |
|
Sim |
Email |
Email do consumidor
|
Texto |
|
Sim |
Sexo |
Sexo do consumidor - (M:Masculino / F:Feminido)
|
Texto |
1 |
Sim |
Telefones |
Lista de Telefones do consumidor
|
Telefone |
1 ou N
|
Sim |
Telefone
Tag |
Descrição |
Tipo |
Tamanho |
Obrigatório |
Tipo |
Tipo de Telefone(R:Residêncial / C:Comercial / M:Celular)
|
Texto |
1 |
Sim |
DDD |
DDD do Telefone
|
Numérico |
2 |
Sim |
Numero |
Número do Telefone
|
Numérico |
8
|
Sim |
Endereco
Tag |
Descrição |
Tipo |
Tamanho |
Obrigatório |
Logradouro |
Descrição do Logradouro
|
Texto |
|
Sim |
Numero |
Número do logradouro
|
Texto |
|
Sim |
Complemento |
Complemento
|
Texto |
|
Sim |
CEP |
CEP do endereço (sem formatação)
|
Texto |
8 |
Sim |
Bairro |
Bairro |
Texto |
|
Sim |
Cidade |
Município |
Texto |
|
Sim |
UF |
Unidade Federativa (Abreviação)
|
Texto |
2 |
Sim |
ItemPedido
Tag
|
Descrição |
Tipo |
Tamanho |
Obrigatório |
Nome |
Nome do produto
|
Texto |
|
Sim |
Quantidade |
Quantidade do produto comprada
|
Numerico
|
2 |
Sim |
ValorUnitario |
Valor unitário do produto
|
Decimal |
(18,2) |
Sim |
Fabricante |
Nome do Fabricante
|
Texto |
|
Não |
Modelo |
Código do Modelo do produto
|
Texto |
|
Não |
PartNumber |
Part Number do produto
|
Texto |
|
Não |
2 - RetornoMeioPagamento
a) Modelo XML:
<?xml version="1.0" encoding="utf-8"?> <RetornoMeioPagamento> <NumeroPedido></NumeroPedido> <CodigoEntidade></CodigoEntidade> <CodigoRetorno></CodigoRetorno> <DataHoraProcessamento></DataHoraProcessamento> <IdTransacao></IdTransacao> <UrlNovaAcao></UrlNovaAcao> <PagamentoConcluido></PagamentoConcluido> <PagamentoCancelado></PagamentoCancelado> <PagamentoAutorizado></PagamentoAutorizado> <Passo></Passo> <QuantidadeParcelas></QuantidadeParcelas> <ValorParcela></ValorParcela> </RetornoMeioPagamento>
b) Dicionário:
RetornoMeioPagamento
Tag
|
Descrição |
Tipo |
Tamanho |
Obrigatório |
NumeroPedido |
Número do pedido
|
Texto |
50 |
Sim |
CodigoEntidade |
Código gerado pela iVarejo para identificar o e-Commerce |
GUID
|
36 |
Sim |
CodigoRetorno |
Código que identifica o tipo de retorno
|
Texto |
50 |
sim |
DataHoraProcessamento |
Data e hora do retorno o processamento
|
Data (yyyy-mm-ddThh:mm:ss) |
|
Sim |
IdTransacao |
Número da transação interna gerada pelo iVarejo
|
GUID |
36 |
Sim
|
UrlNovaAcao |
URL da próxima ação identificada pelo processamento do pedido
|
Texto |
300 |
Sim |
PagamentoConcluido |
Flag que indica que o pagamento foi concluído com sucesso
|
Boleano |
True/False |
Sim |
PagamentoCancelado |
Flag que indica que o pagamento foi cancelado
|
Boleano |
True/False |
Sim |
PagamentoAutorizado |
Flag que indica que o pagamento foi autorizado
|
Boleano |
True/False |
Sim |
Passo |
Passo em que o fluxo de pagamento foi finalizado
|
Texto |
50 |
Sim |
QuantidadeParcelas |
Quantidade de parcelas escolhida pelo consumidor
|
Numérico |
2 |
Sim |
ValorParcela |
Valor da parcela
|
Decimal |
(18,2) |
Sim |
3 - RequisicaoStatusPagamento
a) Modelo XML:
<?xml version="1.0" encoding="utf-8"?>
<RequisicaoStatusPagamento> <IdTransacao></IdTransacao> </RequisicaoStatusPagamento>
b) Dicionário:
RequisicaoStatusPagamento
Tag
|
Descrição |
Tipo |
Tamanho |
Obrigatório |
IdTransacao |
Número da transação interna gerada pelo iVarejo |
GUID |
36 |
Sim |
4 - DadosSegundaViaBoleto
a) Modelo XML:
<?xml version="1.0" encoding="utf-8"?>
<DadosSegundaViaBoleto> <CodigoEntidade></CodigoEntidade> <NumeroPedido></NumeroPedido> </DadosSegundaViaBoleto>
b) Dicionário:
DadosSegundaViaBoleto
Tag | Descrição | Tipo | Tamanho | Obrigatório |
CodigoEntidade |
Código gerado pela iVarejo para identificar o e-Commerce |
GUID |
36 |
Sim |
NumeroPedido |
Número do pedido
|
Texto |
50 |
Sim |
5 - MensagemErro
a) Modelo XML:
<?xml version="1.0" encoding="utf-8"?> <MensagemErro> <CodigoEntidade></CodigoEntidade> <CodigoExcecao></CodigoExcecao> <Excecao> <MensagemExcecao></MensagemExcecao> <StackTrace></StackTrace> <LocalErro></LocalErro> <ExcecaoInterna> <MensagemExcecao></MensagemExcecao> <StackTrace></StackTrace> <LocalErro></LocalErro> <ExcecaoInterna/> </ExcecaoInterna> </Excecao> </MensagemErro>
b) Dicionário:
MensagemErro
Tag
|
Descrição |
Tipo |
Tamanho |
Obrigatório |
CodigoEntidade |
Código gerado pela iVarejo para identificar o e-Commerce |
GUID |
36 |
Sim |
CodigoExcecao |
Código que identifica o tipo de excecao
|
Texto |
50 |
Sim |
Excecao |
Exceção retornada do pocessamento do iVarejo
|
Excecao |
0 ou 1
|
Não |
Excecao
Tag
|
Descrição |
Tipo |
Tamanho |
Obrigatório |
MensagemExcecao |
Mensagem de Erro
|
Texto |
48 |
Sim |
StackTrace |
Dump da Stack de execução
|
Texto |
1000 |
Sim |
LocalErro |
Local onde a exceção foi gerada
|
Texto |
300 |
Sim |
ExcecaoInterna |
Exceção interna que representa um erro em um subnível de execução
|
Excecao |
0 ou 1
|
Não |
Observações
- Todos os valores decimais tem como separador da parte fracionária o ponto(.);
- As mensagens de retorno devem ser devidamente tratadas na implementação do e-Commerce para prover uma melhor resposta aos usuários finais.
|
|