Decodificação de QR Codes

O endpoint de decodificação do Bankly está preparado para ler QR Codes estáticos e dinâmicos gerados por qualquer instituição financeira.

📘

Nota

Os QR Codes dinâmicos podem destinar-se a pagamentos imediatos e futuros (com vencimento).

Ao decodificar um QR Code Pix, você obterá:

  • O endToEndId, um identificador único gerado pelo Bacen que deve ser informado ao realizar o pagamento do QR Code;
  • A chave Pix;
  • O valor do pagamento, caso ele tenha sido adicionado em na geração do QR Code. No Bankly, o valor poderá ser alterado pelo pagador no momento de efetuar da transação.
🚧

Importante

Para fazer a leitura de um QR Code de pagamento, obrigatoriamente, o conteúdo deve ser enviado em base64.

Requisição (Request)

Requisição HTTP

POST https://api-mtls.sandbox.bankly.com.br/pix/qrcodes/decode
--request POST \
--url 'https://api-mtls.sandbox.bankly.com.br/pix/qrcodes/decode' \ 
--header 'Accept: application/json' \ 
--header 'Content-Type: application/json' \ 
--header 'api-version: 1.0' \ 
--header 'x-bkly-pix-user-id: {{clientDocument}}' \ 
--header 'x-correlation-id: {{GUID}}' \ 
--header 'Authorization: Bearer {{accessToken}}'  \ 
--data-raw '{
  "encodedValue": "MDAwMjAxMjY1ODAwMTRCUi5HT1YuQkNCLlBJWDAxMTQrNTUxMTk5OTk5OTk5NTIwNDAwMDA1MzAzOTg2NTQwNDEwLjAwNTgwMkJSNTkwOUZ1bGFubyBkZSBUYWw2MDA5U2FvIFBhdWxvNjEwODA1NDA5MDAwNjIwNzA1MDMqKio2MzA0QjE0Rg==",
  "cityCode": "3550308"
}'

Autorização

Para garantir a segurança nas requisições, todos os endpoints do Bankly utilizam scopes como parte do seu fluxo de autorização.

Esta requisição requer o scope descrito a seguir:

ScopeDescrição
pix.qrcode.readConcede acesso para decodificar um QR Code.

Cabeçalhos (Headers)

NomeDescriçãoEspecificação
api-versionObrigatório. Versão da API. Atualmente estamos na versão 1.0.
AuthorizationObrigatório. Token de autorização do tipo Bearer.
x-bkly-pix-user-idObrigatório. Número do documento do usuário que está fazendo a requisição.^([0-9]{11}|[A-Z0-9]{12}[0-9]{2})$
x-correlation-idSe desejar, informe um GUID v4, sendo um novo cada requisição.

Parâmetros da rota (Path)

Não é necessário enviar parâmetros no path desta requisição.

Corpo da requisição (Body)

No body, envie o seguinte campo em formato JSON:

NomeTipoDescrição
encodedValuestringObrigatório. Conteúdo do QR Code em base64.
cityCodestringObrigatório. Código IBGE do município/cidade do endereço do pagador.
{ 
    "encodedValue": "{{yourEncode}}",
    "cityCode": "{{yourCityCode}}" 
}

Resposta (Response)

Os status code 200 indica que a solicitação foi aceita e que a decodificação do QR Code foi realizada com sucesso.

Sendo bem-sucedido, o retorno irá trazer os seguintes campos em formato JSON:

