Pular para o conteúdo principal
POST
/
v1
/
pix-automatico
/
composite
/
cobv
Criar QR code composto de Pix Automático CobV (com vencimento)
curl --request POST \
  --url https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/composite/cobv \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "accountId": "<string>",
  "daysAfterDue": 123,
  "dueDate": "<string>",
  "finalAmount": 123,
  "jwkUrl": "<string>",
  "key": "<string>",
  "paymentPayloadUrl": "<string>",
  "recipientStreet": "<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>",
  "state": "<string>",
  "txId": "<string>",
  "zipCode": "<string>",
  "certificateIspb": "<string>",
  "description": [
    {
      "name": "<string>",
      "value": "<string>"
    }
  ],
  "discount": 123,
  "fine": 123,
  "interest": 123,
  "originalAmount": 123,
  "payer": {
    "document": "<string>",
    "name": "<string>",
    "request": "<string>"
  },
  "rebate": 123
}
'
import requests

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

payload = {
"accountId": "<string>",
"daysAfterDue": 123,
"dueDate": "<string>",
"finalAmount": 123,
"jwkUrl": "<string>",
"key": "<string>",
"paymentPayloadUrl": "<string>",
"recipientStreet": "<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>",
"state": "<string>",
"txId": "<string>",
"zipCode": "<string>",
"certificateIspb": "<string>",
"description": [
{
"name": "<string>",
"value": "<string>"
}
],
"discount": 123,
"fine": 123,
"interest": 123,
"originalAmount": 123,
"payer": {
"document": "<string>",
"name": "<string>",
"request": "<string>"
},
"rebate": 123
}
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>',
daysAfterDue: 123,
dueDate: '<string>',
finalAmount: 123,
jwkUrl: '<string>',
key: '<string>',
paymentPayloadUrl: '<string>',
recipientStreet: '<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>',
state: '<string>',
txId: '<string>',
zipCode: '<string>',
certificateIspb: '<string>',
description: [{name: '<string>', value: '<string>'}],
discount: 123,
fine: 123,
interest: 123,
originalAmount: 123,
payer: {document: '<string>', name: '<string>', request: '<string>'},
rebate: 123
})
};

fetch('https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/composite/cobv', 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/cobv",
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>',
'daysAfterDue' => 123,
'dueDate' => '<string>',
'finalAmount' => 123,
'jwkUrl' => '<string>',
'key' => '<string>',
'paymentPayloadUrl' => '<string>',
'recipientStreet' => '<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>',
'state' => '<string>',
'txId' => '<string>',
'zipCode' => '<string>',
'certificateIspb' => '<string>',
'description' => [
[
'name' => '<string>',
'value' => '<string>'
]
],
'discount' => 123,
'fine' => 123,
'interest' => 123,
'originalAmount' => 123,
'payer' => [
'document' => '<string>',
'name' => '<string>',
'request' => '<string>'
],
'rebate' => 123
]),
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/cobv"

