Emissão de QR Code estático

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 (Request)

Requisição HTTP

POST https://sandbox.hiperbanco.com.br/pix/qrCodeStatic
--request POST 'https://sandbox.hiperbanco.com.br/pix/qrCodeStatic' \
--header 'version: cutting-edge' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{token}}' \
--data-raw '{
    "addressingKey": {
        "type": "EVP",
        "value": "ae518747-d422-4e51-b9e3-ee4882e9f4eb"
    },
    "amount": 1,
    "recipientName": "Andre Ferreira Batista",
    "conciliationId": "7tbg3oSIXADVuIrGeWYQs8E5k",
    "location": {
        "city": "Maceió",
        "zipCode": "57070552"
    }
}'

Cabeçalhos (Headers)

NomePropriedadeDescrição
versioncutting-edgeEssa propriedade garante que o response da API seja retornado no formato JSON
AuthorizationBearer tokenObrigatório. Token de autorização do tipo Bearer.

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 deverá conter informações sobre a chave de endereçamento.
addressingKey.typestringObrigatório. Tipo de chave, que pode ser "CPF", "CNPJ", "PHONE", "EMAIL" ou "EVP".
addressingKey.valuestringObrigatório. Valor da chave.Consulte a tabela Chave de endereçamento para obter instruções de preenchimento deste campo.
amountnumberValor do QR Code gerado.
recipientNamestringNome do recebedor da transação. Campo obsoleto, não é necessário enviá-lo.
conciliationIdstringIdentificador utilizado para conciliação dos pagamentos. Importante: para obter o conciliationID na decodificação do QR Code estático, envie-o nesta requisição.Não aceita caracteres especiais. Apenas caracteres alfanuméricos (a–z, A–Z, 0–9). Tamanho máximo: 25 caracteres.
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.
locationobjectObrigatório. Objeto que deverá conter informações sobre a localidade do recebedor da transação.
location.citystringObrigatório. Nome da cidade do recebedor da transação.O valor máximo é de 15 caracteres para esse campo.
location.zipCodestringObrigatório. Código postal do recebedor da transação.
👍

Dica

Para mais detalhes, recomendamos a leitura do item 2.7. Iniciação via QR Code Dinâmico, disponível no Manual de padrões para iniciação do Pix.

Chave de endereçamento

ChaveInstrução de preenchimento
CPF11 dígitos, sem caracteres especiais.
CNPJ14 dígitos, sem caracteres especiais.
EMAILTodos os caracteres em minúsculo. Tamanho máximo de 72 caracteres.
PHONENúmero de telefone celular, composto por símbolo ‘+’, seguido pelo código do país, DDD e número de celular com até nove dígitos. Ex.: +5523415162342.
EVPTamanho máximo de 36 caracteres. Exemplo: 123e4967-e89b-12d3-a456-426655440000.
{
    "addressingKey": {
        "type": "EVP",
        "value": "123e4567-e89b-12d3-a456-426614174000"
    },
    "amount": 1,
    "recipientName": "João da Silva",
    "conciliationId": "A1B2C3D4E5F6G7H8I9J0K1L2M",
    "categoryCode": "0000",
    "location": {
        "city": "São Paulo",
        "zipCode": "01001000"
    }
}

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==" 
} 

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_TIMEOUTTransaction exceeded request limit timeout.A requisição excedeu o tempo limite da solicitação.
422EMV_FIELD_LENGTH_OUT_OF_RANGEEMV Merchant Account Information field length out of range allowed.Comprimento do campo EMV (Merchant Account Information) fora do intervalo permitido.
422ADDRESSING_KEY_NOT_FOUNDThe addressing key informed was not found for this account.A chave Pix informada não está cadastrada na conta que está sendo usada pra gerar o QR Code.
422QR_CODE_NOT_AVAILABLEThe requested QR Code is not available. If you have decoded it recently, please wait a few seconds and try again.O QR Code solicitado não está disponível. Se você o escaneou recentemente, aguarde alguns segundos e tente novamente.

Recordamos que esta API também poderá retornar erros comuns entre todos os endpoints que acompanham os erros 400 (se houver).

Eventos

Caso o parceiro deseje receber mensagens referentes aos eventos relacionados a esse endpoint, é preciso configurar o webhook. Os eventos são:

EventoDescrição
PIX_QRCODE_WAS_CREATEDUm QR Code para pagamento via Pix foi emitido.