Informações e instruções das APIs dos produtos Locaweb.
Estornando ou cancelando uma transação
Segue abaixo as informações de verbo HTTP e URI:
Verbo HTTP | URI produção |
---|---|
POST | https://api.gatewaylocaweb.com.br/v1/transacao/:id/estornar |
No “:id” você precisará passar o id da transação que você deseja estornar.
Segue abaixo as informações de verbo HTTP e URI:
Verbo HTTP | URI Sandbox |
---|---|
POST | https://api-sandbox.gatewaylocaweb.com.br/v1/transacao/:id/estornar |
No “:id” você precisará passar o id da transação que você deseja estornar.
O id da transação será passado no próprio endereço, portanto, o único dado que é necessário ser informado é o token.
Os dados deverão ser enviados em formato JSON com a seguinte estrutura:
Campo | Descrição |
---|---|
token | Campo que contem o token do gateway que identifica o usuário. |
Exemplo em formato JSON (formato recebido pelo Gateway de Pagamento).
1
{ "token":"3a5bbed0-50d4-012f-8d73-0026bb5a6240" }
Atenção: O Token já deve estar configurado conforme explicam as páginas Como configurar o Gateway e Autenticação.
Nos exemplos abaixo, 150 é o “id” da transação retornado na criação.
1
2
3
curl 'https://api.gatewaylocaweb.com.br/v1/transacao/150/cancelar' \
-H "Content-Type: application/json" \
-d '{ "token":"3a5bbed0-50d4-012f-8d73-0026bb5a6240"}'
1
2
3
4
5
<?php
require 'LocawebGateway.php';
$transacao = LocawebGateway::cancelar(150)->sendRequest();
var_dump($transacao);
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!-- #include file="locaweb/LocawebGateway.asp" -->
<%
Set gateway = New LocawebGateway
Set transacao = gateway.Cancelar(999) 'O parâmetro é o ID da transação.'
Response.Write("
Dados da transação")
Response.Write("ID: " & transacao.ID & "")
Response.Write("Status: " & transacao.Status & "")
Response.Write("Número do pedido: " & transacao.NumeroPedido & "")
Response.Write("Meio de pagamento: " & transacao.MeioPagamento & "")
Response.Write("URL de acesso: " & transacao.UrlAcesso & "")
Response.Write("Detalhes: ")
'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) & "")
Next
If transacao.TemErro Then
Response.Write("
Erros encontrados")
Response.Write("Código de erro: " & transacao.ErroCodigo & "")
Response.Write("Mensagem de erro: " & transacao.ErroMensagem & "")
End If
'Sempre libere os recursos dos objetos após utilizá-los.'
Set transacao = Nothing
Set gateway = Nothing
%>
1
2
require "locaweb-gateway"
transacao = Locaweb::Gateway.cancelar(150)
1
2
from locaweb_gateway import LocawebGateway
transacao = LocawebGateway.cancelar(150)
Se a resposta ocorreu com sucesso, o Gateway de Pagamento retornará o status “cancelada”, como visto abaixo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"transacao": {
"id": 316,
"status": "cancelada",
"meio_pagamento": "redecard_ws",
"numero_pedido": 123,
"total": "100.00",
"detalhes": {
"numero_sequencial": "948",
"numero_comprovante_venda": "7227",
"numero_autenticacao": "9002",
"numero_autorizacao": "4243",
"url_comprovante": "https://ecommerce.redecard.com.br/pos_virtual/cupom.asp?DATA=20120306&TRANSACAO=201&NUMAUTOR=4243&NUMCV=7227&FILIACAO=1234567890"
},
"erro": null
}
}
Itaú Shopline, Redecard Komerci Integrado e todos os tipos de Boleto não suportam a operação de cancelamento. No caso de tentativa de cancelamento de uma transação desses meios de pagamento, o Gateway de Pagamento retornará:
HTTP Status | Código de Erro | Mensagem de Erro |
---|---|---|
400 | 003 | Operação não suportada |
Para mais informações sobre as mensagens de erro, consulte a página Retorno de Erros.