curl --request POST \
--url https://plugin-pix-direct.api.lerian.net/v1/qrcodes/static \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"key": "12345678901",
"amount": 100,
"recipientName": "João da Silva",
"accountId": "019c96a0-0a98-7287-9a31-786e0809c769",
"txId": "TXN123456789",
"description": "Payment for services"
}
'import requests
url = "https://plugin-pix-direct.api.lerian.net/v1/qrcodes/static"
payload = {
"key": "12345678901",
"amount": 100,
"recipientName": "João da Silva",
"accountId": "019c96a0-0a98-7287-9a31-786e0809c769",
"txId": "TXN123456789",
"description": "Payment for services"
}
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({
key: '12345678901',
amount: 100,
recipientName: 'João da Silva',
accountId: '019c96a0-0a98-7287-9a31-786e0809c769',
txId: 'TXN123456789',
description: 'Payment for services'
})
};
fetch('https://plugin-pix-direct.api.lerian.net/v1/qrcodes/static', 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/static",
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([
'key' => '12345678901',
'amount' => 100,
'recipientName' => 'João da Silva',
'accountId' => '019c96a0-0a98-7287-9a31-786e0809c769',
'txId' => 'TXN123456789',
'description' => 'Payment for services'
]),
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/static"
payload := strings.NewReader("{\n \"key\": \"12345678901\",\n \"amount\": 100,\n \"recipientName\": \"João da Silva\",\n \"accountId\": \"019c96a0-0a98-7287-9a31-786e0809c769\",\n \"txId\": \"TXN123456789\",\n \"description\": \"Payment for services\"\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/static")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"key\": \"12345678901\",\n \"amount\": 100,\n \"recipientName\": \"João da Silva\",\n \"accountId\": \"019c96a0-0a98-7287-9a31-786e0809c769\",\n \"txId\": \"TXN123456789\",\n \"description\": \"Payment for services\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://plugin-pix-direct.api.lerian.net/v1/qrcodes/static")
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 \"key\": \"12345678901\",\n \"amount\": 100,\n \"recipientName\": \"João da Silva\",\n \"accountId\": \"019c96a0-0a98-7287-9a31-786e0809c769\",\n \"txId\": \"TXN123456789\",\n \"description\": \"Payment for services\"\n}"
response = http.request(request)
puts response.read_body{
"qrCode": "00020101021226850014br.gov.bcb.pix2563qrcode.example.com.br/v2/cobv/9d36b84fc70b478fb95c12729b90ca255204000053039865802BR5913Merchant Name6009Sao Paulo62070503***63042C43"
}Create static QR code
Generate a static Pix QR code with fixed amount. These QR codes can be reused multiple times and are ideal for fixed pricing scenarios like product labels or invoices.
curl --request POST \
--url https://plugin-pix-direct.api.lerian.net/v1/qrcodes/static \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"key": "12345678901",
"amount": 100,
"recipientName": "João da Silva",
"accountId": "019c96a0-0a98-7287-9a31-786e0809c769",
"txId": "TXN123456789",
"description": "Payment for services"
}
'import requests
url = "https://plugin-pix-direct.api.lerian.net/v1/qrcodes/static"
payload = {
"key": "12345678901",
"amount": 100,
"recipientName": "João da Silva",
"accountId": "019c96a0-0a98-7287-9a31-786e0809c769",
"txId": "TXN123456789",
"description": "Payment for services"
}
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({
key: '12345678901',
amount: 100,
recipientName: 'João da Silva',
accountId: '019c96a0-0a98-7287-9a31-786e0809c769',
txId: 'TXN123456789',
description: 'Payment for services'
})
};
fetch('https://plugin-pix-direct.api.lerian.net/v1/qrcodes/static', 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/static",
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([
'key' => '12345678901',
'amount' => 100,
'recipientName' => 'João da Silva',
'accountId' => '019c96a0-0a98-7287-9a31-786e0809c769',
'txId' => 'TXN123456789',
'description' => 'Payment for services'
]),
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/static"
payload := strings.NewReader("{\n \"key\": \"12345678901\",\n \"amount\": 100,\n \"recipientName\": \"João da Silva\",\n \"accountId\": \"019c96a0-0a98-7287-9a31-786e0809c769\",\n \"txId\": \"TXN123456789\",\n \"description\": \"Payment for services\"\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/static")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"key\": \"12345678901\",\n \"amount\": 100,\n \"recipientName\": \"João da Silva\",\n \"accountId\": \"019c96a0-0a98-7287-9a31-786e0809c769\",\n \"txId\": \"TXN123456789\",\n \"description\": \"Payment for services\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://plugin-pix-direct.api.lerian.net/v1/qrcodes/static")
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 \"key\": \"12345678901\",\n \"amount\": 100,\n \"recipientName\": \"João da Silva\",\n \"accountId\": \"019c96a0-0a98-7287-9a31-786e0809c769\",\n \"txId\": \"TXN123456789\",\n \"description\": \"Payment for services\"\n}"
response = http.request(request)
puts response.read_body{
"qrCode": "00020101021226850014br.gov.bcb.pix2563qrcode.example.com.br/v2/cobv/9d36b84fc70b478fb95c12729b90ca255204000053039865802BR5913Merchant Name6009Sao Paulo62070503***63042C43"
}Authorizations
JWT Bearer token authentication. Obtain token from /v1/login/oauth/access_token endpoint
using client credentials (clientId and clientSecret).
Include token in Authorization header:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Token expires after 3600 seconds (1 hour).
Body
Pix key of the recipient.
"12345678901"
Fixed amount for the static QR code.
100
Name of the recipient (payee).
"João da Silva"
Account identifier of the recipient.
"019c96a0-0a98-7287-9a31-786e0809c769"
Unique transaction identifier (endToEndId).
"TXN123456789"
Description of the payment.
"Payment for services"
Response
Static QR code created successfully
Generated Pix QR code string.
"00020101021226850014br.gov.bcb.pix2563qrcode.example.com.br/v2/cobv/9d36b84fc70b478fb95c12729b90ca255204000053039865802BR5913Merchant Name6009Sao Paulo62070503***63042C43"
Was this page helpful?

