Saltar al contenido principal
POST
/
v1
/
pix-automatico
/
composite
/
dynamic
Crear un QR compuesto dinámico inmediato de Pix Automático
curl --request POST \
  --url https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/composite/dynamic \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "accountId": "<string>",
  "jwkUrl": "<string>",
  "key": "<string>",
  "originalAmount": 123,
  "paymentPayloadUrl": "<string>",
  "recurrence": {
    "contractNumber": "<string>",
    "debtor": {
      "cpfCnpj": "<string>",
      "name": "<string>",
      "personType": 123
    },
    "frequency": 123,
    "recipient": {
      "cnpj": "<string>",
      "ispb": "<string>",
      "name": "<string>"
    },
    "recurrenceId": "<string>",
    "retry": 123,
    "startDate": "<string>",
    "amount": 123,
    "contractDesc": "<string>",
    "endDate": "<string>",
    "maxFloorAmount": 123
  },
  "recurrencePayloadUrl": "<string>",
  "txId": "<string>",
  "certificateIspb": "<string>",
  "description": [
    {
      "name": "<string>",
      "value": "<string>"
    }
  ],
  "expirationTime": 123,
  "payer": {
    "document": "<string>",
    "name": "<string>",
    "request": "<string>"
  },
  "zipCode": "<string>"
}
'
import requests

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

payload = {
"accountId": "<string>",
"jwkUrl": "<string>",
"key": "<string>",
"originalAmount": 123,
"paymentPayloadUrl": "<string>",
"recurrence": {
"contractNumber": "<string>",
"debtor": {
"cpfCnpj": "<string>",
"name": "<string>",
"personType": 123
},
"frequency": 123,
"recipient": {
"cnpj": "<string>",
"ispb": "<string>",
"name": "<string>"
},
"recurrenceId": "<string>",
"retry": 123,
"startDate": "<string>",
"amount": 123,
"contractDesc": "<string>",
"endDate": "<string>",
"maxFloorAmount": 123
},
"recurrencePayloadUrl": "<string>",
"txId": "<string>",
"certificateIspb": "<string>",
"description": [
{
"name": "<string>",
"value": "<string>"
}
],
"expirationTime": 123,
"payer": {
"document": "<string>",
"name": "<string>",
"request": "<string>"
},
"zipCode": "<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>',
jwkUrl: '<string>',
key: '<string>',
originalAmount: 123,
paymentPayloadUrl: '<string>',
recurrence: {
contractNumber: '<string>',
debtor: {cpfCnpj: '<string>', name: '<string>', personType: 123},
frequency: 123,
recipient: {cnpj: '<string>', ispb: '<string>', name: '<string>'},
recurrenceId: '<string>',
retry: 123,
startDate: '<string>',
amount: 123,
contractDesc: '<string>',
endDate: '<string>',
maxFloorAmount: 123
},
recurrencePayloadUrl: '<string>',
txId: '<string>',
certificateIspb: '<string>',
description: [{name: '<string>', value: '<string>'}],
expirationTime: 123,
payer: {document: '<string>', name: '<string>', request: '<string>'},
zipCode: '<string>'
})
};

