Emissão de QR Code estático
stable scopes: pix.qrcode.create
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 a emissão
Antes de emitir qualquer QR Code Pix, certifique-se de que a chave de endereçamento Pix esteja 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.
Etapas
Endpoint
Para uso deste endpoint, é preciso preencher os seguintes campos obrigatórios:
x-correlation-id
: no header, informe um GUID v4, que deve ser gerado a cada nova requisição;x-bkly-pix-user-id
: no header da requisição, informe o número do documento do cliente que está solicitando a leitura do QR Code. Insira apenas números, sem formatação;addressingKey
:type
: informe o tipo de chave de endereçamento DICT (CPF, CNPJ ou EVP);value
: preencha com o valor da chave escolhida;
recipientName
: informe o nome do recebedor do pagamento;location
:city
nome da cidade do recebedor do pagamento.
Opcionalmente, preencha os demais campos:
location
:zipCode
: CEP do recebedor do pagamento;
amount
: campo que define o valor do pagamento. Quando informado, não permite a alteração do valor pelo pagador;conciliationId
: o ID de conciliação é uma informação que pode ser passada na emissão do QR Code e utilizada para conciliação dos pagamentos. Importante: esse campo é limitado a 25 caracteres e não aceita nenhum caractere especial;categoryCode
: MCC (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.additionalData
: campo livre para informações adicionais. Importante: 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.
Nota
O campo
additionalData
não aceita caracteres especiais.
curl --location --request POST 'https://api-mtls.sandbox.bankly.com.br/pix/qrcodes' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'api-version: 1.0' \
--header 'x-correlation-id: {{correlationId}}' \
--header 'x-bkly-pix-user-id: {{clientDocument}}'\
--header 'Authorization: Bearer {{Token}}
--data-raw '{
"addressingKey": {
"type": "CPF",
"value": "12345678900"
},
"location": {
"city": "São Paulo",
"zipCode": "05402100"
},
"amount": 1,
"recipientName": "Peter Parker",
"conciliationId": "codigo1234"
}'
Retorno
Caso obtenha sucesso em sua requisição, você receberá um código em base64, que contém todas as informações sobre o pagamento.
Importante
Cabe ao parceiro transformar o base64 em imagem.
{
"encodedValue": "MDAwMjAxMjYzMzAwMTRici5nb3YuYmNiLnBpeDAxMTEwNTY3ODQwNDg0OTUyMDQwMDAwNTMwMzk4NjU0MDUxMC4wMTU4MDJCUjU5MTVGZXJuYW5kbyBTZWd1aW02MDA5U2FvIFBhdWxvNjEwODA0MjA1MDAwNjIwNzA1MDMqKio2MzA0Njc5Ng=="
}
Erros
Status code | Código | Descrição |
---|---|---|
400 | INVALID_PARAMETER | O valor informado para a chave é inválido. |
400 | INVALID_PARAMETER | O tipo de chave informado é inválido. |
400 | INVALID_PARAMETER | O campo city não pode estar vazio. |
400 | INVALID_PARAMETER | O campo city não aceita números ou caracteres especiais. |
400 | INVALID_PARAMETER | O valor informado para zipCode é inválido. |
400 | INVALID_PARAMETER | O campo recipientName não pode estar vazio |
400 | INVALID_PARAMETER | O campo conciliationId não aceita caracteres especiais. |
400 | ENTRY_NOT_FOUND | A chave que está sendo informada para gerar um QR Code não existe. |
422 | EMV_FIELD_LENGTH_OUT_OF_RANGE | Comprimento do campo EMV (Merchant Account Information) fora do intervalo permitido. |
Updated 12 months ago