Transações
Para que o Gateway de Pagamento funcione em seu site ou loja, é necessário que ele gere transações. Entenda abaixo como isso funciona.
Conceitos
A transação é a entidade base do Gateway de Pagamento da Locaweb e representa a transação em que seu cliente efetua um pagamento a sua loja. A criação da transação é o primeiro passo para que possam ser feitas todas as operações do Gateway de Pagamento.
Após a captura , são adicionados também os campos de "detalhes" da transação , cada meio de pagamento apresenta diferentes campos de detalhes que podem ser vistos no tópico referente aos detalhes de cada meio de pagamento.
Armazenamento de dados
Outra função importante da transação é a de armazenar informações que são adquiridas ao longo do fluxo da API, após criada a transação os seguintes dados estaram disponiveis:
Campo | Descrição |
---|---|
id | O Identificador único da transação dentro do ambiente do gateway. |
status | O status atual da transação dentro do gateway. |
meio_pagamento | O Meio de pagamento que está sendo utilizado por esta transação. Saiba mais |
numero_pedido | O número do pedido conforme informado pelo lojista na criação da transação, geralmente é o ID do pedido no e-commerce do lojista. |
url_acesso |
É a URL para acessar o recurso criado, no caso do boleto ela aponta para boleto. Para o itau_shopline, redecard_web e Cielo (Buy-page Cielo e Buy-page Loja com autenticação) é a URL para o pagamento. Não existe para os serviços de web-service (Cielo Buy-page Loja sem autenticação e Redecard Komerci Webservice). |
Detalhes | São os detalhes específicos de cada meio de pagamento. Para mais detalhes visite a seção de Meios de Pagamento. |
Tipos de transação
Recomendamos o uso das bibliotecas que auxiliam na integração da API do Gateway de Pagamento da Locaweb. Para mais informações veja na seção Bibliotecas
Existem três tipos de transações que podem ser feitas e cada uma delas têm um fluxo distinto:
- Transação com dados sigilosos informados na loja (Cielo Buy-page Loja e Redecard Komerci Webservice).
- Transação com dados sigilosos informados fora loja (Cielo Buy-page Cielo, Redecard Komerci Integrado e Itaú Shopline).
- Transação sem passagem de dados sigilosos (boletos).
Transação com dados sigilosos informados na loja
Lembre-se que os dados sigilosos relacionados ao cartão não podem ser armazenados, logados ou capturados em ambiente não-seguro.
A Redecard Komerci Webservice e a Cielo Buy-page Loja, são os dois meios de pagamento que utilizam essa modalidade. Quando são usadas essas operadoras, os dados sigilosos como número do cartão, validade do cartão e dígito verificador do cartão, são informados pelo comprador em uma página de seu site ou loja.
Após receber os dados do cartão através de um formulário em sua loja, você deve criar a transação passando os dados do cartão através da API.
Segue abaixo o exemplo de criação de transação:
curl 'https://api.gatewaylocaweb.com.br/v1/transacao' \
-H "Content-Type: application/json" \
-d '{
"token":"3a5bbed0-50d4-012f-8d73-0026bb5a6240",
"transacao":{
"url_retorno":"http://www.minha-loja.com.br/confirmacao-pedido.php?id=12345",
"capturar":"true",
"pedido":{
"numero":"123",
"total":"100.00",
"moeda":"real",
"descricao":"An African or European swallow?"
},
"pagamento":{
"bandeira":"visa",
"meio_pagamento":"redecard_ws",
"cartao_numero":"4012001037141112",
"cartao_cvv":"973",
"cartao_validade":"082015",
"parcelas":"1",
"tipo_operacao":"credito_a_vista"
},
"comprador":{
"nome":"Nome do comprador",
"documento":"12345678900",
"endereco":"Rua da Casa",
"complemento":"Ap 82",
"numero":"1",
"cep":"09710240",
"bairro":"Centro",
"cidade":"São Paulo",
"estado":"SP"
}
}
}'
<?php
$transacao = LocawebGateway::criar(array(
'url_retorno' => 'http://www.minha-loja.com.br/confirmacao-pedido.php?id=12345',
'capturar' => 'true',
'pedido' => array(
'numero' => "123",
'total' => "100.00",
'moeda' => "real",
'descricao' => "Carrinho de Compras"
),
'pagamento' => array(
'meio_pagamento' => 'redecard_ws',
'bandeira' => "visa",
'cartao_numero' => "4012001037141112",
'cartao_cvv' => "973",
'parcelas' => "1",
'tipo_operacao' => "credito_a_vista",
'cartao_validade' => "082015"
),
'comprador' => array(
'nome' => "Nome do comprador",
'documento' => "27836038881",
'endereco' => "Rua da Casa",
'numero' => "1",
'cep' => "09710240",
'bairro' => "Centro",
'cidade' => "São Paulo",
'estado' => "SP"
)
))->sendRequest();
var_dump($transacao);
?>
<!-- #include file="locaweb/LocawebGateway.asp" -->
<%
Set cielo = New LocawebGatewayTransacaoDados
With cielo
.UrlRetorno = "http://www.sualoja.com.br/retorno"
.Capturar = True
.PedidoNumero = "987654"
.PedidoTotal = 123.45
.PedidoMoeda = "real"
.PedidoDescricao = "Bola de Basquete Never Flat Spalding (1)"
.PagamentoMeioPagamento = "cielo"
.PagamentoBandeira = "Visa"
.PagamentoCartaoNumero = "4012001037141112"
.PagamentoCartaoCvv = "123"
.PagamentoCartaoValidade = "082015"
.PagamentoTipoOperacao = "credito_a_vista"
.PagamentoParcelas = 1
.CompradorNome = "Pedro Bonamides"
.CompradorDocumento = "1234568909"
.CompradorEndereco = "Rua Itapaiúna"
.CompradorNumero = "5434"
.CompradorBairro = "Jardim Morumbi"
.CompradorCidade = "São Paulo"
.CompradorEstado = "SP"
.CompradorCEP = "05707-001"
End With
Set gateway = New LocawebGateway
Set transacao = gateway.Criar(cielo)
If transacao.TemErro Then
Response.Write("Erros encontrados<br />")
Response.Write("Código de erro: " & transacao.ErroCodigo & "<br />")
Response.Write("Mensagem de erro: " & transacao.ErroMensagem & "<br />")
Else
Response.Write("Dados da transação<br />")
Response.Write("ID: " & transacao.ID & "<br />")
Response.Write("Status: " & transacao.Status & "<br />")
Response.Write("Número do pedido: " & transacao.NumeroPedido & "<br />")
Response.Write("Meio de pagamento: " & transacao.MeioPagamento & "<br />")
Response.Write("URL de acesso: " & transacao.UrlAcesso & "<br />")
Response.Write("Detalhes: <br />")
'A propriedade Detalhes é um objeto do tipo "Scripting.Dictionary".'
'As chaves do dicionário variam de acordo com o meio de pagamento da transação.'
Dim key : For Each key In transacao.Detalhes.keys()
Response.Write("- " & key & ": " & transacao.Detalhes(key) & "<br />")
Next
End If
'Sempre libere os recursos dos objetos após utilizá-los.'
Set cielo = Nothing
Set transacao = Nothing
Set gateway = Nothing
%>
<br />
require 'locaweb-gateway'
transacao = Locaweb::Gateway.criar(
:url_retorno => 'http://foo.com/sucesso_pedido.php?pedido=12345',
:capturar => true,
:pedido => {
:numero => "123",
:total => "100.00",
:moeda => :real,
:descricao => "Carrinho de Compras"
},
:pagamento => {
:meio_pagamento => :redecard_ws,
:bandeira => :visa,
:cartao_numero => "4012001037141112",
:cartao_cvv => "973",
:parcelas => "1",
:tipo_operacao => "credito_a_vista",
:cartao_validade => "082015"
},
:comprador => {
:nome => "Nome do comprador",
:documento => "12345678900",
:endereco => "Rua da Casa",
:numero => "23",
:cep => "09710240",
:bairro => "Centro",
:cidade => "São Paulo",
:estado => "SP"
}
)
from locaweb_gateway import LocawebGateway
transacao = LocawebGateway.criar({
"url_retorno": 'http://foo.com/sucesso_pedido.php?pedido=12345',
"capturar": True,
"pedido": {
"numero": "123",
"total": "100.00",
"moeda": "real",
"descricao": "Carrinho de Compras"
},
"pagamento": {
"meio_pagamento": "redecard_ws",
"bandeira": "visa",
"cartao_numero": "4012001037141112",
"cartao_cvv": "973",
"parcelas": "1",
"tipo_operacao": "credito_a_vista",
"cartao_validade": "082015"
},
"comprador": {
"nome": "Nome do comprador",
"documento": "12345678900",
"endereco": "Rua da Casa",
"numero": "23",
"cep": "09710240",
"bairro": "Centro",
"cidade": u"São Paulo",
"estado": "SP"
}
})
Após executar esta requisição, se você passou o paramêtro "capturar" como "true", a transação será capturada automaticamente e você deve receber como retorno os dados da transação com o status igual a "paga" em caso de sucesso ou "negada" em caso de falha.
Se você passar o parâmetro "capturar" como "false", não irá ocorrer a captura automática e deve retornar status "negada" em caso de falha ou "aguardando pagamento" se houver sucesso. Nesse caso, você deve efetuar a captura manualmente conforme exemplo abaixo.
Veja o exemplo da captura manual da Transação, já em em formato JSON que é o formato recebido pelo Gateway de Pagamento:
curl 'https://api.gatewaylocaweb.com.br/v1/transacao/150/capturar' \
-H "Content-Type: application/json" \
-d '{ "token":"3a5bbed0-50d4-012f-8d73-0026bb5a6240"}'
<?php
require 'LocawebGateway.php';
$transacao = LocawebGateway::capturar(150)->sendRequest();
var_dump($transacao);
?>
<!-- #include file="locaweb/LocawebGateway.asp" -->
<%
Set gateway = New LocawebGateway
Set transacao = gateway.Capturar(150) 'O parâmetro é o ID da transação.'
Response.Write("Dados da transação<br />")
Response.Write("ID: " & transacao.ID & "<br />")
Response.Write("Status: " & transacao.Status & "<br />")
Response.Write("Número do pedido: " & transacao.NumeroPedido & "<br />")
Response.Write("Meio de pagamento: " & transacao.MeioPagamento & "<br />")
Response.Write("URL de acesso: " & transacao.UrlAcesso & "<br />")
Response.Write("Detalhes: <br />")
'A propriedade Detalhes é um objeto do tipo "Scripting.Dictionary".'
'As chaves do dicionário variam de acordo com o meio de pagamento da transação.'
Dim key : For Each key In transacao.Detalhes.keys()
Response.Write("- " & key & ": " & transacao.Detalhes(key) & "<br />")
Next
If transacao.TemErro Then
Response.Write("Erros encontrados<br />")
Response.Write("Código de erro: " & transacao.ErroCodigo & "<br />")
Response.Write("Mensagem de erro: " & transacao.ErroMensagem & "<br />")
End If
'Sempre libere os recursos dos objetos após utilizá-los.'
Set transacao = Nothing
Set gateway = Nothing
%>
require "locaweb-gateway"
transacao = Locaweb::Gateway.capturar(150)
from locaweb_gateway import LocawebGateway
transacao = LocawebGateway.capturar(150)
Após isso sua transação foi criada com sucesso, tendo passado inclusive pela captura do pagamento do usuário, se ocorreu com sucesso deve estar com o status de "paga" ou em caso de falha deve estar com o status de "negada".
Transação com dados sigilosos informados fora loja.
Nessa modalidade, utilizada pelas operadoras Cielo Buy-page Cielo, Redecard Komerci Integrado e Itaú Shopline, os dados sigilosos, como o número do cartão, a validade e dígitos verificadores, são informados pelo usuário em ambiente externo à loja, reduzindo os cuidados necessários com os dados.
Sendo assim, a requisição não deve enviar tais dados. Porém, o usuário deverá ser direcionado a uma URL para informar seus dados. Essa URL será retornada na criação da transação, no campo chamado "url_acesso".
Como o comprador irá ser redirecionado para a url_acesso, saindo do ambiente da sua loja, é essencial que você forneça um outro campo em sua requisição chamado "url_retorno". O endereço informado neste campo é a URL para a qual o usuário será redirecionado após informar os dados.
Exemplo de criação:
curl -s https://api.gatewaylocaweb.com.br/v1/transacao \
-H "Content-Type: application/json" \
-d '{ "token":"3a5bbed0-50d4-012f-8d73-0026bb5a6240",
"transacao":{ "url_retorno":"http://www.minha-loja.com.br/confirmacao-pedido.php?id=12345",
"capturar":"true",
"pedido":{
"numero":"123",
"total":"100.00",
"moeda":"real",
"descricao":"Raider"
}, "pagamento":{
"meio_pagamento":"itau_shopline",
"parcelas":"1",
"tipo_operacao":"credito_a_vista"
}, "comprador":{
"nome":"Nome do comprador",
"documento":"12345678900",
"endereco":"Rua da Casa",
"complemento":"Ap 82",
"numero":"1",
"cep":"09710240",
"bairro":"Centro",
"cidade":"São Paulo",
"estado":"SP"
} } }'
<?php
$transacao = LocawebGateway::criar(array(
'url_retorno' => 'http://www.minha-loja.com.br/confirmacao-pedido.php?id=12345',
'capturar' => 'true',
'pedido' => array(
'numero' => "123",
'total' => "100.00",
'moeda' => "real",
'descricao' => "Carrinho de Compras"
),
'pagamento' => array(
'meio_pagamento' => 'itau_shopline',
'parcelas' => "1",
'tipo_operacao' => "credito_a_vista"
),
'comprador' => array(
'nome' => "Nome do comprador",
'documento' => "27836038881",
'endereco' => "Rua da Casa",
'numero' => "1",
'cep' => "09710240",
'bairro' => "Centro",
'cidade' => "São Paulo",
'estado' => "SP"
)
))->sendRequest();
var_dump($transacao);
?>
<%
Set itau_shopline = New LocawebGatewayTransacaoDados
With itau_shopline
.UrlRetorno = "http://www.sualoja.com.br/retorno"
.Capturar = True
.PedidoNumero = "987654"
.PedidoTotal = 123.45
.PedidoMoeda = "real"
.PedidoDescricao = "Bola de Basquete Never Flat Spalding (1)"
.PagamentoMeioPagamento = "itau_shopline"
.PagamentoTipoOperacao = "credito_a_vista"
.PagamentoParcelas = 1
.CompradorNome = "Pedro Bonamides"
.CompradorDocumento = "1234568909"
.CompradorEndereco = "Rua Itapaiúna"
.CompradorNumero = "5434"
.CompradorBairro = "Jardim Morumbi"
.CompradorCidade = "São Paulo"
.CompradorEstado = "SP"
.CompradorCEP = "05707-001"
End With
Set gateway = New LocawebGateway
Set transacao = gateway.Criar(itau_shopline)
If transacao.TemErro Then
Response.Write("Erros encontrados<br />")
Response.Write("Código de erro: " & transacao.ErroCodigo & "<br />")
Response.Write("Mensagem de erro: " & transacao.ErroMensagem & "<br />")
Else
Response.Write("Dados da transação<br />")
Response.Write("ID: " & transacao.ID & "<br />")
Response.Write("Status: " & transacao.Status & "<br />")
Response.Write("Número do pedido: " & transacao.NumeroPedido & "<br />")
Response.Write("Meio de pagamento: " & transacao.MeioPagamento & "<br />")
Response.Write("URL de acesso: " & transacao.UrlAcesso & "<br />")
Response.Write("Detalhes: <br />")
'A propriedade Detalhes é um objeto do tipo "Scripting.Dictionary".'
'As chaves do dicionário variam de acordo com o meio de pagamento da transação.'
Dim key : For Each key In transacao.Detalhes.keys()
Response.Write("- " & key & ": " & transacao.Detalhes(key) & "<br />")
Next
End If
'Sempre libere os recursos dos objetos após utilizá-los.'
Set itau_shopline = Nothing
Set transacao = Nothing
Set gateway = Nothing
%>
transaction = Locaweb::Gateway.criar(
:url_retorno => 'http://foo.com/url_retorno',
:capturar => true,
:pedido => {
:numero => 123,
:total => "100.00",
:moeda => :real,
:descricao => "Carrinho de Compras"
},
:pagamento => {
:meio_pagamento => :itau_shopline,
:parcelas => "1",
:tipo_operacao => "credito_a_vista",
:vencimento_cartao => "082015"
},
:comprador => {
:nome => "Nome do comprador",
:documento => "12345678900",
:endereco => "Rua da Casa",
:numero => "23",
:cep => "09710240",
:bairro => "Centro",
:cidade => "São Paulo",
:estado => "SP"
}
)
from locaweb_gateway import LocawebGateway
transacao = LocawebGateway.criar({
"url_retorno": 'http://foo.com/sucesso_pedido.php?pedido=12345',
"capturar": True,
"pedido": {
"numero": "123",
"total": "100.00",
"moeda": "real",
"descricao": "Carrinho de Compras"
},
"pagamento": {
"meio_pagamento": "itau_shopline",
"parcelas": "1",
"tipo_operacao": "credito_a_vista",
},
"comprador": {
"nome": "Nome do comprador",
"documento": "12345678900",
"endereco": "Rua da Casa",
"numero": "23",
"cep": "09710240",
"bairro": "Centro",
"cidade": u"São Paulo",
"estado": "SP"
}
})
Essa requisição terá como retorno desse convênio semelhante ao seguinte exemplo:
{ "transacao": { "id": 159, "status": "aguardando_pagamento", "meio_pagamento": "itau_shopline", "numero_pedido": 123, "total": "100.00", "url_acesso": "https://api.gatewaylocaweb.com.br/v1/itau_shopline/32913047-4dda-4658-9ed1-7fb275749f03", "detalhes": { "nsu": null, "tipo_pagamento": null, "data_pagamento": null, "numero_autorizacao": null, "tipo_cartao": null }, "erro": null } }
Após esse retorno, você deve então redirecionar o seu cliente ao endereço que consta no campo "url_acesso", onde ele irá preencher os dados necessários e será então redirecionado para a "url_retorno" que você informou na requisição.
Na página que você informou como "url_retorno", você deverá consultar o status da transação. Ele é passado como um parâmetro na "url_retorno". Veja um exemplo de chamada a "url_retorno":
http://www.seusite.com.br/retorno?transacao=150
Nesse caso, o ID da transação da qual o usuário está retornando é 150, logo você deve consultar este ID utilizando a API do gateway, conforme o exemplo abaixo:
curl 'https://api.gatewaylocaweb.com.br/v1/transacao/150?token=3a5bbed0-50d4-012f-8d73-0026bb5a6240'
<?php
require 'LocawebGateway.php';
$transacao = LocawebGateway::consultar(150)->sendRequest();
var_dump($transacao);
?>
<!-- #include file="locaweb/LocawebGateway.asp" -->
<%
Set gateway = New LocawebGateway
Set transacao = gateway.Consultar(150) 'O parâmetro é o ID da transação.'
Response.Write("Dados da transação<br />")
Response.Write("ID: " & transacao.ID & "<br />")
Response.Write("Status: " & transacao.Status & "<br />")
Response.Write("Número do pedido: " & transacao.NumeroPedido & "<br />")
Response.Write("Meio de pagamento: " & transacao.MeioPagamento & "<br />")
Response.Write("URL de acesso: " & transacao.UrlAcesso & "<br />")
Response.Write("Detalhes: <br />")
'A propriedade Detalhes é um objeto do tipo "Scripting.Dictionary".'
'As chaves do dicionário variam de acordo com o meio de pagamento da transação.'
Dim key : For Each key In transacao.Detalhes.keys()
Response.Write("- " & key & ": " & transacao.Detalhes(key) & "<br />")
Next
If transacao.TemErro Then
Response.Write("Erros encontrados<br />")
Response.Write("Código de erro: " & transacao.ErroCodigo & "<br />")
Response.Write("Mensagem de erro: " & transacao.ErroMensagem & "<br />")
End If
'Sempre libere os recursos dos objetos após utilizá-los.'
Set transacao = Nothing
Set gateway = Nothing
%>
require "locaweb-gateway"
transacao = Locaweb::Gateway.consultar(150)
from locaweb_gateway import LocawebGateway
transacao = LocawebGateway.consultar(150)
Após isso, com base no status retornado pela consulta, atualize sua base de dados. Se a transação for bem sucedida, terá o status "paga". Caso contrário, constará o status "negada".
Transação sem passagem de dados sigilosos.
No caso de emissão de boletos, não há nenhum dado sigiloso a ser trafegado e nem há necessidade de se direcionar o usuário a um ambiente externo. Porém, se o usuário tiver a necessidade de acessar o boleto para efetuar o pagamento, deve ser direcionada a uma URL. Esse endereço é retornado no campo "url_acesso" após a criação da transação.
Cada banco possui um "meio_pagamento" específico. A listagem completa pode ser encontrada no tópico de boletos.
Exemplo de criação:
curl 'https://api.gatewaylocaweb.com.br/v1/transacao' \
-H "Content-Type: application/json" \
-d '{
"token":"3a5bbed0-50d4-012f-8d73-0026bb5a6240",
"transacao":{
"url_retorno":"http://foo.com/url_retorno",
"capturar":"true",
"pedido":{
"numero":"123",
"total":"100.00",
"moeda":"real",
"descricao":"Camisa de futebol"
},
"pagamento":{
"meio_pagamento":"boleto_banco_brasil",
"data_vencimento": "23122012"
},
"comprador":{
"nome":"Nome do comprador",
"documento":"12345678900",
"endereco":"Rua da Casa",
"complemento":"Ap 82",
"numero":"1",
"cep":"09710240",
"bairro":"Centro",
"cidade":"São Paulo",
"estado":"SP"
}
}
}'
<?php
require 'LocawebGateway.php';
$transacao = LocawebGateway::criar(array(
'url_retorno' => 'http://foo.com/url_retorno',
'capturar' => 'true',
'pedido' => array(
'numero' => "123",
'total' => "100.00",
'moeda' => "real",
'descricao' => "Camisa de futebol"
),
'pagamento' => array(
'meio_pagamento' => 'boleto_banco_brasil',
'data_vencimento' => '23122012',
),
'comprador' => array(
'nome' => "Nome do comprador",
'documento' => "27836038881",
'endereco' => "Rua da Casa",
'numero' => "1",
'cep' => "09710240",
'bairro' => "Centro",
'cidade' => "São Paulo",
'estado' => "SP"
)
))->sendRequest();
var_dump($transacao);
?>
<!-- #include file="locaweb/LocawebGateway.asp" -->
<%
Set boleto = New LocawebGatewayTransacaoDados
With boleto
.PagamentoMeioPagamento = "boleto_itau"
.PagamentoDataVencimento = "23122012"
.PedidoNumero = "72812923"
.PedidoTotal = 123.45
.PedidoMoeda = "real"
.PedidoDescricao = "Bola de Basquete Never Flat Spalding (1)"
.CompradorNome = "Pedro Bonamides"
.CompradorDocumento = "12345678909"
.CompradorEndereco = "Rua Itapaiúna"
.CompradorNumero = "5434"
.CompradorBairro = "Jardim Morumbi"
.CompradorCidade = "São Paulo"
.CompradorEstado = "SP"
.CompradorCEP = "05707-001"
End With
Set gateway = New LocawebGateway
Set transacao = gateway.Criar(boleto)
If transacao.TemErro Then
Response.Write("Erros encontrados<br />")
Response.Write("Código de erro: " & transacao.ErroCodigo & "<br />")
Response.Write("Mensagem de erro: " & transacao.ErroMensagem & "<br />")
Else
Response.Write("Dados da transação<br />")
Response.Write("ID: " & transacao.ID & "<br />")
Response.Write("Status: " & transacao.Status & "<br />")
Response.Write("Número do pedido: " & transacao.NumeroPedido & "<br />")
Response.Write("Meio de pagamento: " & transacao.MeioPagamento & "<br />")
Response.Write("URL de acesso: " & transacao.UrlAcesso & "<br />")
End If
'Sempre libere os recursos dos objetos após utilizá-los.'
Set boleto = Nothing
Set transacao = Nothing
Set gateway = Nothing
%>
transaction = Locaweb::Gateway.criar(
:url_retorno => 'http://foo.com/url_retorno',
:capturar => true,
:pedido => {
:numero => 123,
:total => "100.00",
:moeda => :real,
:descricao => "Camisa de futebol"
},
:pagamento => {
:meio_pagamento => :boleto_banco_brasil,
:data_vencimento => "23122012",
},
:comprador => {
:nome => "Nome do comprador",
:documento => "12345678900",
:endereco => "Rua da Casa",
:numero => "23",
:cep => "09710240",
:bairro => "Centro",
:cidade => "São Paulo",
:estado => "SP"
}
)
transacao = LocawebGateway.criar({
"url_retorno": 'http://foo.com/url_retorno',
"capturar": True,
"pedido": {
"numero": "123",
"total": "100.00",
"moeda": "real",
"descricao": "Camisa de futebol"
},
"pagamento": {
"meio_pagamento": "boleto_banco_brasil",
"data_vencimento": "23122012",
},
"comprador": {
"nome": "Nome do comprador",
"documento": "12345678900",
"endereco": "Rua da Casa",
"numero": "23",
"cep": "09710240",
"bairro": "Centro",
"cidade": u"São Paulo",
"estado": "SP"
}
})
Esta requisição terá um retorno similar a:
{ "transacao": { "id": 158, "status": "aguardando_pagamento", "meio_pagamento": "boleto_banco_brasil", "numero_pedido": 123, "total": "100.00", "url_acesso": "https://api.gatewaylocaweb.com.br/v1/boleto/3db0023b-de04-433a-a14c-d75d420d654b", "erro": null } }
O campo "url_acesso" é o endereço do boleto e pode ser repassado sem riscos ao usuário.
Tendo em vista que os boletos gerados pelo Gateway de Pagamento não são registrados, é necessário que você verifique manualmente em seu banco o pagamento ou não dos boletos. O Gateway de Pagamento não irá atualizar o status dos boletos gerados. Portanto, esta transação permanecerá sempre com o status: "aguardando pagamento".
Status das Transações
Com exceção da Cielo e da Redecard, os outros Meios de Pagamento não retornam todos os status. Para mais informações consulte as informações no tópico do meio de pagamento específico.
As transações do Gateway de Pagamentos Locaweb sempre possuem um status que reflete a condição atual da transação. Segue abaixo os status do Gateway de Pagamentos da Locaweb:
Status | Descrição |
---|---|
aguardando_pagamento | A transação foi criada, mas o pagamento não foi efetuado pelo comprador. |
paga | A transação foi criada e o pagamento foi efetuado pelo comprador. |
negada | A transação foi criada, mas o pagamento foi negado/não pago e/ou cartão não autorizado. Ex.: Cartão de Crédito sem limite. |
cancelada | A transação foi criada, o pagamento foi efetuado e cancelado(estornado) pelo lojista. |
Consultando Transações
Podemos consultar as transações na interface administrativa de produção ou na interface administrativa de sandbox .
Depois de se autenticar na interface administrativa, acesse o menu de "Transações".
Caso você queira fazer uma pesquisa mais apurada, realize uma "Busca Avançada".
Você também pode ver os detalhes da transação em "Ver Detalhes".