fetch('https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/composite/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/pix-automatico/composite/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([
'accountId' => '<string>',
'jwkUrl' => '<string>',
'key' => '<string>',
'originalAmount' => 123,
'paymentPayloadUrl' => '<string>',
'recurrence' => [
'contractNumber' => '<string>',
'debtor' => [
'cpfCnpj' => '<string>',
'name' => '<string>',
'personType' => 123
],
'frequency' => 123,
'recipient' => [
'cnpj' => '<string>',
'ispb' => '<string>',
'name' => '<string>'
],
'recurrenceId' => '<string>',
'retry' => 123,
'startDate' => '<string>',
'amount' => 123,
'contractDesc' => '<string>',
'endDate' => '<string>',
'maxFloorAmount' => 123
],
'recurrencePayloadUrl' => '<string>',
'txId' => '<string>',
'certificateIspb' => '<string>',
'description' => [
[
'name' => '<string>',
'value' => '<string>'
]
],
'expirationTime' => 123,
'payer' => [
'document' => '<string>',
'name' => '<string>',
'request' => '<string>'
],
'zipCode' => '<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/pix-automatico/composite/dynamic"

payload := strings.NewReader("{\n \"accountId\": \"<string>\",\n \"jwkUrl\": \"<string>\",\n \"key\": \"<string>\",\n \"originalAmount\": 123,\n \"paymentPayloadUrl\": \"<string>\",\n \"recurrence\": {\n \"contractNumber\": \"<string>\",\n \"debtor\": {\n \"cpfCnpj\": \"<string>\",\n \"name\": \"<string>\",\n \"personType\": 123\n },\n \"frequency\": 123,\n \"recipient\": {\n \"cnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"recurrenceId\": \"<string>\",\n \"retry\": 123,\n \"startDate\": \"<string>\",\n \"amount\": 123,\n \"contractDesc\": \"<string>\",\n \"endDate\": \"<string>\",\n \"maxFloorAmount\": 123\n },\n \"recurrencePayloadUrl\": \"<string>\",\n \"txId\": \"<string>\",\n \"certificateIspb\": \"<string>\",\n \"description\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"expirationTime\": 123,\n \"payer\": {\n \"document\": \"<string>\",\n \"name\": \"<string>\",\n \"request\": \"<string>\"\n },\n \"zipCode\": \"<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/pix-automatico/composite/dynamic")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"accountId\": \"<string>\",\n \"jwkUrl\": \"<string>\",\n \"key\": \"<string>\",\n \"originalAmount\": 123,\n \"paymentPayloadUrl\": \"<string>\",\n \"recurrence\": {\n \"contractNumber\": \"<string>\",\n \"debtor\": {\n \"cpfCnpj\": \"<string>\",\n \"name\": \"<string>\",\n \"personType\": 123\n },\n \"frequency\": 123,\n \"recipient\": {\n \"cnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"recurrenceId\": \"<string>\",\n \"retry\": 123,\n \"startDate\": \"<string>\",\n \"amount\": 123,\n \"contractDesc\": \"<string>\",\n \"endDate\": \"<string>\",\n \"maxFloorAmount\": 123\n },\n \"recurrencePayloadUrl\": \"<string>\",\n \"txId\": \"<string>\",\n \"certificateIspb\": \"<string>\",\n \"description\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"expirationTime\": 123,\n \"payer\": {\n \"document\": \"<string>\",\n \"name\": \"<string>\",\n \"request\": \"<string>\"\n },\n \"zipCode\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/composite/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 \"accountId\": \"<string>\",\n \"jwkUrl\": \"<string>\",\n \"key\": \"<string>\",\n \"originalAmount\": 123,\n \"paymentPayloadUrl\": \"<string>\",\n \"recurrence\": {\n \"contractNumber\": \"<string>\",\n \"debtor\": {\n \"cpfCnpj\": \"<string>\",\n \"name\": \"<string>\",\n \"personType\": 123\n },\n \"frequency\": 123,\n \"recipient\": {\n \"cnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"recurrenceId\": \"<string>\",\n \"retry\": 123,\n \"startDate\": \"<string>\",\n \"amount\": 123,\n \"contractDesc\": \"<string>\",\n \"endDate\": \"<string>\",\n \"maxFloorAmount\": 123\n },\n \"recurrencePayloadUrl\": \"<string>\",\n \"txId\": \"<string>\",\n \"certificateIspb\": \"<string>\",\n \"description\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"expirationTime\": 123,\n \"payer\": {\n \"document\": \"<string>\",\n \"name\": \"<string>\",\n \"request\": \"<string>\"\n },\n \"zipCode\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "qrCode": "<string>",
  "documentId": "<string>",
  "recurrencePayload": "<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 beneficiario (aporta nombre + ciudad).

jwkUrl
string
requerido

URL del JWK Set (urlJwk; sin esquema).

key
string
requerido

La clave Pix del beneficiario a la que paga el QR compuesto.

originalAmount
number<double>
requerido

Monto original del cobro en reales (valorOriginal).

paymentPayloadUrl
string
requerido

URL del host JWS del pago (urlPayloadJson; sin esquema).

recurrence
object
requerido
recurrencePayloadUrl
string
requerido

URL del host JWS de la recurrencia (urlPayloadJsonRec; sin esquema).

txId
string
requerido

Id de conciliación (idConciliacaoRecebedor).

certificateIspb
string

ISPB del certificado del PSP indirecto (ispbCertificadoJws, cadena).

description
object[] | null

Entradas de datos adicionales opcionales (dadosAdicionais).

expirationTime
integer<int64>

Expiración del QR en segundos.

payer
object
zipCode
string

Código postal del beneficiario (cep).

Respuesta

Creado

qrCode
string
requerido

El payload del QR compuesto EMV generado (decodificado de base64, listo para renderizar).

documentId
string

El id de documento de la recurrencia/cobro (idDocumento, GUID).

recurrencePayload
string

El JWS de recurrencia firmado (payloadJwsRecorrencia).