Decodificação de QR Code
stable scopes: pix.qrcode.read
A API de decodificação do Bankly está preparada para ler QR Codes estáticos e QR Codes dinâmicos. Estes últimos 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.
Etapas
Endpoint
Para consumo deste endpoint, preencha os seguintes campos obrigatórios:
x-correlation-id
: informe um GUID v4, gerado randomicamente. A cada requisição, deve-se gerar um novo GUID v4;x-bkly-pix-user-id
: número do documento do cliente que está solicitando a leitura do QR Code. Deve-se inserir apenas números, sem formatação;encodedValue
: conteúdo do QR Code em base64.
--location --request POST '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: {{correlationId}}' \
--header 'Authorization: Bearer {{accessToken}}' \
--data-raw '{
"encodedValue": {{yourEncode}}
}'
Retorno
new
{
"endToEndId": "E1314008820211210234719976289315",
"conciliationId": "12345",
"addressingKey": {
"type": "EVP",
"value": "721f79f5-9227-411b-9297-c5ded2e7diii"
},
"qrCodeType": "STATIC",
"holder": {
"type": "BUSINESS",
"name": "Company Name",
"document": {
"value": "***426580001**",
"type": "CNPJ"
}
},
"bank": {
"name": "Acesso Soluções De Pagamento S.A."
},
"payment": {
"baseValue": 0.0,
"interestValue": 0.0,
"penaltyValue": 0.0,
"discountValue": 0.0,
"totalValue": 1.00,
"dueDate": "0001-01-01T00:00:00",
"changeValue": 0.0,
"withdrawalValue": 0.0
},
"location": {
"city": "SAO PAULO",
"zipCode": "04376020"
},
"qrCodePurpose": "PURCHASE_OR_TRANSFER"
}
{
"endToEndId": "E1314008820211210235032867394226",
"conciliationId": "af7a357fe37b40be88a83f0f04650638",
"addressingKey": {
"type": "EVP",
"value": "4004901d-bd85-4769-8e52-cb4c42c506dc"
},
"qrCodeType": "DYNAMIC",
"payer": {
"type": "CUSTOMER",
"name": "Peter Parker",
"document": {
"value": "***111110001**",
"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,
"totalValue": 957.39,
"dueDate": "0001-01-01T00:00:00",
"changeValue": 0.0,
"withdrawalValue": 0.0
},
"location": {
"city": "BRASILIA"
},
"additionalData": [
{
"name": "Entrega",
"value": "Residencial"
}
],
"qrCodePurpose": "PURCHASE_OR_TRANSFER"
}
{
"endToEndId": "E1314008820211210235723815730157",
"conciliationId": "c4164f64f8f849cb80b5b01cf9a31b85",
"addressingKey": {
"type": "EVP",
"value": "4004901d-bd85-4769-8e52-cb4c42c506dc"
},
"qrCodeType": "DYNAMIC",
"payer": {
"type": "CUSTOMER",
"name": "Peter Parker",
"document": {
"value": "***111110001**",
"type": "CNPJ"
}
},
"holder": {
"type": "BUSINESS",
"name": "Company Name",
"tradingName": "QR Codes Pix",
"document": {
"value": "***111110001**",
"type": "CNPJ"
}
},
"bank": {
"ispb": "99999008"
},
"payment": {
"baseValue": 110.71,
"interestValue": 20.00,
"penaltyValue": 5.00,
"discountValue": 0.0,
"totalValue": 135.71,
"dueDate": "2021-11-30T00:00:00",
"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"
}
Importante
Para fazer um pagamento Pix por QR Code, você precisará repassar os valores dos campos
endToEndId
econciliationId
retornados nesta API. OconciliationId
será requerido para pagamento de QR Code dinâmico.
Erros
Status code | Código | Descrição |
---|---|---|
422 | INVALID_QRCODE_PAYLOAD_CONTENT_TO_DECODE | O qrcodePayload informado tem conteúdo inválido para ser decodificado. Certifique-se de que o PSP recebedor está gerando um qrcodePayload válido. |
422 | ENTRY_NOT_FOUND | A chave que está sendo usada para gerar o QR Code não existe. |
Updated 12 months ago