NomeTipoDescrição
endToEndIdstringIdentificador único gerado pelo Bacen que deve ser informado ao realizar o pagamento do QR Code.
conciliationId stringIdentificador utilizado para conciliação dos pagamentos. Importante: este campo somente será retornado caso ele tenha sido enviado no momento da emissão do QR Code.
addressingKeyobjectObjeto que contém informações sobre a chave de endereçamento.
addressingKey.typestringTipo de chave, que pode ser "CPF", "CNPJ", "PHONE", "EMAIL" ou "EVP".
addressingKey.valuestringValor da chave.
qrCodeTypestringInforma se o QR Code é estático ("STATIC") ou dinâmico ("DYNAMIC").
payerobjectObjeto que contém informações sobre o pagador da transação. Este campo retorna apenas em caso de leitura de QR Code dinâmico.
payer.namestringNome do pagador da transação.
payer.documentNumberstringNúmero do documento do pagador.
payer.typestringTipo de cliente pagador, que pode ser "CUSTOMER" ou "BUSINESS".
payer.addressobjectObjeto que contém os dados de endereço.
payer.address.addressLinestringLogradouro (nome da rua, avenida etc.).
payer.address.statestringSigla do estado brasileiro conforme a ISO 3166-2:BR. Exemplo: SP.
payer.address.citystringNome da cidade. O valor máximo é de 15 caracteres para esse campo.
payer.address.zipCodestringCódigo postal do endereço.
holderobjectObjeto que contém informações sobre o titular da conta a ser utilizada na transação.
holder.typestringTipo de titular, que pode ser "CUSTOMER" ou "BUSINESS".
holder.namestringNome do titular.
holder.socialNamestringNome pelo qual a pessoa deseja ser chamada.
holder.tradingNamestringNome comercial (nome fantasia) da empresa.
Esse campo é retornado apenas quando o Person é Pessoa Jurídica.
holder.documentobjectObjeto que contém informações sobre o documento do titular.
holder.document.valuestringNúmero do documento.
holder.document.typestringTipo de documento do titular da conta, que pode ser "CPF" ou "CNPJ".
bankobjectObjeto que contém informações sobre o banco ao qual a conta pertence.
bank.namestringNome do banco. Este campo retorna apenas em caso de leitura de QR Code estático.
bank.ispbstringISPB (Identificador de Sistema de Pagamentos Brasileiro) do banco. Este campo retorna apenas em caso de leitura de QR Code dinâmico.
paymentobjectObjeto que contém informações sobre o pagamento a ser realizado.
payment.baseValuenumberValor de base.
payment.interestValuenumberValor de juros.
payment.penaltyValuenumberValor de multa.
payment.discountValuenumberValor do desconto.
payment.reductionValuenumberValor do abatimento.
payment.totalValuenumberIndica o valor do total da compra ou transferência.
payment.dueDatestringData de vencimento do pagamento, no formato ISO 8601.
payment.changeValuenumberIndica o valor do troco em espécie. Este campo somente é retornado em caso de decodificação de QR Code para Pix Troco.
payment.withdrawalValuenumberIndica o valor do saque em espécie. Este campo somente é retornado em caso de decodificação de QR Code para Pix Saque.
payment.qrCodeChangeAmountTypestringIndica a possibilidade de alteração do valor do QR Code.
Se esse campo retornar "ALLOWED", será permitido alterar o valor. Caso o retorno seja "NOT_ALLOWED", não será permitido realizar a alteração do valor trazido pelo QR Code.
locationobjectObjeto que contém informações sobre a localidade do recebedor da transação.
location.citystringNome da cidade do recebedor da transação.
location.zipCodestringCódigo postal do recebedor da transação. Este campo retorna apenas na leitura de QR Codes dinâmicos.
additionalDataarray of objectsLista contendo um ou mais subcampos, criados pelo emissor, para descrever informações adicionais
additionalData.namestringCampo livre para informações adicionais.
additionalData.valuestringCampo livre para informações adicionais.
withdrawalDetailobjectObjeto que contém informações referentes à decodificação de QR Code para Pix Saque.
withdrawalDetail.changeAmountTypestringIndica a possibilidade de alteração do valor do QR Code. Se esse campo retornar "ALLOWED", será permitido alterar o valor. Caso o retorno seja "NOT_ALLOWED", não será permitido realizar a alteração do valor trazido pelo QR Code.
withdrawalDetail.agentTypestringEspecifica o tipo de estabelecimento comercial que está fornecendo o saque, que pode ser "STORE" ou "OTHER_BUSINESSES".
withdrawalDetail.providerIspbstringISPB (Identificador de Sistema de Pagamentos Brasileiro) do banco provedor.
changeAmountDetailobjectObjeto que contém informações referentes à decodificação de QR Code para Pix Troco.
changeAmountDetail.changeAmountTypestringIndica a possibilidade de alteração do valor do QR Code. Se esse campo retornar "ALLOWED", será permitido alterar o valor. Caso o retorno seja "NOT_ALLOWED", não será permitido realizar a alteração do valor trazido pelo QR Code.
changeAmountDetail.agentTypestringEspecifica o tipo de estabelecimento comercial que está fornecendo o troco, que pode ser "STORE" ou "OTHER_BUSINESSES".
qrCodePurposestringRazão da emissão do QR Code, que pode ser "PURCHASE_OR_TRANSFER" (compra ou transferência), "CHANGE" (para Pix Troco) ou "WITHDRAWAL" (para Pix Saque).
allowsSchedulingbooleano

