Saltar al contenido principal
POST
/
v1
/
qrcodes
/
decode
/
url
Decodificar un QR Pix mediante su URL de payload
curl --request POST \
  --url https://plugin-pix-direct.api.lerian.net/v1/qrcodes/decode/url \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "accountId": "<string>",
  "payloadUrl": "<string>",
  "municipalityCode": "<string>",
  "paymentDate": "<string>"
}
'
import requests

url = "https://plugin-pix-direct.api.lerian.net/v1/qrcodes/decode/url"

payload = {
"accountId": "<string>",
"payloadUrl": "<string>",
"municipalityCode": "<string>",
"paymentDate": "<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({
accountId: '<string>',
payloadUrl: '<string>',
municipalityCode: '<string>',
paymentDate: '<string>'
})
};

fetch('https://plugin-pix-direct.api.lerian.net/v1/qrcodes/decode/url', 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/qrcodes/decode/url",
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([
'accountId' => '<string>',
'payloadUrl' => '<string>',
'municipalityCode' => '<string>',
'paymentDate' => '<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/qrcodes/decode/url"

payload := strings.NewReader("{\n \"accountId\": \"<string>\",\n \"payloadUrl\": \"<string>\",\n \"municipalityCode\": \"<string>\",\n \"paymentDate\": \"<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/qrcodes/decode/url")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"accountId\": \"<string>\",\n \"payloadUrl\": \"<string>\",\n \"municipalityCode\": \"<string>\",\n \"paymentDate\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

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

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 \"accountId\": \"<string>\",\n \"payloadUrl\": \"<string>\",\n \"municipalityCode\": \"<string>\",\n \"paymentDate\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "amount": 123,
  "payee": {
    "accountDigit": "<string>",
    "accountNumber": "<string>",
    "accountType": 123,
    "bankId": "<string>",
    "branch": "<string>",
    "document": "<string>",
    "keyType": 123,
    "name": "<string>"
  },
  "qrCodeType": "<string>",
  "amountTroco": 123,
  "bankIdPss": 123,
  "description": "<string>",
  "dueDate": "<string>",
  "endToEndId": "<string>",
  "isPixSaque": true,
  "isPixTroco": true,
  "key": "<string>",
  "txId": "<string>"
}
{
"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
accountId
string
requerido

El id de cuenta del CRM del pagador que escanea (aporta el documento PI-PayerID).

payloadUrl
string
requerido

La URL de payload JWS publicada por el beneficiario que se va a decodificar (urlPayloadJson; sin esquema).

municipalityCode
string

Código de municipio del pagador (codMun; cálculo de feriados de cobv).

paymentDate
string

Fecha de pago prevista (dPP; aaaa-mm-dd; cálculo de valorFinal de cobv).

Respuesta

OK

amount
number<double>
requerido

El monto decodificado en reales.

payee
object
requerido
qrCodeType
string
requerido

El tipo de QR decodificado (STATIC o DYNAMIC; cobv se pliega sobre DYNAMIC).

amountTroco
number<double>

El monto de Pix Troco en reales (solo troco).

bankIdPss
integer<int64>

El ISPB del participante PSS de saque/troco.

description
string

Datos adicionales (dadosAdicionais).

dueDate
string

Fecha de vencimiento (opcional para cobv/static).

endToEndId
string

El end-to-end id del SPI.

isPixSaque
boolean

Si el QR lleva un tramo de Pix Saque.

isPixTroco
boolean

Si el QR lleva un tramo de Pix Troco.

key
string

La clave Pix del beneficiario.

txId
string

Id de conciliación (idConciliacaoRecebedor).