curl --request POST \
--url https://plugin-pix-direct.api.lerian.net/sgct/jdpi/spi/api/v2/credito/devolucao \
--header 'Authorization: Bearer <token>' \
--header 'Chave-Idempotencia: <chave-idempotencia>' \
--header 'Content-Type: application/json' \
--data '
{
"endToEndIdDevolucao": "<string>",
"idReqJdPi": "<string>",
"pagador": {
"ispb": "<string>",
"cpfCnpj": "<string>",
"nome": "<string>",
"nrAgencia": "<string>",
"nrConta": "<string>"
},
"recebedor": {
"ispb": "<string>",
"cpfCnpj": "<string>",
"nrAgencia": "<string>",
"nrConta": "<string>",
"tpConta": 123
},
"valor": 123,
"codigoDevolucao": "<string>",
"dtContabil": "<string>",
"dtHrLiquidacao": "<string>",
"dtHrOp": "<string>",
"endToEndIdOriginal": "<string>",
"motivoDevolucao": "<string>"
}
'import requests
url = "https://plugin-pix-direct.api.lerian.net/sgct/jdpi/spi/api/v2/credito/devolucao"
payload = {
"endToEndIdDevolucao": "<string>",
"idReqJdPi": "<string>",
"pagador": {
"ispb": "<string>",
"cpfCnpj": "<string>",
"nome": "<string>",
"nrAgencia": "<string>",
"nrConta": "<string>"
},
"recebedor": {
"ispb": "<string>",
"cpfCnpj": "<string>",
"nrAgencia": "<string>",
"nrConta": "<string>",
"tpConta": 123
},
"valor": 123,
"codigoDevolucao": "<string>",
"dtContabil": "<string>",
"dtHrLiquidacao": "<string>",
"dtHrOp": "<string>",
"endToEndIdOriginal": "<string>",
"motivoDevolucao": "<string>"
}
headers = {
"Chave-Idempotencia": "<chave-idempotencia>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Chave-Idempotencia': '<chave-idempotencia>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
endToEndIdDevolucao: '<string>',
idReqJdPi: '<string>',
pagador: {
ispb: '<string>',
cpfCnpj: '<string>',
nome: '<string>',
nrAgencia: '<string>',
nrConta: '<string>'
},
recebedor: {
ispb: '<string>',
cpfCnpj: '<string>',
nrAgencia: '<string>',
nrConta: '<string>',
tpConta: 123
},
valor: 123,
codigoDevolucao: '<string>',
dtContabil: '<string>',
dtHrLiquidacao: '<string>',
dtHrOp: '<string>',
endToEndIdOriginal: '<string>',
motivoDevolucao: '<string>'
})
};
fetch('https://plugin-pix-direct.api.lerian.net/sgct/jdpi/spi/api/v2/credito/devolucao', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://plugin-pix-direct.api.lerian.net/sgct/jdpi/spi/api/v2/credito/devolucao",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'endToEndIdDevolucao' => '<string>',
'idReqJdPi' => '<string>',
'pagador' => [
'ispb' => '<string>',
'cpfCnpj' => '<string>',
'nome' => '<string>',
'nrAgencia' => '<string>',
'nrConta' => '<string>'
],
'recebedor' => [
'ispb' => '<string>',
'cpfCnpj' => '<string>',
'nrAgencia' => '<string>',
'nrConta' => '<string>',
'tpConta' => 123
],
'valor' => 123,
'codigoDevolucao' => '<string>',
'dtContabil' => '<string>',
'dtHrLiquidacao' => '<string>',
'dtHrOp' => '<string>',
'endToEndIdOriginal' => '<string>',
'motivoDevolucao' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Chave-Idempotencia: <chave-idempotencia>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://plugin-pix-direct.api.lerian.net/sgct/jdpi/spi/api/v2/credito/devolucao"
payload := strings.NewReader("{\n \"endToEndIdDevolucao\": \"<string>\",\n \"idReqJdPi\": \"<string>\",\n \"pagador\": {\n \"ispb\": \"<string>\",\n \"cpfCnpj\": \"<string>\",\n \"nome\": \"<string>\",\n \"nrAgencia\": \"<string>\",\n \"nrConta\": \"<string>\"\n },\n \"recebedor\": {\n \"ispb\": \"<string>\",\n \"cpfCnpj\": \"<string>\",\n \"nrAgencia\": \"<string>\",\n \"nrConta\": \"<string>\",\n \"tpConta\": 123\n },\n \"valor\": 123,\n \"codigoDevolucao\": \"<string>\",\n \"dtContabil\": \"<string>\",\n \"dtHrLiquidacao\": \"<string>\",\n \"dtHrOp\": \"<string>\",\n \"endToEndIdOriginal\": \"<string>\",\n \"motivoDevolucao\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Chave-Idempotencia", "<chave-idempotencia>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://plugin-pix-direct.api.lerian.net/sgct/jdpi/spi/api/v2/credito/devolucao")
.header("Chave-Idempotencia", "<chave-idempotencia>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"endToEndIdDevolucao\": \"<string>\",\n \"idReqJdPi\": \"<string>\",\n \"pagador\": {\n \"ispb\": \"<string>\",\n \"cpfCnpj\": \"<string>\",\n \"nome\": \"<string>\",\n \"nrAgencia\": \"<string>\",\n \"nrConta\": \"<string>\"\n },\n \"recebedor\": {\n \"ispb\": \"<string>\",\n \"cpfCnpj\": \"<string>\",\n \"nrAgencia\": \"<string>\",\n \"nrConta\": \"<string>\",\n \"tpConta\": 123\n },\n \"valor\": 123,\n \"codigoDevolucao\": \"<string>\",\n \"dtContabil\": \"<string>\",\n \"dtHrLiquidacao\": \"<string>\",\n \"dtHrOp\": \"<string>\",\n \"endToEndIdOriginal\": \"<string>\",\n \"motivoDevolucao\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://plugin-pix-direct.api.lerian.net/sgct/jdpi/spi/api/v2/credito/devolucao")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Chave-Idempotencia"] = '<chave-idempotencia>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"endToEndIdDevolucao\": \"<string>\",\n \"idReqJdPi\": \"<string>\",\n \"pagador\": {\n \"ispb\": \"<string>\",\n \"cpfCnpj\": \"<string>\",\n \"nome\": \"<string>\",\n \"nrAgencia\": \"<string>\",\n \"nrConta\": \"<string>\"\n },\n \"recebedor\": {\n \"ispb\": \"<string>\",\n \"cpfCnpj\": \"<string>\",\n \"nrAgencia\": \"<string>\",\n \"nrConta\": \"<string>\",\n \"tpConta\": 123\n },\n \"valor\": 123,\n \"codigoDevolucao\": \"<string>\",\n \"dtContabil\": \"<string>\",\n \"dtHrLiquidacao\": \"<string>\",\n \"dtHrOp\": \"<string>\",\n \"endToEndIdOriginal\": \"<string>\",\n \"motivoDevolucao\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"dtHrCreditoSgct": "<string>",
"idCreditoSgct": "<string>",
"idReqJdPi": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}Registrar crédito de devolução MED de entrada
Registra o CRÉDITO de devolução do lado recebedor no ledger local do Midaz quando o SPI liquida uma devolução MED. Registra um lançamento de partidas dobradas COMMITTED e balanceado (crédito na compensação, débito-espelho no recebedor) e cunha o idCreditoSgct. O cabeçalho Authorization (Bearer) é obrigatório nesta entrada financeira: um token ausente/inválido é um 401 codificado. Um crédito reentregue para o mesmo endToEndIdDevolucao ecoa o idCreditoSgct anterior sem um segundo lançamento (idempotente).
curl --request POST \
--url https://plugin-pix-direct.api.lerian.net/sgct/jdpi/spi/api/v2/credito/devolucao \
--header 'Authorization: Bearer <token>' \
--header 'Chave-Idempotencia: <chave-idempotencia>' \
--header 'Content-Type: application/json' \
--data '
{
"endToEndIdDevolucao": "<string>",
"idReqJdPi": "<string>",
"pagador": {
"ispb": "<string>",
"cpfCnpj": "<string>",
"nome": "<string>",
"nrAgencia": "<string>",
"nrConta": "<string>"
},
"recebedor": {
"ispb": "<string>",
"cpfCnpj": "<string>",
"nrAgencia": "<string>",
"nrConta": "<string>",
"tpConta": 123
},
"valor": 123,
"codigoDevolucao": "<string>",
"dtContabil": "<string>",
"dtHrLiquidacao": "<string>",
"dtHrOp": "<string>",
"endToEndIdOriginal": "<string>",
"motivoDevolucao": "<string>"
}
'import requests
url = "https://plugin-pix-direct.api.lerian.net/sgct/jdpi/spi/api/v2/credito/devolucao"
payload = {
"endToEndIdDevolucao": "<string>",
"idReqJdPi": "<string>",
"pagador": {
"ispb": "<string>",
"cpfCnpj": "<string>",
"nome": "<string>",
"nrAgencia": "<string>",
"nrConta": "<string>"
},
"recebedor": {
"ispb": "<string>",
"cpfCnpj": "<string>",
"nrAgencia": "<string>",
"nrConta": "<string>",
"tpConta": 123
},
"valor": 123,
"codigoDevolucao": "<string>",
"dtContabil": "<string>",
"dtHrLiquidacao": "<string>",
"dtHrOp": "<string>",
"endToEndIdOriginal": "<string>",
"motivoDevolucao": "<string>"
}
headers = {
"Chave-Idempotencia": "<chave-idempotencia>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Chave-Idempotencia': '<chave-idempotencia>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
endToEndIdDevolucao: '<string>',
idReqJdPi: '<string>',
pagador: {
ispb: '<string>',
cpfCnpj: '<string>',
nome: '<string>',
nrAgencia: '<string>',
nrConta: '<string>'
},
recebedor: {
ispb: '<string>',
cpfCnpj: '<string>',
nrAgencia: '<string>',
nrConta: '<string>',
tpConta: 123
},
valor: 123,
codigoDevolucao: '<string>',
dtContabil: '<string>',
dtHrLiquidacao: '<string>',
dtHrOp: '<string>',
endToEndIdOriginal: '<string>',
motivoDevolucao: '<string>'
})
};
fetch('https://plugin-pix-direct.api.lerian.net/sgct/jdpi/spi/api/v2/credito/devolucao', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://plugin-pix-direct.api.lerian.net/sgct/jdpi/spi/api/v2/credito/devolucao",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'endToEndIdDevolucao' => '<string>',
'idReqJdPi' => '<string>',
'pagador' => [
'ispb' => '<string>',
'cpfCnpj' => '<string>',
'nome' => '<string>',
'nrAgencia' => '<string>',
'nrConta' => '<string>'
],
'recebedor' => [
'ispb' => '<string>',
'cpfCnpj' => '<string>',
'nrAgencia' => '<string>',
'nrConta' => '<string>',
'tpConta' => 123
],
'valor' => 123,
'codigoDevolucao' => '<string>',
'dtContabil' => '<string>',
'dtHrLiquidacao' => '<string>',
'dtHrOp' => '<string>',
'endToEndIdOriginal' => '<string>',
'motivoDevolucao' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Chave-Idempotencia: <chave-idempotencia>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://plugin-pix-direct.api.lerian.net/sgct/jdpi/spi/api/v2/credito/devolucao"
payload := strings.NewReader("{\n \"endToEndIdDevolucao\": \"<string>\",\n \"idReqJdPi\": \"<string>\",\n \"pagador\": {\n \"ispb\": \"<string>\",\n \"cpfCnpj\": \"<string>\",\n \"nome\": \"<string>\",\n \"nrAgencia\": \"<string>\",\n \"nrConta\": \"<string>\"\n },\n \"recebedor\": {\n \"ispb\": \"<string>\",\n \"cpfCnpj\": \"<string>\",\n \"nrAgencia\": \"<string>\",\n \"nrConta\": \"<string>\",\n \"tpConta\": 123\n },\n \"valor\": 123,\n \"codigoDevolucao\": \"<string>\",\n \"dtContabil\": \"<string>\",\n \"dtHrLiquidacao\": \"<string>\",\n \"dtHrOp\": \"<string>\",\n \"endToEndIdOriginal\": \"<string>\",\n \"motivoDevolucao\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Chave-Idempotencia", "<chave-idempotencia>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://plugin-pix-direct.api.lerian.net/sgct/jdpi/spi/api/v2/credito/devolucao")
.header("Chave-Idempotencia", "<chave-idempotencia>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"endToEndIdDevolucao\": \"<string>\",\n \"idReqJdPi\": \"<string>\",\n \"pagador\": {\n \"ispb\": \"<string>\",\n \"cpfCnpj\": \"<string>\",\n \"nome\": \"<string>\",\n \"nrAgencia\": \"<string>\",\n \"nrConta\": \"<string>\"\n },\n \"recebedor\": {\n \"ispb\": \"<string>\",\n \"cpfCnpj\": \"<string>\",\n \"nrAgencia\": \"<string>\",\n \"nrConta\": \"<string>\",\n \"tpConta\": 123\n },\n \"valor\": 123,\n \"codigoDevolucao\": \"<string>\",\n \"dtContabil\": \"<string>\",\n \"dtHrLiquidacao\": \"<string>\",\n \"dtHrOp\": \"<string>\",\n \"endToEndIdOriginal\": \"<string>\",\n \"motivoDevolucao\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://plugin-pix-direct.api.lerian.net/sgct/jdpi/spi/api/v2/credito/devolucao")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Chave-Idempotencia"] = '<chave-idempotencia>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"endToEndIdDevolucao\": \"<string>\",\n \"idReqJdPi\": \"<string>\",\n \"pagador\": {\n \"ispb\": \"<string>\",\n \"cpfCnpj\": \"<string>\",\n \"nome\": \"<string>\",\n \"nrAgencia\": \"<string>\",\n \"nrConta\": \"<string>\"\n },\n \"recebedor\": {\n \"ispb\": \"<string>\",\n \"cpfCnpj\": \"<string>\",\n \"nrAgencia\": \"<string>\",\n \"nrConta\": \"<string>\",\n \"tpConta\": 123\n },\n \"valor\": 123,\n \"codigoDevolucao\": \"<string>\",\n \"dtContabil\": \"<string>\",\n \"dtHrLiquidacao\": \"<string>\",\n \"dtHrOp\": \"<string>\",\n \"endToEndIdOriginal\": \"<string>\",\n \"motivoDevolucao\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"dtHrCreditoSgct": "<string>",
"idCreditoSgct": "<string>",
"idReqJdPi": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}Autorizações
Autenticacao por token JWT Bearer. Obtenha o token no endpoint /v1/login/oauth/access_token
usando credenciais do cliente (clientId e clientSecret).
Inclua o token no header Authorization:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
O token expira apos 3600 segundos (1 hora).
Cabeçalhos
Token de acesso Bearer (o portão de entrada financeira; o handler falha de forma fechada com Pix-0082 quando ausente).
Chave de idempotência (= o endToEndIdDevolucao). Obrigatório conforme o contrato de crédito SPI do MED.
Corpo
EndToEndId da devolução (pacs.004; a chave natural / âncora de idempotência, 32 caracteres).
O id da requisição upstream da notificação de crédito.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Valor de devolução creditado, em reais.
Código de motivo do estorno (BE08/FR01/MD06/SL02).
Data contábil do SPI.
Instante de liquidação do SPI.
Instante original informado pelo recebedor (UTC).
EndToEndId do pagamento contestado original (32 caracteres).
Detalhe de devolução em texto livre.
Esta página foi útil?