Este campo indica se o pagamento pode ser agendado.

O agendamento é permitido para QR Code Estático e para cobranças com vencimento, desde que, para este último caso, a data do decode seja anterior à data de vencimento.

O agendamento não é permitido para cobranças cujo vencimento seja igual ou anterior à data do decode, para pagamentos de Pix Saque e Pix Troco, nem para cobranças imediatas, que não possuem prazo para agendamento.

Obs.: Este campo não será retornado quando se tratar de QR Code de Pix Automático – jornada 2.

schedulingMaxDatestring

Este campo define a data limite para a realização de um agendamento, sendo aplicável apenas quando o agendamento é permitido.

Quando o agendamento for permitido e o QR Code não for estático, a data de vencimento será o limite final para o agendamento.

Se o agendamento não for permitido ou não houver uma data máxima definida (como no caso de QR Code estático), este campo não será retornado.

Data no formato ISO 8601.

Obs.: Este campo não será retornado para QR Codes de Pix Automático – jornada 2.

allowsRecurrencebooleano

Este campo indica se o pagamento permite recorrência.

A recorrência é permitida para pagamentos realizados por meio de iniciação via QR Code Estático.

Por outro lado, a recorrência não é permitida em cobranças imediatas e em cobranças com vencimento, pois a natureza desses pagamentos não suporta recorrência.

Obs.: Este campo não será retornado para QR Codes de Pix Automático – jornada 2.

recurrenceobjectObjeto retornado apenas em caso de recorrência de pagamento via Pix Automático.
recurrence.idstringIdentificador da recorrência de pagamento via Pix automático.
recurrence.retryPolicystringPolítica de retentativa de pagamento após vencimento da recorrência, que pode ser ALLOW_3R_7D ou DOES_NOT_ALLOW.
recurrence.contractstringNúmero do contrato atrelado à autorização de recorrência de pagamento via Pix Automático.
recurrence.descriptionstringDescrição do serviço/produto associado à recorrência.
recurrence.initialDatestringData estimada do primeiro pagamento recorrente via Pix automático, no formato ISO 8601 - UTC.
recurrence.finalDatestringData do último pagamento recorrente via Pix automático, no formato ISO 8601 - UTC.
recurrence.frequencystringPeriodicidade do pagamento recorrente via Pix automático, a qual pode ser WEEK (semanal), MNTH (mensal), QURT (trimestral), MIAN (semestral) e YEAR (anual)
recurrence.amountobjectObjeto que contém o valor da recorrência de pagamento.
recurrence.amount.valuenumberCampo retornado apenas quando o valor do pagamento for fixo ou não for sujeito à alteração durante a vigência da autorização pagamento recorrente via Pix automático.
Quando esse campo vier preenchido, o campo recurrence.minimumAmount.value virá nulo.
recurrence.amount.currencystringCódigo da moeda.
Ex.: BRL
recurrence.minimumAmountobjectObjeto que contém o valor da recorrência de pagamento.
recurrence.minimumAmount.valuenumberValor mínimo autorizado para o pagamento via Pix automático.
Esse valor é definido pelo usuário recebedor.
Caso esse campo venha preenchido, o campo recurrence.amount.value não estará preenchido
recurrence.minimumAmount.currencystringCódigo da moeda.
Ex.: BRL
recurrence.payerobjectObjeto que contém informações sobre o devedor do pagamento recorrente via Pix automático.
recurrence.payer.documentNumberstringDocumento do usuário, o quel pode ser CPF ou CNPJ.
recurrence.payer.namestringNome do pagador.
recurrence.payer.typestringTipo de pagador, que pode ser "CUSTOMER" ou "BUSINESS".
recurrence.recipientobjectObjeto que contém informações sobre o recebedor do pagamento recorrente via Pix automático.
recurrence.recipient.holderobjectObjeto que contem informações sobre o titular da conta que será o recebedor dos pagamentos recorrentes.
recurrence.recipient.holder.documentNumberstringCNPJ do usuário recebedor.
recurrence.recipient.holder.namestringNome do recebedor.
recurrence.recipient.holder.typestringTipo de recebedor, que pode ser "CUSTOMER" ou "BUSINESS"?
recurrence.recipient.bankobjectObjeto que contem os dados do banco recebedor.
recurrence.recipient.bank.ispbstringNúmero do ISPB do banco recebedor.
recurrence.updatearray of objectsLista de objetos que contém as datas de atualização da recorrência de pagamento.
recurrence.update.statusstringStatus da recorrência de pagamento, que pode ser PENDING, APPROVED, CANCELED, EXPIRED, REJECTED, ERROR ou COMPLETED.
recurrence.update.datestringData e hora do registro de status atualizado. Respeita RFC 3339.
recurrence.authorizationTypestringTipo da jornada da autorização de recorrência de pagamento via Pix automático, que pode ser AUT2, AUT3 ou AUT4.
🚧