payload := strings.NewReader("{\n \"accountId\": \"<string>\",\n \"daysAfterDue\": 123,\n \"dueDate\": \"<string>\",\n \"finalAmount\": 123,\n \"jwkUrl\": \"<string>\",\n \"key\": \"<string>\",\n \"paymentPayloadUrl\": \"<string>\",\n \"recipientStreet\": \"<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 \"state\": \"<string>\",\n \"txId\": \"<string>\",\n \"zipCode\": \"<string>\",\n \"certificateIspb\": \"<string>\",\n \"description\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"discount\": 123,\n \"fine\": 123,\n \"interest\": 123,\n \"originalAmount\": 123,\n \"payer\": {\n \"document\": \"<string>\",\n \"name\": \"<string>\",\n \"request\": \"<string>\"\n },\n \"rebate\": 123\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/cobv")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"accountId\": \"<string>\",\n \"daysAfterDue\": 123,\n \"dueDate\": \"<string>\",\n \"finalAmount\": 123,\n \"jwkUrl\": \"<string>\",\n \"key\": \"<string>\",\n \"paymentPayloadUrl\": \"<string>\",\n \"recipientStreet\": \"<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 \"state\": \"<string>\",\n \"txId\": \"<string>\",\n \"zipCode\": \"<string>\",\n \"certificateIspb\": \"<string>\",\n \"description\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"discount\": 123,\n \"fine\": 123,\n \"interest\": 123,\n \"originalAmount\": 123,\n \"payer\": {\n \"document\": \"<string>\",\n \"name\": \"<string>\",\n \"request\": \"<string>\"\n },\n \"rebate\": 123\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/composite/cobv")

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 \"daysAfterDue\": 123,\n \"dueDate\": \"<string>\",\n \"finalAmount\": 123,\n \"jwkUrl\": \"<string>\",\n \"key\": \"<string>\",\n \"paymentPayloadUrl\": \"<string>\",\n \"recipientStreet\": \"<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 \"state\": \"<string>\",\n \"txId\": \"<string>\",\n \"zipCode\": \"<string>\",\n \"certificateIspb\": \"<string>\",\n \"description\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"discount\": 123,\n \"fine\": 123,\n \"interest\": 123,\n \"originalAmount\": 123,\n \"payer\": {\n \"document\": \"<string>\",\n \"name\": \"<string>\",\n \"request\": \"<string>\"\n },\n \"rebate\": 123\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"
}

Autorizações

Authorization
string
header
obrigatório

Autenticacao por token JWT Bearer. Obtenha o token no endpoint /v1/login/oauth/access_token usando credenciais do cliente (clientId e clientSecret).

Inclua o token no header Authorization: Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

O token expira apos 3600 segundos (1 hora).

Corpo

application/json
accountId
string
obrigatório

O id da conta no CRM do recebedor (fonte de nome + cidade).

daysAfterDue
integer<int64>
obrigatório

Dias após a data de vencimento em que a cobrança ainda pode ser paga (diasAposVenc).

dueDate
string
obrigatório

Data de vencimento para pagamento (dtVenc; aaaa-mm-dd).

finalAmount
number<double>
obrigatório

Valor final da cobrança em reais (valorFinal, após ajustes).

jwkUrl
string
obrigatório

URL do JWK Set (urlJwk; sem esquema).

key
string
obrigatório

A chave Pix na qual o QR composto recebe.

paymentPayloadUrl
string
obrigatório

URL do host JWS da CobV (urlPayloadJson; sem esquema).

recipientStreet
string
obrigatório

Logradouro do recebedor (logradouroRecebedor).

recurrence
object
obrigatório
recurrencePayloadUrl
string
obrigatório

URL do host JWS de recorrência (urlPayloadJsonRec; sem esquema).

state
string
obrigatório

UF do recebedor (uf).

txId
string
obrigatório

Id de conciliação (idConciliacaoRecebedor).

zipCode
string
obrigatório

CEP do recebedor (cep).

certificateIspb
string

ISPB do certificado do PSP indireto (ispbCertificadoJws, string).

description
object[] | null

Entradas opcionais de dados adicionais (dadosAdicionais).

discount
number<double>

Desconto em reais (desconto; omita/0 para pular).

fine
number<double>

Multa em reais (multa; omita/0 para pular).

interest
number<double>

Juros em reais (juros; omita/0 para pular).

originalAmount
number<double>

Valor original da cobrança em reais (valorOriginal, antes de ajustes).

payer
object
rebate
number<double>

Abatimento em reais (abatimento; omita/0 para pular).

Resposta

Criado

qrCode
string
obrigatório

A EMV composta-QR gerada (payload decodificado em base64, pronto para renderizar).

documentId
string

O id do documento da recorrência/cobrança (idDocumento, GUID).

recurrencePayload
string

O JWS de recorrência assinado (payloadJwsRecorrencia).