Emissão de QR Code estático

stable

O QR Code estático foi planejado para ser utilizado em cobranças direcionadas a mais de um pagador. Ou seja, o mesmo QR Code pode ser usado várias vezes por pagadores diferentes.

Esse tipo de QR Code traz apenas informações sobre o recebedor do pagamento e possibilita definir um valor fixo ou editar o valor a ser pago pelo usuário pagador no momento de realizar a transação.

📘

Nota

O QR Code estático não possui validade e nem está sujeito a multas e juros.

Pré-requisito

Para que seja possível utilizar este endpoint, é necessário que:

  • A chave de endereçamento Pix seja válida. Caso contrário, não será possível fazer a emissão.

🚧

Importante

Se a chave de endereçamento atrelada ao QR Code for excluída após sua emissão, o QR Code ficará inválido para pagamento.

Requisição HTTP

POST https://api-mtls.sandbox.bankly.com.br/pix/qrcodes/static/transfer \ 
--location --request POST 'https://api-mtls.sandbox.bankly.com.br/pix/qrcodes/static/transfer' \ 
--header 'Accept: application/json' \ 
--header 'Content-Type: application/json' \ 
--header 'api-version: 1.0' \ 
--header 'x-correlation-id: {{GUID}}' \
--header 'x-bkly-pix-user-id: {{clientDocument}}'\
--header 'Authorization: Bearer {{Token}} 
--data-raw '{ 
    "addressingKey": { 
        "type": "CPF", 
        "value": "47742663023" 
    }, 
    "location": { 
        "city": "Santarém", 
        "zipCode": "68060100" 
    }, 
    "amount": 1, 
    "recipientName": "Nísia Floresta", 
    "conciliationId": "45761a14-5afd-4ef6-beee-a580c39b3cc5" 
}'

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.createConcede acesso para emissão de QR Code estático para pagamentos via Pix.

Cabeçalhos (Headers)

NomeDescriçã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 cliente que está solicitando a leitura do QR Code. Insira apenas números, sem formatação.
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 os seguintes campos em formato JSON:

NomeTipoDescriçãoEspecificação
addressingKeyobjectObrigatório. Objeto que contém informações sobre a chave de endereçamento DICT.
addressingKey.typestringObrigatório. Tipo de chave de endereçamento DICT (CPF, CNPJ ou EVP).
addressingKey.valuestringObrigatório. Valor da chave escolhida.
locationobjectObrigatório. Objeto que contém informações sobre a localidade do recebedor do pagamento.
location.citystringObrigatório. Nome da cidade do recebedor do pagamento.O valor máximo é de 15 caracteres para esse campo.
location.zipCodestringObrigatório. Código postal do recebedor do pagamento.
amountnumberCampo que define o valor do pagamento.
recipientNamestringNome do recebedor do pagamento.
Campo Obsoleto , não é necessário enviá-lo.
conciliationIdstringID de conciliação é uma informação que pode ser passada na emissão do QR Code e utilizada para conciliação dos pagamentos. Esse campo é limitado a 25 caracteres e não aceita nenhum caractere especial.
categoryCodestringMCC (Merchant Category Code) é um número de quatro dígitos listado na ISO 18245 para serviços financeiros de varejo. Caso o usuário recebedor o possua, ele deve ser informado. Valor default: 0000.
additionalDatastringCampo livre para informações adicionais.Seu tamanho máximo é definido por 73 subtraído o tamanho da chave. Considerando que uma chave tem o tamanho mínimo de 9 caracteres, o tamanho máximo deste campo é 64.
Além disso, este campo não aceita caracteres especiais.
{ 
    "addressingKey": { 
        "type": "CPF", 
        "value": "47742663023" 
    }, 
    "location": { 
        "city": "Santarém", 
        "zipCode": "68060100" 
    }, 
    "amount": 1, 
    "conciliationId": "45761a14-5afd-4ef6-beee-a580c39b3cc5",
    "categoryCode": "0000",
    "additionalData": "string" 
}

Resposta (Response)

O status code 200 indicará que a solicitação foi aceita com sucesso.

Sendo bem-sucedido, o retorno irá trazer o seguinte campo em formato JSON:

NomeTipoDescrição
encodedValuestringCódigo em base64, que contém todas as informações sobre o pagamento.
{ 
    "encodedValue": "MDAwMjAxMjYzMzAwMRici5nb3YuYmNiLnBpeDAxMTEwNTY3ODQwNDg0OTUyMDQwMDAwNTMwMzk4NjU0MDUxMC4wMTU4MDJCUjU5MTVGZXJuYW5kbyBTZWd1aW02MDA5U2FvIFBhdWxvNjEwODA0MjA1MDAwNjIwNzA1MDMqKio2MzA0Njc5Ng==" 
} 

👍

Dica

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

Erros

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

Status codeCódigoMensagemDescrição
400ENTRY_NOT_FOUNDEntry not found.A chave que está sendo informada para gerar um QR Code não existe.
408REQUEST_TIMEOUTA requisição excedeu o tempo limite da solicitação.
422EMV_FIELD_LENGTH_OUT_OF_RANGEComprimento do campo EMV (Merchant Account Information) fora do intervalo permitido.
422ADDRESSING_KEY_NOT_FOUNDA chave Pix informada não está cadastrada na conta que está sendo usada pra gerar o QR Code.

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.