Importante

Para fazer um pagamento Pix por QR Code, você precisará repassar os valores dos campos endToEndId e conciliationId retornados nesta API. O conciliationId será requerido para pagamento de QR Code dinâmico.

{
    "endToEndId": "E131400882021210234719976289315",
    "conciliationId": "12345",
    "addressingKey": {
        "type": "EVP",
        "value": "721f7f5-9227-411b-9297-c5ded2e7diii"
    },
    "qrCodeType": "STATIC",
    "holder": {
        "type": "BUSINESS",
        "name": "Editora Floresta",
        "document": {
            "value": "34183937000161",
            "type": "CNPJ"
        }
    },
    "bank": {
        "name": "Acesso Soluções De Pagamento S.A."
    },
    "payment": {
        "baseValue": 0.0,
        "interestValue": 0.0,
        "penaltyValue": 0.0,
        "discountValue": 0.0,
      	"reductionValue": 0.0,
        "totalValue": 1.00,
        "dueDate": "2021-11-29T23:59:59",
        "changeValue": 0.0,
        "withdrawalValue": 0.0
    },
    "location": {
        "city": "Santarém",
        "zipCode": "68060100"
    },
    "qrCodePurpose": "PURCHASE_OR_TRANSFER",
    "allowsScheduling": true,
    "allowsRecurrence": true
} 
{
    "endToEndId": "E1314008820231114172019088054345",
    "conciliationId": "2279e2a1a6e446b18cecf13f0",
    "addressingKey": {
        "type": "EVP",
        "value": "4004901d-bd85-4769-8e52-cb4c42c506dc"
    },
    "qrCodeType": "STATIC",
    "holder": {
        "type": "BUSINESS",
        "name": "Editora Floresta",
        "document": {
            "value": "34183937000161",
            "type": "CNPJ"
        }
    },
    "bank": {
        "ispb": "99999008"
    },
    "payment": {
        "baseValue": 0.0,
        "interestValue": 0.0,
        "penaltyValue": 0.0,
        "discountValue": 0.0,
        "totalValue": 408.07,
        "dueDate": "0001-01-01T00:00:00",
        "changeValue": 0.0,
        "withdrawalValue": 408.07,
        "isSinglePayment": false,
        "qrCodeChangeAmountType": "NOT_ALLOWED"
    },
    "location": {
        "city": "Santarém"
    },
    "additionalData": [
        {
            "name": "",
            "value": "Jornada pagador 20151"
        }
    ],
    "withdrawalDetail": {
        "changeAmountType": "NOT_ALLOWED",
        "agentType": "STORE",
        "providerIspb": "99999008"
    },
    "qrCodePurpose": "WITHDRAWAL",
    "allowsScheduling": false,
    "allowsRecurrence": false
}
{
    "endToEndId": "E1314008820211210235032867394226",
    "conciliationId": "af7a357fe37b40be88a83f0f04650638",
    "addressingKey": {
        "type": "EVP",
        "value": "4004901d-bd85-4769-8e52-cb4c42c506dc"
    },
    "qrCodeType": "DYNAMIC",
    "payer": {
        "type": "CUSTOMER",
        "name": "Editora FLoresta",
        "document": {
            "value": "34183937000161",
            "type": "CNPJ"
        }
    },
    "holder": {
        "type": "BUSINESS",
        "name": "Company name",
        "document": {
            "value": "***111110001**",
            "type": "CNPJ"
        }
    },
    "bank": {
        "ispb": "99999008"
    },
    "payment": {
        "baseValue": 957.39,
        "interestValue": 0.0,
        "penaltyValue": 0.0,
        "discountValue": 0.0,
      	"reductionValue": 0.0,
        "totalValue": 957.39,
        "dueDate": "0001-01-01T00:00:00",
        "changeValue": 0.0,
        "withdrawalValue": 0.0
    },
    "location": {
        "city": "Santarém"
    },
    "additionalData": [
        {
            "name": "Entrega",
            "value": "Residencial"
        }
    ],
    "qrCodePurpose": "PURCHASE_OR_TRANSFER",
    "allowsScheduling": false,
    "allowsRecurrence": false
}
{
    "endToEndId": "E1314008820231114171927102983378",
    "conciliationId": "361b0473f5714e3dbba1a48ceb26e9a0",
    "addressingKey": {
        "type": "EVP",
        "value": "4004901d-bd85-4769-8e52-cb4c42c506dc"
    },
    "qrCodeType": "DYNAMIC",
    "payer": {
        "type": "CUSTOMER",
        "name": "Nísia Floresta",
        "document": {
            "value": "47742663023",
            "type": "CPF"
        }
    },
    "holder": {
        "type": "BUSINESS",
        "name": "Editora Floresta",
        "document": {
            "value": "34183937000161",
            "type": "CNPJ"
        }
    },
    "bank": {
        "ispb": "99999008"
    },
    "payment": {
        "baseValue": 0.00,
        "interestValue": 0.0,
        "penaltyValue": 0.0,
        "discountValue": 0.0,
        "totalValue": 283.94,
        "dueDate": "2021-11-29T23:59:59",
        "changeValue": 0.0,
        "withdrawalValue": 283.94,
        "isSinglePayment": false,
        "qrCodeChangeAmountType": "NOT_ALLOWED"
    },
    "location": {
        "city": "Santarém"
    },
    "additionalData": [
        {
            "name": "Entrega",
            "value": "Residencial"
        }
    ],
    "withdrawalDetail": {
        "changeAmountType": "NOT_ALLOWED",
        "agentType": "WITHDRAWAL_PROVIDER",
        "providerIspb": "99999008"
    },
    "qrCodePurpose": "WITHDRAWAL",
    "allowsScheduling": false,
    "allowsRecurrence": false
}
{
    "endToEndId": "E1314008820231114172109516637904",
    "conciliationId": "00775d7611e94305920392ae1ccff480",
    "addressingKey": {
        "type": "EVP",
        "value": "4004901d-bd85-4769-8e52-cb4c42c506dc"
    },
    "qrCodeType": "DYNAMIC",
    "payer": {
        "type": "CUSTOMER",
        "name": "Nísia floresta",
        "document": {
            "value": "47742663023",
            "type": "CPF"
        }
    },
    "holder": {
        "type": "BUSINESS",
        "name": "Editora Floresta",
        "document": {
            "value": "34183937000161",
            "type": "CNPJ"
        }
    },
    "bank": {
        "ispb": "99999008"
    },
    "payment": {
        "baseValue": 839.01,
        "interestValue": 0.0,
        "penaltyValue": 0.0,
        "discountValue": 0.0,
        "totalValue": 1773.88,
        "dueDate": "2021-11-09T23:59:59",
        "changeValue": 934.87,
        "withdrawalValue": 0.0,
        "isSinglePayment": false,
        "qrCodeChangeAmountType": "NOT_ALLOWED"
    },
    "location": {
        "city": "Santarém"
    },
    "additionalData": [
        {
            "name": "Entrega",
            "value": "Residencial"
        }
    ],
    "changeAmountDetail": {
        "changeAmountType": "NOT_ALLOWED",
        "agentType": "STORE",
        "providerIspb": "99999008"
    },
    "qrCodePurpose": "CHANGE_AMOUNT",
    "allowsScheduling": false,
    "allowsRecurrence": false
}
{
    "endToEndId": "E1314008820211210235723815730157",
    "conciliationId": "c4164f64f8f849cb80b5b01cf9a31b85",
    "addressingKey": {
        "type": "EVP",
        "value": "4004901d-bd85-4769-8e52-cb4c42c506dc"
    },
    "qrCodeType": "DYNAMIC",
    "payer": {
        "type": "CUSTOMER",
        "name": "Editora Floresta",
        "document": {
            "value": "34183937000161",
            "type": "CNPJ"
        }
    },
    "holder": {
        "type": "CUSTOMER",
        "name": "Nísia Floresta",
        "tradingName": "QR Codes Pix",
        "document": {
            "value": "47742663023",
            "type": "CPF"
        }
    },
    "bank": {
        "ispb": "99999008"
    },
    "payment": {
        "baseValue": 110.71,
        "interestValue": 20.00,
        "penaltyValue": 5.00,
        "discountValue": 0.0,
      	"reductionValue": 0.0,
        "totalValue": 135.71,
        "dueDate": "2021-11-29T23:59:59",
        "changeValue": 0.0,
        "withdrawalValue": 0.0
    },
    "additionalData": [
        {
            "name": "Multa por valor fixo",
            "value": "5.00"
        },
        {
            "name": "Juros absolutos por dias corridos",
            "value": "2.00"
        }
    ],
    "qrCodePurpose": "PURCHASE_OR_TRANSFER",
    "allowsScheduling": true,
    "schedulingMaxDate": "2021-11-29T23:59:59",
    "allowsRecurrence": false
}
{
    "qrCodeType": "DYNAMIC",
    "qrCodePurpose": "RECURRENCE",
    "recurrence": {
        "id": "RR999999182025071027480933429",
        "contract": "11617044",
        "initialDate": "2025-07-10T00:00:00",
        "frequency": "MNTH",
        "retryPolicy": "ALLOW_3R_7D",
        "authorizationType": "AUT2",
        "amount": {
            "value": 849.57,
            "currency": "BRL"
        },
        "payer": {
            "documentNumber": "13140088000199",
            "name": "ACESSO SOLUCOES PAGAMENTO SA",
            "type": "CUSTOMER"
        },
        "description": "Serviço de Streaming de vídeo",
        "recipient": {
            "holder": {
                "documentNumber": "99999918999924",
                "name": "Pix Tester 918",
                "type": "BUSINESS"
            },
            "bank": {
                "ispb": "99999918"
            }
        },
        "update": [
            {
                "date": "2025-07-10T00:00:00Z",
                "status": "CREATED"
            }
        ]
    }
}
{
    "qrCodeType": "DYNAMIC",
    "qrCodePurpose": "RECURRENCE",
    "recurrence": {
        "id": "RR999999182025071027480933429",
        "contract": "11617044",
        "initialDate": "2025-07-10T00:00:00",
        "frequency": "MNTH",
        "retryPolicy": "ALLOW_3R_7D",
        "authorizationType": "AUT2",
        "amount": {
            "value": 849.57,
            "currency": "BRL"
        },
        "minimumAmount": {
            "value": 49.57,
            "currency": "BRL"
        },
        "payer": {
            "documentNumber": "13140088000199",
            "name": "ACESSO SOLUCOES PAGAMENTO SA",
            "type": "CUSTOMER"
        },
        "description": "Serviço de Streaming de vídeo",
        "recipient": {
            "holder": {
                "documentNumber": "99999918999924",
                "name": "Pix Tester 918",
                "type": "BUSINESS"
            },
            "bank": {
                "ispb": "99999918"
            }
        },
        "update": [
            {
                "date": "2025-07-10T00:00:00Z",
                "status": "CREATED"
            }
        ]
    }
}
{
    "endToEndId": "E131400882025071017565583C4D97A5",
    "conciliationId": "d8aa33b8f0a941709ced9fa5270b42c8",
    "addressingKey": {
        "type": "EVP",
        "value": "f4c6089a-bfde-4c00-a2d9-9eaa584b0219"
    },
    "qrCodeType": "DYNAMIC",
    "holder": {
        "type": "BUSINESS",
        "name": "Pix Tester 99999918",
        "tradingName": "Pix Tester 99999918",
        "document": {
            "value": "99999918999924",
            "type": "CNPJ"
        }
    },
    "bank": {
        "ispb": "99999918"
    },
    "payment": {
        "baseValue": 410.51,
        "interestValue": 0.0,
        "penaltyValue": 0.0,
        "discountValue": 0.0,
        "reductionValue": 0.0,
        "totalValue": 410.51,
        "dueDate": "2021-11-29T23:59:59",
        "changeValue": 0.0,
        "withdrawalValue": 0.0,
        "isSinglePayment": false,
        "qrCodeChangeAmountType": "NOT_ALLOWED"
    },
    "location": {
        "city": "",
        "zipCode": ""
    },
    "additionalData": [
        {
            "name": "Entrega",
            "value": "Residencial"
        }
    ],
    "qrCodePurpose": "PURCHASE_OR_TRANSFER",
    "recurrence": {
        "id": "RR999999182025071097805915604",
        "contract": "5088459",
        "initialDate": "2025-07-10T00:00:00",
        "frequency": "MNTH",
        "retryPolicy": "ALLOW_3R_7D",
        "authorizationType": "AUT3",
        "amount": {
            "value": 703.98,
            "currency": "BRL"
        },
        "payer": {
            "documentNumber": "13140088000199",
            "name": "ACESSO SOLUCOES PAGAMENTO SA",
            "type": "CUSTOMER"
        },
        "description": "Serviço de Academia",
        "recipient": {
            "holder": {
                "documentNumber": "99999918999924",
                "name": "Pix Tester 918",
                "type": "BUSINESS"
            },
            "bank": {
                "ispb": "99999918"
            }
        },
        "update": [
            {
                "date": "2025-07-10T00:00:00Z",
                "status": "CREATED"
            }
        ]
    },
    "allowsScheduling": false,
    "allowsRecurrence": false
}
{
    "endToEndId": "E1314008820250710175701530D89F30",
    "conciliationId": "d745bf9714f04204829e011bc",
    "addressingKey": {
        "type": "EVP",
        "value": "f4c6089a-bfde-4c00-a2d9-9eaa584b0219"
    },
    "qrCodeType": "STATIC",
    "holder": {
        "type": "BUSINESS",
        "name": "Pix Tester 99999918",
        "tradingName": "Pix Tester 99999918",
        "document": {
            "value": "99999918999924",
            "type": "CNPJ"
        }
    },
    "bank": {
        "ispb": "99999918"
    },
    "payment": {
        "baseValue": 200.06,
        "interestValue": 0.0,
        "penaltyValue": 0.0,
        "discountValue": 0.0,
        "reductionValue": 0.0,
        "totalValue": 200.06,
        "changeValue": 0.0,
        "withdrawalValue": 0.0,
        "isSinglePayment": false,
        "qrCodeChangeAmountType": "NOT_ALLOWED"
    },
    "location": {
        "city": "",
        "zipCode": ""
    },
    "qrCodePurpose": "PURCHASE_OR_TRANSFER",
    "recurrence": {
        "id": "RR999999182025071051818511094",
        "contract": "66053381",
        "initialDate": "2025-07-10T00:00:00",
        "frequency": "MNTH",
        "retryPolicy": "ALLOW_3R_7D",
        "authorizationType": "AUT4",
        "amount": {
            "value": 675.33,
            "currency": "BRL"
        },
        "payer": {
            "documentNumber": "13140088000199",
            "name": "ACESSO SOLUCOES PAGAMENTO SA",
            "type": "CUSTOMER"
        },
        "description": "Serviço de Plano de saúde",
        "recipient": {
            "holder": {
                "documentNumber": "99999918999924",
                "name": "Pix Tester 918",
                "type": "BUSINESS"
            },
            "bank": {
                "ispb": "99999918"
            }
        },
        "update": [
            {
                "date": "2025-07-10T00:00:00Z",
                "status": "CREATED"
            }
        ]
    },
    "allowsScheduling": true,
    "allowsRecurrence": true
}
{
    "endToEndId": "E1314008820250721181212C4BD1344F",
    "conciliationId": "9d332436a3ef466988fa9414a8d3dd61",
    "addressingKey": {
        "type": "EVP",
        "value": "f4c6089a-bfde-4c00-a2d9-9eaa584b0219"
    },
    "qrCodeType": "DYNAMIC",
    "holder": {
        "type": "BUSINESS",
        "name": "Pix Tester 99999918",
        "tradingName": "Pix Tester 99999918",
        "document": {
            "value": "99999918999924",
            "type": "CNPJ"
        }
    },
    "bank": {
        "ispb": "99999918"
    },
    "payment": {
        "baseValue": 121.69,
        "interestValue": 0.0,
        "penaltyValue": 0.0,
        "discountValue": 0.0,
        "reductionValue": 0.0,
        "totalValue": 121.69,
        "dueDate": "2025-07-20T23:59:59",
        "changeValue": 0.0,
        "withdrawalValue": 0.0,
        "isSinglePayment": false,
        "qrCodeChangeAmountType": "NOT_ALLOWED"
    },
    "location": {
        "city": "Brasilia",
        "zipCode": "70074900"
    },
    "qrCodePurpose": "PURCHASE_OR_TRANSFER",
    "recurrence": {
        "id": "RR999999182025071045620365322",
        "contract": "72791035",
        "initialDate": "2025-07-10T00:00:00",
        "frequency": "MNTH",
        "retryPolicy": "ALLOW_3R_7D",
        "authorizationType": "AUT4",
        "amount": {
            "value": 730.28,
            "currency": "BRL"
        },
        "payer": {
            "documentNumber": "13140088000199",
            "name": "ACESSO SOLUCOES PAGAMENTO SA",
            "type": "CUSTOMER"
        },
        "description": "Serviço de Academia",
        "recipient": {
            "holder": {
                "documentNumber": "99999918999924",
                "name": "Pix Tester 918",
                "type": "BUSINESS"
            },
            "bank": {
                "ispb": "99999918"
            }
        },
        "update": [
            {
                "date": "2025-07-10T00:00:00Z",
                "status": "CREATED"
            }
        ]
    },
    "allowsScheduling": true,
    "schedulingMaxDate": "2025-07-20T23:59:59",
    "allowsRecurrence": true
}
👍

