Saltar al contenido principal
POST
/
v1
/
webhooks
/
refunds
Procesar una devolução Pix iniciada por el banco del beneficiario
curl --request POST \
  --url https://plugin-pix-direct.api.lerian.net/v1/webhooks/refunds \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "endToEndIdDevolucao": "<string>",
  "endToEndIdOriginal": "<string>",
  "idReqJdPi": "<string>",
  "valor": 123,
  "codigoDevolucao": "<string>",
  "infEntreClientes": "<string>",
  "motivoDevolucao": "<string>"
}
'
import requests

url = "https://plugin-pix-direct.api.lerian.net/v1/webhooks/refunds"

payload = {
"endToEndIdDevolucao": "<string>",
"endToEndIdOriginal": "<string>",
"idReqJdPi": "<string>",
"valor": 123,
"codigoDevolucao": "<string>",
"infEntreClientes": "<string>",
"motivoDevolucao": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
endToEndIdDevolucao: '<string>',
endToEndIdOriginal: '<string>',
idReqJdPi: '<string>',
valor: 123,
codigoDevolucao: '<string>',
infEntreClientes: '<string>',
motivoDevolucao: '<string>'
})
};

fetch('https://plugin-pix-direct.api.lerian.net/v1/webhooks/refunds', 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/v1/webhooks/refunds",
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>',
'endToEndIdOriginal' => '<string>',
'idReqJdPi' => '<string>',
'valor' => 123,
'codigoDevolucao' => '<string>',
'infEntreClientes' => '<string>',
'motivoDevolucao' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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/v1/webhooks/refunds"

payload := strings.NewReader("{\n \"endToEndIdDevolucao\": \"<string>\",\n \"endToEndIdOriginal\": \"<string>\",\n \"idReqJdPi\": \"<string>\",\n \"valor\": 123,\n \"codigoDevolucao\": \"<string>\",\n \"infEntreClientes\": \"<string>\",\n \"motivoDevolucao\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

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/v1/webhooks/refunds")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"endToEndIdDevolucao\": \"<string>\",\n \"endToEndIdOriginal\": \"<string>\",\n \"idReqJdPi\": \"<string>\",\n \"valor\": 123,\n \"codigoDevolucao\": \"<string>\",\n \"infEntreClientes\": \"<string>\",\n \"motivoDevolucao\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://plugin-pix-direct.api.lerian.net/v1/webhooks/refunds")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"endToEndIdDevolucao\": \"<string>\",\n \"endToEndIdOriginal\": \"<string>\",\n \"idReqJdPi\": \"<string>\",\n \"valor\": 123,\n \"codigoDevolucao\": \"<string>\",\n \"infEntreClientes\": \"<string>\",\n \"motivoDevolucao\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "dtHrCreditoSgct": "<string>",
  "dtHrValidacao": "<string>",
  "idCreditoSgct": "<string>",
  "idReqJdPi": "<string>",
  "motivo": "<string>",
  "motivoComplemento": "<string>",
  "resultado": 123
}
{
"code": "<string>",
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}

Autorizaciones

Authorization
string
header
requerido

Autenticación con token JWT Bearer. Obtén el token desde el endpoint /v1/login/oauth/access_token usando credenciales de cliente (clientId y clientSecret).

Incluye el token en el encabezado Authorization: Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

El token expira después de 3600 segundos (1 hora).

Cuerpo

application/json
endToEndIdDevolucao
string
requerido

Id de retorno asignado por el upstream (clave de idempotencia + deduplicación).

endToEndIdOriginal
string
requerido

End-to-end id del CASH_OUT original.

idReqJdPi
string
requerido

Id de solicitud del upstream (GUID), reflejado en el acuse.

valor
number<double>
requerido

Monto de retorno en reales (un número JSON).

codigoDevolucao
string

Código de motivo de retorno (eRefundCode).

infEntreClientes
string

Información entre clientes de texto libre.

motivoDevolucao
string

Motivo de retorno de texto libre.

Respuesta

OK

dtHrCreditoSgct
string

Marca de tiempo del crédito del settlement-gateway (ISO-8601).

dtHrValidacao
string

Marca de tiempo de la validación (ISO-8601).

idCreditoSgct
string

Id de crédito del settlement-gateway.

idReqJdPi
string

Id de solicitud del upstream, reflejado.

motivo
string

Código de motivo (en un retorno rechazado).

motivoComplemento
string

Complemento del motivo.

resultado
integer<int64>

Resultado de la validación (0=Inválido, 1=Válido).