Saltar al contenido principal
POST
/
v1
/
qrcodes
/
dynamic
Crear código QR dinámico
curl --request POST \
  --url https://plugin-pix-direct.api.lerian.net/v1/qrcodes/dynamic \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "type": "IMMEDIATE",
  "key": "12345678901",
  "amount": 50,
  "recipientName": "João da Silva",
  "payer": {
    "document": "98765432100",
    "validate": true,
    "name": "Maria Santos"
  },
  "dueDate": "2024-12-31",
  "expirationTime": 3600,
  "city": "São Paulo",
  "zipCode": "01234567",
  "recipientConciliationId": "CONC123456789",
  "partnerId": "019c96a0-0c0c-7221-8cf3-13313fb60081",
  "description": [
    {
      "name": "Invoice",
      "value": "INV-001"
    }
  ]
}
'
import requests

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

payload = {
"type": "IMMEDIATE",
"key": "12345678901",
"amount": 50,
"recipientName": "João da Silva",
"payer": {
"document": "98765432100",
"validate": True,
"name": "Maria Santos"
},
"dueDate": "2024-12-31",
"expirationTime": 3600,
"city": "São Paulo",
"zipCode": "01234567",
"recipientConciliationId": "CONC123456789",
"partnerId": "019c96a0-0c0c-7221-8cf3-13313fb60081",
"description": [
{
"name": "Invoice",
"value": "INV-001"
}
]
}
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({
type: 'IMMEDIATE',
key: '12345678901',
amount: 50,
recipientName: 'João da Silva',
payer: {document: '98765432100', validate: true, name: 'Maria Santos'},
dueDate: '2024-12-31',
expirationTime: 3600,
city: 'São Paulo',
zipCode: '01234567',
recipientConciliationId: 'CONC123456789',
partnerId: '019c96a0-0c0c-7221-8cf3-13313fb60081',
description: [{name: 'Invoice', value: 'INV-001'}]
})
};

fetch('https://plugin-pix-direct.api.lerian.net/v1/qrcodes/dynamic', 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/dynamic",
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([
'type' => 'IMMEDIATE',
'key' => '12345678901',
'amount' => 50,
'recipientName' => 'João da Silva',
'payer' => [
'document' => '98765432100',
'validate' => true,
'name' => 'Maria Santos'
],
'dueDate' => '2024-12-31',
'expirationTime' => 3600,
'city' => 'São Paulo',
'zipCode' => '01234567',
'recipientConciliationId' => 'CONC123456789',
'partnerId' => '019c96a0-0c0c-7221-8cf3-13313fb60081',
'description' => [
[
'name' => 'Invoice',
'value' => 'INV-001'
]
]
]),
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/dynamic"

payload := strings.NewReader("{\n \"type\": \"IMMEDIATE\",\n \"key\": \"12345678901\",\n \"amount\": 50,\n \"recipientName\": \"João da Silva\",\n \"payer\": {\n \"document\": \"98765432100\",\n \"validate\": true,\n \"name\": \"Maria Santos\"\n },\n \"dueDate\": \"2024-12-31\",\n \"expirationTime\": 3600,\n \"city\": \"São Paulo\",\n \"zipCode\": \"01234567\",\n \"recipientConciliationId\": \"CONC123456789\",\n \"partnerId\": \"019c96a0-0c0c-7221-8cf3-13313fb60081\",\n \"description\": [\n {\n \"name\": \"Invoice\",\n \"value\": \"INV-001\"\n }\n ]\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/dynamic")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"IMMEDIATE\",\n \"key\": \"12345678901\",\n \"amount\": 50,\n \"recipientName\": \"João da Silva\",\n \"payer\": {\n \"document\": \"98765432100\",\n \"validate\": true,\n \"name\": \"Maria Santos\"\n },\n \"dueDate\": \"2024-12-31\",\n \"expirationTime\": 3600,\n \"city\": \"São Paulo\",\n \"zipCode\": \"01234567\",\n \"recipientConciliationId\": \"CONC123456789\",\n \"partnerId\": \"019c96a0-0c0c-7221-8cf3-13313fb60081\",\n \"description\": [\n {\n \"name\": \"Invoice\",\n \"value\": \"INV-001\"\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

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

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 \"type\": \"IMMEDIATE\",\n \"key\": \"12345678901\",\n \"amount\": 50,\n \"recipientName\": \"João da Silva\",\n \"payer\": {\n \"document\": \"98765432100\",\n \"validate\": true,\n \"name\": \"Maria Santos\"\n },\n \"dueDate\": \"2024-12-31\",\n \"expirationTime\": 3600,\n \"city\": \"São Paulo\",\n \"zipCode\": \"01234567\",\n \"recipientConciliationId\": \"CONC123456789\",\n \"partnerId\": \"019c96a0-0c0c-7221-8cf3-13313fb60081\",\n \"description\": [\n {\n \"name\": \"Invoice\",\n \"value\": \"INV-001\"\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "qrCode": "00020101021226850014br.gov.bcb.pix2563qrcode.example.com.br/v2/cobv/9d36b84fc70b478fb95c12729b90ca255204000053039865802BR5913Merchant Name6009Sao Paulo62070503***63042C43"
}

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
type
enum<string>
requerido

Tipo de código QR. En este caso, IMMEDIATE.

Opciones disponibles:
IMMEDIATE
Ejemplo:

"IMMEDIATE"

key
string
requerido

Clave Pix del destinatario.

Ejemplo:

"12345678901"

amount
number<double>
requerido

Monto para el código QR dinámico.

Ejemplo:

50

recipientName
string
requerido

Nombre del destinatario (beneficiario).

Ejemplo:

"João da Silva"

payer
object
requerido

Información del pagador.

dueDate
string<date>
requerido

Fecha de vencimiento del pago (YYYY-MM-DD).

Ejemplo:

"2024-12-31"

expirationTime
integer
requerido

Tiempo de expiración en segundos tras el cual el código QR deja de ser válido.

Ejemplo:

3600

city
string
requerido

Ciudad del destinatario.

Ejemplo:

"São Paulo"

zipCode
string
requerido

Código postal del destinatario (8 dígitos).

Ejemplo:

"01234567"

recipientConciliationId
string
requerido

Identificador para la conciliación del destinatario.

Ejemplo:

"CONC123456789"

partnerId
string<uuid>
requerido

Identificador del sistema asociado.

Ejemplo:

"019c96a0-0c0c-7221-8cf3-13313fb60081"

description
object[]
requerido

Lista de descripciones para el pago.

Respuesta

Código QR dinámico creado correctamente

qrCode
string
requerido

Cadena del código QR Pix generado.

Ejemplo:

"00020101021226850014br.gov.bcb.pix2563qrcode.example.com.br/v2/cobv/9d36b84fc70b478fb95c12729b90ca255204000053039865802BR5913Merchant Name6009Sao Paulo62070503***63042C43"