Dica

Para simular uma requisição nesse endpoint, acesse o API Reference.


Erros

❗️

Se a instituição integradora (parceiro) não tiver implementado o Pix Automático, ao realizar o decode de um QR Code associado a qualquer uma das jornadas, o serviço retornará o erro QRCODE_CANNOT_BE_DECODED.
Esse erro ocorre porque a instituição não possui o escopo necessário para decodificar QR Codes do Pix Automático (pix.recurrence-payment-auth.write).

Este endpoint pode retornar alguns erros específicos, conforme a tabela a seguir:

Status CodeCódigoMensagemDescrição
400QRCODE_CANNOT_BE_DECODEDThe QrCodePayload is invalid or cannot be decoded. Check it out with the PSP.O QR Code não pode ser decodificado.
403QRCODE_CANNOT_BE_DECODEDThis request is not enabled for automatic Pix, so this QR Code cannot be decoded. Check it out with the PSP.O QR Code não pode ser decodificado pois pertence à uma jornada do Pix Automático.
400INVALID_USER_IDEnsure that the x-bkly-pix-user-id header is a valid CPF or CNPJ document.Verifique se o cabeçalho x-bkly-pix-user-id apresenta um CPF ou CNPJ válido.
400QRCODE_PAYLOAD_LOCATION_REMOVEDThe QrCodePayload location was removed by PSP.O QR Code não está mais disponível para leitura por ter sido removido pela PSP do recebedor.
400REQUEST_NOT_ALLOWED_OUT_OF_BUSINESS_PERIODRequest not not allowed out of business period.Não está disponível fora do horário comercial.
400ENTRY_NOT_FOUNDEntry not found.A chave que está sendo usada para gerar o QR Code não existe.
400CASHOUT_LIMIT_NOT_ENOUGHSender does not have sufficient cash out limit.A transação excede o limite de valor da transferência.
408REQUEST_TIMEOUTTransaction exceeded request limit timeout.A requisição excedeu o tempo limite da solicitação.
410QRCODE_PAID_OR_EXPIREDError decode QRCode, bill has expired or it has already been paid.Erro ao decodificar QR Code, a cobrança expirou ou já foi paga.
422ENTRY_WITH_SUSPICION_OF_FRAUDAccount, user, or key linked to an account restricted due to substantiated suspicion of fraud.Conta, usuário ou chave com suspeita fundamentada de fraude.

Recordamos que esta API também poderá retornar erros comuns entre todos os endpoints. Portanto, recomendamos a consulta da documentação de erros, onde é possível encontrar as mensagens comuns em inglês que acompanham os erros 400 (se houver).

Eventos

Este endpoint não possui eventos relacionados a ele.

Copyright © 2021 Acesso Soluções de Pagamento S.A - Todos os direitos reservados