Pular para o conteúdo principal

Manual BaaS - Serviço

Atenção!

Os webhooks da QI Tech não devem ser mapeadas de forma restrita. Campos adicionais podem ser incluídos aos payloads dos webhooks retornados em nossas APIs.

Reenvio de Webhooks

Você pode consultar e reenviar webhooks seguindo as instruções detalhadas na documentação: Reenvio de Webhooks.

Atenção

Antes de iniciar o processo de abertura de conta, é de responsabilidade do parceiro realizar as análises de KYC e Prevenção a Fraude.

Para isso, deve ser utilizado o endpoint de análise descrito em /onboarding.

1 - Criando uma Conta

1.1. Upload de documentos: Antes da abertura da conta deve ser realizado o upload dos documentos da empresa. Seguem listas de documentos exigidos para cada tipo de empresa:

Para S.A.'s:

  • Estatuto Social.

  • Ata de Eleição dos Representantes Legais da empresa.

  • Procuração (caso aplicável).

  • Documento com foto de cada representante legal ou procurador.

Para os demais casos:

  • Contrato social.

  • Procuração (caso aplicável).

  • Documento com foto de cada representante legal ou procurador.

Os documentos devem ser compactados em um arquivo “.zip” e enviados através do endpoint de upload de documentos.

        Response

ENDPOINT
/upload
MÉTODO
POST
Response Body
{
"document_key": "cd639c4a-2279-468a-a047-59865b8159ed",
"document_md5": "8f5bef84cb07dc047017c0d304dbb6b8",
"url": "https://storage.googleapis.com/sandbox-doc-api/documents/cd639c4a-2279-468a-a047-59865b8159ed/identificacao_teste.pdf"
}
info

IMPORTANTE: guarde essa “document_key”, pois ela será necessária na etapa da criação da conta.

1.2.1. Criação da conta PJ:

        Request

ENDPOINT
/account
MÉTODO
POST
Request Body

{
"account_owner": {
"address": {
"city": "Limeira",
"complement": "complemento",
"neighborhood": "Vila Cidade Jardim",
"number": "662",
"postal_code": "13480290",
"state": "SP",
"street": "Avenida Campinas"
},
"cnae_code": "4721-1/02",
"company_statute": "8b0d8c33-01c9-4cf5-a0fa-1d2a96f4b34d",
"company_document_number": "09080702000105",
"company_type": "ltda",
"email": "padaria@vovolucia.com.br",
"foundation_date": "1950-08-21",
"annual_revenue_amount": "1000000.00",
"name": "VOVO LUCIA CONVENIENCIA LTDA",
"person_type": "legal",
"phone": {
"area_code": "19",
"country_code": "055",
"number": "988888888"
},
"trading_name": "Empadaria Vovo Lucia",
"company_representatives": [{
"address": {
"city": "Recife",
"complement": null,
"neighborhood": "Fundão",
"number": "137",
"postal_code": "52221110",
"state": "PE",
"street": "Rua Camapuã"
},
"birth_date": "1972-02-02",
"document_identification_number": "339122924",
"document_identification": "8b0d8c33-01c9-4cf5-a0fa-1d2a96f4b34d",
"email": "marcos.alves@yopmail.com",
"individual_document_number": "08531309069",
"is_pep": false,
"marital_status": "single",
"mother_name": "Sueli Isadora Alves",
"name": "Marcos Felipe Henrique Alves",
"nationality": "Brasileira",
"person_type": "natural",
"phone": {
"area_code": "88",
"country_code": "055",
"number": "995924634"
}
},
{
"person_type": "natural",
"name": "Juliana Tereza Bernardes",
"mother_name": "Maria Mariane",
"birth_date": "1990-05-06",
"profession": "Deputada",
"nationality": "Brasileira",
"marital_status": "single",
"is_pep": false,
"individual_document_number": "97564480084",
"document_identification_number": "232479719",
"document_identification": "8b0d8c33-01c9-4cf5-a0fa-1d2a96f4b34d",
"email": "juliana.tereza@yopmail.com",
"phone": {
"country_code": "055",
"area_code": "11",
"number": "912821359"
},
"address": {
"street": "Passagem Mariana",
"state": "PA",
"city": "Ananindeua",
"neighborhood": "Águas Lindas",
"number": "660",
"postal_code": "67118003",
"complement": "complemento"
}
}
]
}
}

account_owner”: Os dados da empresa devem ser enviados neste objeto.

account_owner.company_statute”: A “document_key” retornada no endpoint de upload de documentos, no momento do upload do “.zip” dos documentos societários da empresa, deve ser enviada neste campo.

account_owner.company_representatives”: A lista com os dados dos representantes legais da empresa deve ser enviada neste objeto. Deve ser enviado, no mínimo, os representantes legais, suficientes para representar legalmente a empresa conforme seu respectivo estatuto/contrato social. A validação dos poderes de cada representante legal enviado fica a cargo do parceiro.

account_owner.company_representatives.document_identification”: A “document_key” retornada no endpoint de upload de documentos, no momento do upload do “.zip” do documento com foto do representante, deve ser enviada neste campo.

        Response

ENDPOINT
/account
MÉTODO
POST
Response Body
{
"data": {
"account_info": {
"account_branch": "0001",
"account_digit": "2",
"account_number": "2359934",
"financial_institution_code": "329"
},
"account_owner": {
"document_number": "09080702000105",
"name": "VOVO LUCIA CONVENIENCIA LTDA"
}
},
"event_datetime": "2022-09-02 22:39:10",
"key": "\<UUID PROPOSAL-KEY\>",
"status": "pending_kyc_analysis",
"webhook_type": "account"
}
info

IMPORTANTE: a “key” retornada nesta resposta é a PROPOSAL-KEY do pedido de abertura da conta. Ela deve ser armazenada para leitura do webhook de abertura da conta.

A resposta da solicitação de abertura de conta sempre retornará o status “pending_kyc_analysis”. Um número de conta será reservado para esse cliente, porém a conta ainda estará pendente de análise de KYC por parte da QI Tech. Neste momento, a conta não estará aberta e não poderá receber ou enviar recursos.

1.2.2. Criação da conta PF:

        Request

ENDPOINT
/account
MÉTODO
POST
Request Body
{
"account_owner": {
"address": {
"street": "Avenida Sargento Geraldo Sant'Ana",
"number": "1100",
"neighborhood": "Jardim Taquaral",
"city": "São Paulo",
"state": "SP",
"postal_code": "04674225"
},
"phone": {
"country_code": "055",
"number": "912828135",
"area_code": "11"
},
"email": "juliana.tereza@yopmail.com",
"name": "Juliana Tereza Bernardes",
"person_type": "natural",
"nationality": "Brasil",
"birth_date": "1993-08-02",
"mother_name": "Patricia Monica Diaz Bascur Tieppo",
"is_pep": false,
"individual_document_number": "97564480084",
"document_identification": "8b0d8c33-01c9-4cf5-a0fa-1d2a96f4b34d",
"document_identification_type": "cnh",
"revenue_amount": 1000,
"profession": "autonomo"
}
}

account_owner”: Os dados da pessoa física titular da conta devem ser enviados neste objeto.

account_owner.document_identification”: A “document_key” retornada no endpoint de upload de documentos.

        1.2.2.1. Forma de envio do documento de identificação: Na abertura da conta PF, podem ser enviados dois tipos de documento (document_identification_type): cnh ou rg. O documento de identificação pode ser enviado nos formatos “.pdf”, “.png” e “.jpeg”.

           &nbsp1.2.2.1.1. Envio de documento de identificação do tipo CNH:

Caso o documento seja enviado em 2 arquivos, sendo que, a frente do documento consta em um arquivo e o verso em outro, os seguintes campos devem ser infomado no objeto account_owner do endpoint /account (1.2.2.):

"document_identification": "<DOCUMENT-KEY DA FRENTE DO DOCUMENTO>", "document_identification_back": "<DOCUMENT-KEY DA VERSO DO DOCUMENTO>", "document_identification_type": "cnh",

Caso o documento seja enviado em 1 arquivo, contendo a frente e verso do documento no mesmo arquivo (foto do documento ou cnh digital), os seguintes campos devem ser infomado no objeto account_owner do endpoint /account (1.2.2.):

"document_identification": "<DOCUMENT-KEY DA FRENTE DO DOCUMENTO>", "document_identification_type": "cnh",            &nbsp1.2.2.1.2. Envio de documento de identificação do tipo RG: Para o tipo de documento RG, sempre devem ser enviados 2 arquivos, um contendo a frente do documento e outro com o verso do documento. Para este caso os seguintes campos devem ser infomados no objeto account_owner do endpoint /account (1.2.2.):

"document_identification": "<DOCUMENT-KEY DA FRENTE DO DOCUMENTO>", "document_identification_back": "<DOCUMENT-KEY DA VERSO DO DOCUMENTO>", "document_identification_type": "rg",

        Response

ENDPOINT
/account
MÉTODO
POST
Response Body
{
"data": {
"account_info": {
"account_branch": "0001",
"account_digit": "2",
"account_number": "2359934",
"financial_institution_code": "329"
},
"account_owner": {
"document_number": "97564480084",
"name": "Juliana Tereza Bernardes"
}
},
"event_datetime": "2022-09-02 22:39:10",
"key": "\<UUID PROPOSAL-KEY\>",
"status": "pending_kyc_analysis",
"webhook_type": "account"
}
info

IMPORTANTE: a “key” retornada nesta resposta é a PROPOSAL-KEY do pedido de abertura da conta. Ela deve ser armazenada para leitura do webhook de abertura da conta.

A resposta da solicitação de abertura de conta sempre retornará o status “pending_kyc_analysis”. Um número de conta será reservado para esse cliente, porém a conta ainda estará pendente de análise de KYC por parte da QI Tech. Neste momento, a conta não estará aberta e não poderá receber ou enviar recursos.

info

Para simular situações de aprovação, reprovação e analise manual pode ser utilizado o primeiro digito do CPF/CNPJ do owner da conta:

  • 0 à 7 -> Aprovação Automática

  • 8 -> Reprovação Automática

  • 9 -> Análise Manual

1.2.3. Após a conclusão da análise de KYC/PLD pela QI Tech, será enviado um webhook de abertura da conta, conforme abaixo:

        Webhook

WEBHOOK_TYPE
account
SOURCE_SUB_TYPE
Account Opened
Body
{
"data": {
"account_info": {
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"account_digit": "2",
"account_branch": "0001",
"account_number": "2359934",
"financial_institution_code": "329"
},
"account_owner": {
"name": "VOVO LUCIA CONVENIENCIA LTDA",
"document_number": "09080702000105"
}
},
"event_datetime": "2022-09-02 22:39:39",
"key": "\<UUID PROPOSAL-KEY\>",
"status": "account_opened",
"webhook_type": "account"
}
info

Neste momento será retornada “account_key” da conta e ela estará pronta para utilização.

1.2.4. Caso a conta não passe no processo de KYC/PLD, será enviado um webhook de conta rejeitada:

        Webhook

WEBHOOK_TYPE
available_balance
STATUS
Success
Body
{
"data": {
"account_info": {
"account_digit": "2",
"account_branch": "0001",
"account_number": "2359934",
"financial_institution_code": "329"
},
"account_owner": {
"name": "VOVO LUCIA CONVENIENCIA LTDA",
"document_number": "09080702000105"
}
},
"event_datetime": "2022-09-02 22:39:39",
"key": "\<UUID PROPOSAL-KEY\>",
"status": "account_rejected",
"webhook_type": "account"
}

1.3. Recuperando dados da conta:

        Request

ENDPOINT
/account
MÉTODO
POST
PARAMETERS
account_type[checking], owner_name, account_number, owner_document_number, account_status[opened, closed, blocked], page, page_size
Request Body
{
"data": [
{
"account_block_reason": null,
"account_branch": "0001",
"account_credentials": [{
"account_id": 3395,
"created_at": "2022-09-02T22:39:39",
"credential_type": {
"created_at": "2019-06-18T13:19:30",
"enumerator": "observer",
"id": 3,
"translation_path": "account.CredentialType.observer"
},
"credential_type_id": 3,
"id": 3244,
"is_active": true,
"person_key": "bffded45-5fcf-4d13-9d2a-566a0af338cc",
"updated_at": null
},
{
"account_id": 3395,
"created_at": "2022-09-02T22:39:39",
"credential_type": {
"created_at": "2019-06-18T13:19:30",
"enumerator": "requester",
"id": 2,
"translation_path": "account.CredentialType.requester"
},
"credential_type_id": 2,
"id": 3245,
"is_active": true,
"person_key": "ef48fbe4-267b-45c1-9049-75345c075486",
"updated_at": null
}
],
"account_digit": "2",
"account_documents": [],
"account_events": [{
"account_id": 3395,
"created_at": "2022-09-02T22:39:39",
"id": 5132,
"new_account_status": {
"created_at": "2019-10-11T18:58:31",
"enumerator": "opened",
"id": 1,
"translation_path": "account.AccountStatus.opened"
},
"new_account_status_id": 1,
"old_account_status": null,
"old_account_status_id": null
}],
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"account_name": "Default",
"account_number": "2359934",
"account_status": {
"created_at": "2019-10-11T18:58:31",
"enumerator": "opened",
"translation_path": "account.AccountStatus.opened"
},
"account_type": {
"created_at": "2019-03-15T13:09:15",
"enumerator": "checking",
"translation_path": "account.AccountType.checking"
},
"automatic_transfer_management_status": {
"created_at": "2022-10-27T13:48:18",
"enumerator": "master"
},
"automatic_transfers": [],
"balance": 0,
"blocked_balance": 0,
"blocked_balance_events": [],
"created_at": "2022-09-02T22:39:39",
"destinations": [],
"fee": 0,
"internal_webhooks": [],
"investment_available_amount": 0,
"investment_configuration": null,
"is_system_account": false,
"owner_document_number": "09080702000105",
"owner_name": "VOVO LUCIA CONVENIENCIA LTDA",
"owner_person_key": "bffded45-5fcf-4d13-9d2a-566a0af338cc",
"permitted_person_keys": [
"bffded45-5fcf-4d13-9d2a-566a0af338cc",
"bffded45-5fcf-4d13-9d2a-566a0af338cc",
"ef48fbe4-267b-45c1-9049-75345c075486"
],
"requester_key": "ef48fbe4-267b-45c1-9049-75345c075486",
"requester_name": "Requester Name Sandbox",
"setup_fee": null,
"transactional_limit": null,
"webhook_enabled": true
}, ...
],
"pagination": {
"current_page": 1,
"next_page": null,
"rows_per_page": 100,
"total_pages": 1,
"total_rows": 8
}
}
info

Os campos mais pertinentes da resposta da consulta dos dados da conta são: account_branch, account_digit, account_key,account_number, balance, owner_document_number, owner_name, owner_person_key.


2 - Transferência PIX

2.1. Realizar Transferência PIX: para realizar um PIX é necessário realizar três chamadas:

  1. Criação do pedido de transferência: /baas/pix_transfer

  2. Aprovação da transferência: /baas/pix_transfer_approval

info

Uma transferência PIX pode ser realizada utilizando dois payloads distintos: chave PIX ou dados bancários.

2.2. Transferência utilizando uma chave PIX (CPF, CNPJ, E-mail, Celular ou chave aleatória):

        Request

ENDPOINT
/baas/pix_transfer
MÉTODO
POST
Request Body
{
"pix_transfer_type": "key",
"source_account": {
"account_branch": "0001",
"account_digit": "2",
"account_number": "2359934",
"owner_document_number": "09080702000105"
},
"pix_key": "65322181032",
"transaction_amount": 45,
"requester_document_identification": "09080702000105"
}
info

A “pix_key” pode ser um CPF, CNPJ, E-mail, Celular ou uma Chave Aleatória (UUID), seguindo as seguintes formatações:

CPF: Número inteiro com 11 dígitos.

CNPJ: Número inteiro com 14 dígitos.

E-mail: Texto contendo ao menos um “@”.

Celular: Texto contendo os seguintes valores: “+55” + “[DDD do celular]“ + “[Número Inteiro do Celular com no mínimo 8 e no máximo 9 dígitos]”. Ex: “+5511987654321“.

Chave Aleatória: UUID.

2.3. Transferência utilizando dados da Conta Bancária (PIX Manual):

        Request

ENDPOINT
/baas/pix_transfer
MÉTODO
POST
Request Body
{
"pix_transfer_type": "manual",
"source_account": {
"account_branch": "0001",
"account_digit": "2",
"account_number": "2359934",
"owner_document_number": "09080702000105"
},
"target_account": {
"account_branch": "0001",
"account_digit": "3",
"account_number": "12345678",
"owner_document_number": "32402502000135",
"owner_name": "Qi Tech",
"account_type": "checking_account",
"ispb": "32402502"
},
"transaction_amount": 45
}

Utilizando o PIX Manual é necessário informar o ISPB da instituição destino. Este dado é utilizado, pois existem instituições de pagamento que recebem PIX, porém não possuem código de banco. O ISPB é a base do CNPJ da instituição. Para ter acesso à lista completa de ISPB’s de cada instituição participante do PIX, basta utilizar o endpoint de consulta em nossa documentação: https://docs.qitech.com.br/documentation/lista_de_instituicoes_financeiras/consulta_de_instituicoes_financeiras

        Response

ENDPOINT
/baas/pix_transfer
MÉTODO
POST
Response Body
{
"data": {
"end_to_end_id": "E3240250220221120012039U3OKZZMW8",
"fee_amount": 1,
"pix_message": null,
"pix_transfer_key": "cea836b5-b02e-4f94-b1e2-4d575671c33d",
"source_account": {
"account_brach": "0001",
"account_digit": "2",
"account_number": "2359934",
"account_type": "checking",
"owner_document_number": "09080702000105",
"owner_name": "VOVO LUCIA CONVENIENCIA LTDA"
},
"target_account": {
"document_number": "***.221.81*-**",
"financial_institution": "BANCO ORIGINAL S.A."
},
"transaction_amount": 45,
"transfer_purpose": "transfer"
},
"event_datetime": "2022-09-02 22:20:47",
"operation_key": "86d80cf4-430b-4e16-910a-41798810ddcf",
"status": "pending_approval"
}
info

Possíveis status da solicitação de transferência/pagamento via PIX:

pending_approval: transferência pendente de aprovação pelo solicitante

sent: transferência enviada

Para aprovar a transferência PIX, é necessário utilizar a “pix_transfer_key” retornada na solicitação de transferência (/baas/pix_transfer):

        Request

ENDPOINT
/baas/pix_transfer_approval
MÉTODO
POST
Request Body
{
"pix_transfer_key": "cea836b5-b02e-4f94-b1e2-4d575671c33d",
"approver_document_number": "97564480084"
}

        Response

ENDPOINT
/baas/pix_transfer_approval
MÉTODO
POST
Response Body
{
"data": {
"end_to_end_id": "E3240250220221120012039U3OKZZMW8",
"fee_amount": 1,
"pix_message": null,
"pix_transfer_key": "cea836b5-b02e-4f94-b1e2-4d575671c33d",
"source_account": {
"account_brach": "0001",
"account_digit": "2",
"account_number": "2359934",
"account_type": "checking",
"owner_document_number": "09080702000105",
"owner_name": "VOVO LUCIA CONVENIENCIA LTDA"
},
"target_account": {
"document_number": "***.221.81*-**",
"financial_institution": "BANCO ORIGINAL S.A."
},
"transaction_amount": 45,
"transfer_purpose": "transfer"
},
"event_datetime": "2022-09-02 22:20:47",
"operation_key": "86d80cf4-430b-4e16-910a-41798810ddcf",
"status": "sent"
}
STATUS
422
Response Body
{
"data": "{\"title\": \"Pending Transfer\", \"description\": \"The transaction (<END TO END ID DO PIX>) could not be completed and is pending confirmation.\", \"translation\": \"Não foi possível concluir a transação (<END TO END ID DO PIX>) e ela está pendente de confirmação\", \"code\": \"PXT000072\"}"
}

HTTP Error 422

Caso seja retornado http error 422, a solicitação de Pix não deve ser retentada. É preciso checar o status da solicitação de transferência Pix através de um GET na rota /baas/pix/pix_transfer.


3 - Movimentações, Comprovantes e Extratos

3.1. Movimentações:

Para toda e qualquer movimentação será enviado um webhook de “account_transaction“.

Cada transação possui um tipo de classificação (Source Sub Type). Essa classificação é utilizada para categorizar cada movimentação na conta. A lista de Source Sub Types pode ser vista no Anexo I deste manual.

3.1.1. Os créditos em conta resultarão em um webhook com “data.amount” positivo, “data.origin“ sendo a conta de origem dos recursos e a “data.destination“ sendo a conta de destino dos recursos:

        Webhook

WEBHOOK_TYPE
account_transaction
Body: Pix

{
"key": "\<ACCOUNT-KEY\>",
"data": {
"amount": 1000000,
"origin": {
"name": "Treasury Account",
"branch": "0001",
"document": "32402502000135",
"account_key": "5d068423-6094-49e4-b15b-7740038295a8",
"account_digit": "5",
"account_number": "00002"
},
"timestamp": "2022-09-02T21:36:33.446120",
"description": "329 0001 00002-5 32.402.502/0001-35 - QI SOCIEDADE DE CRÉDITO DIRETO S.A.",
"destination": {
"name": "Default",
"branch": "0001",
"document": "09080702000105",
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"account_digit": "2",
"account_number": "2359934"
},
"reference_key": "983b4a28-7de6-4e71-97ef-60fb50c7b013",
"reference_type": "movement_request",
"account_balance": 1000000,
"source_sub_type": "internal_funds_transfer",
"transaction_key": "67a62397-2c32-4768-8485-ec9129a46654",
"source_sub_type_str": "Transferência Interna",
"transaction_details": {
"payer_name": "0001",
"receiver_name": "Default",
"payer_account_digit": "5",
"payer_account_branch": "",
"payer_account_number": "1111111",
"payer_document_number": "66681638999999",
"receiver_account_digit": "6",
"receiver_account_branch": "0000",
"receiver_account_number": "34256449809",
"receiver_conciliation_id": null,
"receiver_document_number": "00809641658"
}
},
"datetime": "2022-09-02T21:36:33.446120",
"webhook_type": "account_transaction"
}
Body: Outras transações

{
"key": "\<ACCOUNT-KEY\>",
"data": {
"amount": 1000000,
"origin": {
"name": "Treasury Account",
"branch": "0001",
"document": "32402502000135",
"account_key": "5d068423-6094-49e4-b15b-7740038295a8",
"account_digit": "5",
"account_number": "00002"
},
"timestamp": "2022-09-02T21:36:33.446120",
"description": "329 0001 00002-5 32.402.502/0001-35 - QI SOCIEDADE DE CRÉDITO DIRETO S.A.",
"destination": {
"name": "Default",
"branch": "0001",
"document": "09080702000105",
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"account_digit": "2",
"account_number": "2359934"
},
"reference_key": "983b4a28-7de6-4e71-97ef-60fb50c7b013",
"reference_type": "movement_request",
"account_balance": 1000000,
"source_sub_type": "internal_funds_transfer",
"transaction_key": "67a62397-2c32-4768-8485-ec9129a46654",
"source_sub_type_str": "Transferência Interna"
},
"datetime": "2022-09-02T21:36:33.446120",
"webhook_type": "account_transaction"
}

3.1.2. Os débitos em conta resultarão em um webhook com “data.amount” negativo, “data.origin“ sendo a conta destinatária dos recursos e a “data.destination“ sendo a conta de origem dos recursos:

        Webhook

WEBHOOK_TYPE
account_transaction
Body
{
"key": "\<ACCOUNT-KEY\>",
"data": {
"amount": -45,
"origin": {
"name": "PIX",
"branch": "0001",
"document": "32402502000135",
"account_key": "3d0e7d50-e898-49f3-b23b-05353c8a3c72",
"account_digit": "3",
"account_number": "00003"
},
"timestamp": "2022-09-02T23:00:05.326738",
"description": "212 0001 1017372-2 ***.221.81*-** BANCO ORIGINAL S.A.",
"destination": {
"name": "Default",
"branch": "0001",
"document": "09080702000105",
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"account_digit": "2",
"account_number": "2359934"
},
"reference_key": "cea836b5-b02e-4f94-b1e2-4d575671c33d",
"reference_type": "pix_outgoing",
"account_balance": 999955,
"source_sub_type": "pix_withdrawal",
"transaction_key": "d2ba3817-26d7-4957-ab82-24f78d910a8a",
"source_sub_type_str": "Transferência de PIX"
},
"datetime": "2022-09-02T23:00:05.326738",
"webhook_type": "account_transaction"
}

Lista de source_sub_types’s:

EnumDescrição
operation_disbursementDesembolso da Operação
protest_expenseDespesas de Protesto
automatic_integrated_paymentPagamento Automático Integrado
taxImpostos
electronic_funds_feeTarifa de TED
credit_operation_feeTarifa de Abertura de Crédito
internal_funds_transferTransferência Interna
incoming_funds_transferTransferência de Entrada
outgoing_funds_transferTED
depositDepósito
withdrawalTransferência
withdrawal_reversalEstorno de Transferência
trade_funds_transferTransferência de Pagamento de Cessão
settlement_funds_transferTransferência para Liquidação
bank_slip_feeTarifa de Boleto
bank_slip_settlementLiquidação de Boleto
outgoing_funds_transfer_reversalEstorno de TED
incoming_funds_transfer_refusalTransferência Negada
electronic_funds_fee_reversalEstorno de Tarifa de TED
monthly_account_fee_reversalEstorno de Tarifa de Manutenção de Conta
bank_slip_fee_reversalEstorno de Tarifa de Boleto
correspondent_bank_transferRepasse de Correspondente Bancário
credit_analysis_feeTarifa de Análise de Crédito
credit_operation_fee_reversalEstorno de Tarifa de Abertura de Crédito
financial_investments_incomeRenda de Aplicação Financeira
bank_slip_settlement_reversalEstorno de Liquidação de Boleto
bank_slip_settlement_expense_reversalEstorno de Tarifa de liquidação de Boleto
bank_slip_settlement_incoming_reversalEstorno de Recebimento de Liquidação de Boleto
correspondent_bank_transfer_reversalEstrono de Repasse de Correspondente Bancário
credit_analysis_fee_reversalEstorno de Tarifa de Análise de Crédito
doc_expense_reversalEstorno de Tarifa de DOC
incoming_doc_reversalEstorno de Entrada de DOC
operation_disbursement_reversalEstorno de Desembolso da Operação
operation_settling_reversalEstorno de Pagamento de Operação
outgoing_doc_reversalEstorno de Saída de DOC
rebate_reversalEstorno de Rebate
settlement_funds_transfer_reversalEstorno de Transferência para Liquidação
tax_reversalEstorno de Impostos
trade_funds_transfer_reversalEstorno de Transferência de Pagamento de Cessão
bank_slip_permanency_feeTarifa de Permanência do Título
bank_slip_cancel_protest_feeTarifa de Permanência do Título
bank_slip_protest_feeTarifa de Pedido de Protesto
bank_slip_notary_office_feeCustas de Protesto
bank_slip_registration_feeTarifa de Registro
bank_slip_extension_feeTarifa de Prorrogação
bank_slip_rebate_feeTarifa de Abatimento
bank_slip_discount_feeTarifa de Desconto
bank_slip_settlement_feeTarifa de Liquidação
bank_slip_write_off_term_feeTarifa de Baixa por Decurso de Prazo
bank_slip_write_off_feeTarifa de Baixa
bank_slip_cancel_protest_write_off_feeTarifa de Sustação de Protesto com Baixa
bank_slip_notary_office_settlement_feeTarifa de Liquidação em Cartório
rebate_tax_freeRepasse por Conta e Ordem
rebate_tax_free_reversalEstorno de Repasse por Conta e Ordem
incoming_funds_transfer_reversalEstorno de Transferência Interna
bank_slip_paymentPagamento de Boleto
bank_slip_payment_reversalEstorno de Pagamento de Boleto
warranty_analysis_feeTarifa de Análise de Garantia
bank_slip_settlement_depositLiquidação de Boleto
bank_slip_payment_withdrawalPagamento de Boleto
account_setup_feeTarifa de Abertura de Conta
account_setup_fee_reversalEstorno de Tarifa de Abertura de Conta
bank_slip_payment_withdrawal_reversalEstorno de Pagamento de Boleto
incoming_anticipation_of_receivable-
incoming_credit_card_settlementLiquidação de cartão de crédito
incoming_debit_card_settlementLiquidação de cartão de débito
assignment_automatic_transferDébito de Cessão Automática
assignment_automatic_transfer_reversalEstorno de Débito de Cessão Automática
pix_feeTarifa de PIX
incoming_pix_transferEntrada de PIX
outgoing_pix_transferSaída de PIX
pix_fee_reversalEstorno de Tarifa de PIX
incoming_pix_transfer_reversalEstorno de entrada de PIX
outgoing_pix_transfer_reversalEstorno de saída de PIX
pix_depositDepósito de PIX
pix_withdrawalTransferência de PIX
pix_withdrawal_reversalEstorno de transferência de PIX
pix_chargeback_withdrawalEnvio de devolução PIX
outgoing_pix_chargebackSaída de PIX por devolução
incoming_pix_chargebackRecebimento de devolução PIX
pix_chargeback_depositEntrada de PIX por devolução
pix_chargeback_withdrawal_reversalEstorno de envio de devolução PIX
outgoing_pix_chargeback_reversalEstorno de saída de PIX por devolução
incoming_pix_chargeback_reversalEstorno de recebimento de devolução PIX
operation_pix_disbursementDesembolso PIX da Operação
operation_pix_disbursement_reversalEstorno de Desembolso PIX da Operação
receivables_inquiry_feeTarifa de Consulta de Agenda de Recebíveis
pix_deposit_reversalEstorno de Depósito de PIX
internal_pix_transferTransferência de PIX
automatic_integrated_payment_reversalEstorno de Pagamento Automático Integrado
operation_dibursement_reversalEstorno de Desembolso da Operação
available_yieldDepósito de Investimento Liquido

3.2. Comprovantes: O comprovante de uma transferência/pagamento pode ter seus dados recuperados através da “transaction_key”.

        Request

ENDPOINT
/transaction_receipt/[TRANSACTION-KEY]
MÉTODO
GET
Response Body - Para transferências/pagamentos PIX

{
"chargeback_reason": null,
"chargeback_returned_amount": null,
"chargeback_unexpected_reason": null,
"end_to_end_id": "E3240250220221120012039U3OKZZMW8",
"origin_key": "cea836b5-b02e-4f94-b1e2-4d575671c33d",
"original_transfer_data": null,
"pix_message": null,
"pix_transfer_type": "key",
"receiver_conciliation_id": null,
"source_account": {
"account_branch": "0001",
"account_digit": "2",
"account_number": "2359934",
"financial_institution_compe_number": 329,
"financial_institution_name": "QI SOCIEDADE DE CRÉDITO DIRETO S.A.",
"owner_document_number": "09080702000105",
"owner_name": "VOVO LUCIA CONVENIENCIA LTDA"
},
"source_subtype": "pix_withdrawal",
"source_subtype_translation_ptbr": "Transferência de PIX",
"target_account": {
"account_branch": "0001",
"account_digit": "2",
"account_number": "1017372",
"financial_institution_compe_number": 212,
"financial_institution_name": "BANCO ORIGINAL S.A.",
"is_internal": false,
"ispb_number": "92894922",
"owner_document_number": "***22181***",
"owner_name": "Vivo Test",
"target_pix_key": "65322181032"
},
"transacted_at": "2022-11-20 02:00:05",
"transacted_at_br": "2022-11-19 23:00:05",
"transaction_amount": 45,
"transaction_key": "d2ba3817-26d7-4957-ab82-24f78d910a8a",
"translated_chargeback_reason": null
}
Response Body - Para transferências Internas ou Pagamento de TED
{
"origin_key": "983b4a28-7de6-4e71-97ef-60fb50c7b013",
"source_account": {
"account_branch": "0001",
"account_digit": "5",
"account_number": "00002",
"financial_institution_compe_number": 329,
"financial_institution_name": "QI SOCIEDADE DE CRÉDITO DIRETO S.A.",
"owner_document_number": "32402502000135",
"owner_name": "QI SOCIEDADE DE CRÉDITO DIRETO S.A."
},
"source_subtype": "internal_funds_transfer",
"source_subtype_translation_ptbr": "Transferência Interna",
"target_account": {
"account_branch": "0001",
"account_digit": "2",
"account_number": "2359934",
"financial_institution_compe_number": 329,
"financial_institution_name": "QI SOCIEDADE DE CRÉDITO DIRETO S.A.",
"owner_document_number": "09080702000105",
"owner_name": "VOVO LUCIA CONVENIENCIA LTDA"
},
"transacted_at": "2022-11-20 00:36:33",
"transacted_at_br": "2022-11-19 21:36:33",
"transaction_amount": 1000000,
"transaction_key": "67a62397-2c32-4768-8485-ec9129a46654"
}
Response Body - Para Pagamentos de Boletos

{
"bank_slip": {
"beneficiary": {
"document_number": "32402502000135",
"name": "QI SCD"
},
"digitable_line": "32990001031000699926165000000201993810000003500",
"expiration_date": "2023-06-14",
"financial_institution_compe_number": "329",
"financial_institution_name": "QI SOCIEDADE DE CRÉDITO DIRETO S.A.",
"payer": {
"document_number": "10932327656",
"name": "Lucas Clarim"
},
"payment_date": "2022-11-22",
"payment_key": "13b35108-0fdc-44ab-b86d-5dda12dc8dce"
},
"origin_key": "13b35108-0fdc-44ab-b86d-5dda12dc8dce",
"source_account": {
"account_branch": "0001",
"account_digit": "2",
"account_number": "2359934",
"financial_institution_compe_number": 329,
"financial_institution_name": "QI SOCIEDADE DE CRÉDITO DIRETO S.A.",
"owner_document_number": "09080702000105",
"owner_name": "VOVO LUCIA CONVENIENCIA LTDA"
},
"source_subtype": "bank_slip_payment",
"source_subtype_translation_ptbr": "Pagamento de Boleto",
"transacted_at": "2022-11-22 12:26:21",
"transacted_at_br": "2022-11-22 09:26:21",
"transaction_amount": 35,
"transaction_key": "eee862b9-7f2e-4eea-b04a-fa0e89442618"
}

3.3. Extratos: O extrato de uma conta pode ser recuperado através do seguinte endpoint:

        Request

ENDPOINT
/account_statement
MÉTODO
GET
PARAMETERS
account_key, document_number, date_from, date_to, page, page_size
Response Body
{
"data": {
"account_info": {
"account_block_reason": null,
"account_branch": "0001",
"account_credentials": [{
"account_id": 3395,
"credential_type": "observer",
"credential_type_id": 3,
"document_number": "09080702000105",
"id": 3244,
"is_active": true,
"name": "VOVO LUCIA CONVENIENCIA LTDA",
"updated_at": null
},
{
"account_id": 3395,
"credential_type": "requester",
"credential_type_id": 2,
"document_number": "94310345000195",
"id": 3245,
"is_active": true,
"name": "Parceiro Sandbox",
"updated_at": null
}
],
"account_digit": "2",
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"account_name": "Default",
"account_number": "2359934",
"account_status": "opened",
"account_type": "checking",
"automatic_transfer_management_status": {
"created_at": "2022-10-27T13:48:18",
"enumerator": "master"
},
"automatic_transfers": [],
"balance": 999359,
"blocked_balance": 0,
"destinations": [],
"fee": 0,
"internal_webhooks": [],
"investment_available_amount": 0,
"investment_configuration": null,
"owner_document_number": "09080702000105",
"owner_name": "VOVO LUCIA CONVENIENCIA LTDA",
"owner_person_key": "d2fddd2c-3436-41d5-97e0-5721ee871a3a",
"permitted_person_keys": [
"bffded45-5fcf-4d13-9d2a-566a0af338cc",
"ef48fbe4-267b-45c1-9049-75345c075486"
],
"requester_key": "ef48fbe4-267b-45c1-9049-75345c075486",
"requester_name": "Parceiro Sandbox",
"setup_fee": null,
"transactional_limit": null,
"webhook_enabled": true
},
"transaction_list": [
{
"account_balance": 999359,
"description": "001 0001 81156-1 109.323.276-56 - Lucas de Jesus Clarim",
"source_subtype": "withdrawal",
"transacted_at": "2022-11-21 14:39:56",
"transaction_amount": -551,
"transaction_key": "32ac0781-f292-4172-b58f-3310102e6fb9"
},
{
"account_balance": 999910,
"description": "329 0001 00002-5 32.402.502/0001-35 - QI SOCIEDADE DE CRÉDITO DIRETO S.A.",
"source_subtype": "internal_funds_transfer",
"transacted_at": "2022-11-20 02:27:38",
"transaction_amount": -45,
"transaction_key": "9cee2272-b280-47ed-b9ec-00674f25db1b"
},
{
"account_balance": 999955,
"description": "212 0001 1017372-2 ***.221.81*-** BANCO ORIGINAL S.A.",
"source_subtype": "pix_withdrawal",
"transacted_at": "2022-11-20 02:00:05",
"transaction_amount": -45,
"transaction_key": "d2ba3817-26d7-4957-ab82-24f78d910a8a"
},
{
"account_balance": 1000000,
"description": "329 0001 00002-5 32.402.502/0001-35 - QI SOCIEDADE DE CRÉDITO DIRETO S.A.",
"source_subtype": "internal_funds_transfer",
"transacted_at": "2022-11-20 00:36:33",
"transaction_amount": 1000000,
"transaction_key": "67a62397-2c32-4768-8485-ec9129a46654"
}
]
},
"event_datetime": "2022-11-22 12:57:44",
"key": "d96fb39c-e80b-447b-aad8-191c9bd2eb17",
"status": "success",
"webhook_type": "account_statement"
}

4 - Transferência TED

info

As transferências TED só podem ser realizadas em dias úteis das 7:00 às 17:00.

4.1. Realizar Transferência TED: Para realizar uma transferência via TED é necessário realizar a seguinte chamada:

        Request

ENDPOINT
/wire_transfer
MÉTODO
POST
Response Body
{
"source_account": {
"account_branch": "0001",
"account_number": "9477323",
"account_digit": "0",
"owner_document_number": "38299588000107"
},
"target_account": {
"financial_institution_code": "341",
"account_branch": "0001",
"account_number": "4311337",
"account_digit": "1",
"owner_document_number": "21669721019",
"owner_name": "Nome do Titular da Conta Destino"
},
"transaction_amount": 8.86
}

        Response

ENDPOINT
/wire_transfer
MÉTODO
POST
Response Body
{
"data": {
"source_account": {
"account_branch": "0001",
"account_digit": "0",
"account_number": "9477323",
"owner_document_number": "38299588000107"
},
"target_account": {
"account_branch": "0001",
"account_digit": "1",
"account_number": "4311337",
"financial_institution_code": "341",
"owner_document_number": "21669721019",
"owner_name": "Nome do Titular da Conta Destino"
},
"transaction_amount": 8.86,
"transaction_key": "076b76b9-6177-4cd6-b164-da55df678df6"
},
"event_datetime": "2023-02-14 23:05:53",
"key": "d09c5533-a8d7-4ac2-bd3b-dd4433263d80",
"status": "success",
"webhook_type": "wire_transfer"
}

O campo de “event_datetime“ esta em formato UTC.

info

A “transaction_key“ é a chave única de identificação da transferência e poderá ser utilizada posteriormente para solicitação do comprovante de transferência.

4.2. Estorno de uma TED: Caso a instituição destinatária devolva a TED, será disparado o seguinte webhook:

        Webhook

WEBHOOK_TYPE
account_transaction
SOURCE_SUB_TYPE
withdrawal_reversal
Body
{
"key": "508ebbba-0b1d-41f6-b9a2-975a4c2e925e",
"data": {
"amount": 550,
"origin": {
"name": "TED",
"branch": "0001",
"document": "32402502000135",
"account_key": "23a4a2c8-9d82-4ebe-a90d-44fe8d839ec0",
"account_digit": "7",
"account_number": "00001"
},
"timestamp": "2023-01-05T07:42:26.631137",
"description": "001 0001 81156-1 32.402.502/0001-35 - QI Tech",
"destination": {
"name": "Default",
"branch": "0001",
"document": "23426525852",
"account_key": "508ebbba-0b1d-41f6-b9a2-975a4c2e925e",
"account_digit": "0",
"account_number": "7058818"
},
"reference_key": "58729e67-f490-4607-aafd-2fc7945d3d77",
"reference_type": "ted_outgoing",
"account_balance": 99954.15,
"source_sub_type": "withdrawal_reversal",
"transaction_key": "53268774-6891-42a4-a658-42e21cef867c",
"source_sub_type_str": "Estorno de Transferência"
},
"datetime": "2023-01-05T07:42:26.631137",
"webhook_type": "account_transaction"
}

5 - Registrar e Alterar boletos bancários

5.1. Consulta de Carteiras de Cobrança: Para registrar, alterar e pagar boletos, é preciso, primeiramente, possuir o Código da Carteira de Cobrança (Requester Profile Code) vinculada a uma conta. Toda conta já nasce com uma Carteira de Cobrança vinculada.

O Código da Carteira de Cobrança segue o seguinte padrão: ”No. do banco” + “código da carteira” + “No. agência da conta” + “No. da Conta com 7 caracteres e sem dígito“.

Por padrão, na QI Tech, os números do banco, do código da carteira e agência sempre serão “329”, “09” e “0001”, respectivamente. ex: “329-09-0001-2359934”.

Caso seja necessário recuperar a lista de Códigos de Carteira de Cobrança de cada conta, deve ser utilizado o seguinte endpoint:

        Request

ENDPOINT
/bank_slip/requester_profiles
MÉTODO
GET
Response Body
{
"requester_profile_codes": [
"329-09-0001-1467576",
"329-09-0001-5747500",
"329-09-0001-2730579",
"329-09-0001-2359934"
]
}
Dica

O registro, alteração e baixa de boletos, funciona através da dinâmica de ocorrências. Cada ocorrência é enviada para a QI Tech e encaminhada para a base centralizadora de boletos. As ocorrências podem ser aceitas ou rejeitadas pelo base centralizadora de boletos. A resposta a respeito da aceitação ou rejeição das ocorrências é enviada via webhook ao parceiro.

5.2. Registrar Boleto: Para realizar o registro de um boleto, é necessário enviar uma ocorrência de registro, conforme descrito no endpoint abaixo:

        Request

ENDPOINT
/multibank_instruction?use_multi_process=true
MÉTODO
POST
Request Body
{
"occurrences": [
{
"amount": 800,
"our_number": 1,
"automatic_bankruptcy_protest": false,
"bank_teller_instructions": "Não aceitar após vencimento",
"days_to_bankruptcy_protest": 0,
"document_number": "123456/01",
"expiration": "2022-12-01",
"fine_percentage": "2",
"interest_daily_value": "0.34",
"occurrence_type": "registration",
"payer_address": "Rua Carlos Sampaio, 123",
"payer_document": "41184562067",
"payer_name": "João Ninguem",
"payer_person_type": "natural",
"payer_postal_code_root": "15800",
"payer_postal_code_suffix": "020",
"registration_institution_enumerator": "qi_scd",
"requester_profile": 9,
"requester_profile_code": "329-09-0001-2359934"
}
]
}
info

O nosso número bancário (“our_number”) é o ID do boleto dentro da carteira de cobrança. Ele deve ser um ID incremental. O nosso número bancário (“our_number”) deve ser gerado pelo parceiro e informado no momento do registro do boleto. IMPORTANTE: O boleto deve ser localizado através da chave: nosso número bancário (“our_number”) + Código da Carteira de Cobrança (“requester_profile_code).

        Response

ENDPOINT
/multibank_instruction?use_multi_process=true
MÉTODO
POST
Response Body
{
"file_info": {
"beneficiary_code": null,
"beneficiary_name": null,
"file_sequence_id": null,
"file_type_identifier": null,
"file_type_literal": null,
"service_code": null,
"service_literal": null,
"wrote_at": null
},
"occurrence_stats": {
"bank_slip_edit": 0,
"bankruptcy_protest_request": 0,
"cancel_rebate": 0,
"extension": 0,
"notary_office_entry": 0,
"notary_office_exit": 0,
"notary_office_payment": 0,
"notification": 0,
"payment": 0,
"payment_notice": 0,
"payment_write_off": 0,
"protest_cancel_and_write_off_request": 0,
"protest_cancel_request": 0,
"protest_remove_request": 0,
"protest_request": 0,
"rebate": 0,
"registration": 1,
"write_off": 0
},
"semantic_errors": []
}

5.3. A resposta sobre a aceitação ou rejeição do registro do boleto será informada através do seguinte webhook.

        Webhook

WEBHOOK_TYPE
bank_slip.status_change
STATUS
registered
Body
{
"key": "41927fa9-f9ed-4797-b48a-6ac68e58dc17",
"data": {
"expiration": "2022-12-01",
"our_number": 1,
"bank_slip_key": "41927fa9-f9ed-4797-b48a-6ac68e58dc17",
"rebate_amount": 0,
"occurrence_type": "registration",
"occurrence_feedback": "confirmed",
"occurrence_sequence": 0,
"requester_profile_code": "329-09-0001-2359934",
"glados_occurrence_reasons": null,
"cnab_file_occurrence_order": 1,
"registration_institution_occurrence_date": "2022-11-21"
},
"status": "registered",
"webhook_type": "bank_slip.status_change",
"event_datetime": "2022-11-22 00:41:32"
}

Para vincular o webhook enviado a um boleto, deve-se utilizar o nosso número bancário (“our_number”) e o Código da Carteira de Cobrança (“requester_profile_code“).

Assim que o registro do boleto é aceito pela base centralizadora, é retornado no webhook a chave UUID do boleto (“bank_slip_key“). Guarde essa chave pois através dela será possível recuperar as informações do boleto.

5.4. Alterar Dados do Boleto: Para alterar os dados de um boleto, é necessário enviar uma ocorrência. Cada possível alteração possui sua ocorrência correspondente. A lista de ocorrências para alteração dos dados de um boleto pode ser verificada em nossa documentação (https://docs.qitech.com.br/documentation/emissao_de_boleto/enviar_instrucao_de_boleto).

5.5. Solicitação de 2ª via de boleto: Após o registro do boleto, pode ser solicitada a geração de um arquivo “.pdf” do boleto, contendo os dados para pagamento.

        Request

ENDPOINT
/bank_slip/2-way/[BANKSLIP-KEY]
MÉTODO
POST
Request Body

{}

Response Body
{
"bank_slip_file": [{
"barcode": "32991918600000800000001090000000000123599340",
"created_at": "2022-11-21T23:29:45",
"digitable_line": "32990001039000000000101235993407191860000080000",
"url": "https://storage.googleapis.com/sandbox-bank-slip-api/bank-slip-pdf/41927fa9-f9ed-4797-b48a-6ac68e58dc17_1.pdf"
}],

}
info

Serão retornados todos os dados do boleto e o link para download do “.pdf” será informado no objeto “bank_slip_file.url“.

5.5. Consultar dados de um Boleto: Os dados de um boleto podem ser consultados de duas formas diferentes.

        5.5.1. Consulta através da linha digitável: A linha digitável de um boleto é uma série numérica que traz em si as informações do boleto. Esta série numérica é digitada pelo usuário pagador do boleto no internet-banking do banco pagador.

info

Exemplo de linha digitável: 32990001031000000000902000000204685640000100000

Através da linha digitável, podem ser consultados os dados do boleto:

        Request

ENDPOINT
/bank_slip/payment
MÉTODO
GET
PARAMETERS
digitable_line
Response Body
{
"barcode": "32991918600000800000001090000000000123599340",
"beneficiary_bank_code": "329",
"beneficiary_document_number": "09080702000105",
"beneficiary_legal_name": "VOVO LUCIA CONVENIENCIA LTDA",
"beneficiary_person_type": "legal",
"calculated_internally": true,
"calculation_date": "2022-11-21",
"calculation_model": 1,
"digitable_line": "32990001039000000000101235993407191860000080000",
"discount_amount": "0",
"expiration_date": "2022-12-01",
"expired_as_of_payment_date": false,
"expired_as_of_today": false,
"factual_expiration_date": "2022-12-01",
"fine_amount": "0",
"guarantor_document": null,
"guarantor_name": null,
"interest_amount": "0",
"max_payment_date": "2023-05-30",
"nominal_amount": "800.00",
"payer_document_number": "41184562067",
"payer_legal_name": "Jo_o Ninguem",
"payer_person_type": "natural",
"payment_date": "2022-11-21",
"rebate_amount": "0.0",
"total_amount": "800.0",
"valid_payment_amount": true,
"valid_payment_calculation": true,
"valid_payment_time_frame": true
}

        5.5.2. Consulta através da Chave do Boleto: Assim que o registro do boleto é aceito pela base centralizadora, é retornado no webhook a chave UUID do boleto (“bank_slip_key“). Através dessa chave é possível recuperar as informações do boleto:

        Request

ENDPOINT
/bank_slip/[BANKSLIP-KEY]
MÉTODO
GET
Response Body
{
"barcode": "32991918600000800000001090000000000123599340",
"beneficiary_bank_code": "329",
"beneficiary_document_number": "09080702000105",
"beneficiary_legal_name": "VOVO LUCIA CONVENIENCIA LTDA",
"beneficiary_person_type": "legal",
"calculated_internally": true,
"calculation_date": "2022-11-21",
"calculation_model": 1,
"digitable_line": "32990001039000000000101235993407191860000080000",
"discount_amount": "0",
"expiration_date": "2022-12-01",
"expired_as_of_payment_date": false,
"expired_as_of_today": false,
"factual_expiration_date": "2022-12-01",
"fine_amount": "0",
"guarantor_document": null,
"guarantor_name": null,
"interest_amount": "0",
"max_payment_date": "2023-05-30",
"nominal_amount": "800.00",
"payer_document_number": "41184562067",
"payer_legal_name": "Jo_o Ninguem",
"payer_person_type": "natural",
"payment_date": "2022-11-21",
"rebate_amount": "0.0",
"total_amount": "800.0",
"valid_payment_amount": true,
"valid_payment_calculation": true,
"valid_payment_time_frame": true
}

5.6. Notificação de aviso de recebimento de um Boleto: No momento em que um boleto é pago em outro banco, é enviado um aviso de que este boleto foi pago em tempo real. A Liquidação financeira do pagamento ocorrerá no próximo dia útil.

        Webhook

WEBHOOK_TYPE
bank_slip.status_change
STATUS
payment_notice
Body
{
"key": "945e191d-1a78-4a28-8669-000b7e4a3522",
"data": {
"our_number": 1,
"paid_amount": 800,
"payment_bank": 341,
"bank_slip_key": "41927fa9-f9ed-4797-b48a-6ac68e58dc17",
"payment_method": 2,
"payment_origin": 3,
"occurrence_type": "payment_notice",
"occurrence_feedback": "confirmed",
"occurrence_sequence": 0,
"requester_profile_code": "329-09-0001-2359934",
"registration_institution": "qi_scd",
"cnab_file_occurrence_order": 1,
"registration_institution_occurrence_date": "2022-11-02"
},
"status": "payment_notice",
"webhook_type": "bank_slip.status_change",
"event_datetime": "2022-11-21 23:02:02"
}
info

payment_method:“ é o meio de pagamento do boleto, podendo ser:

credit_card”: cartão de crédito

cash”: dinheiro

account_debit”: débito em conta

check”: cheque

info

payment_origin: é a origem do local do pagamento do boleto, podendo ser:

internet”: Internet Banking

phisical_cashier”: Caixa do Banco (“boca do caixa”)

taa”: Terminal de auto-atendimento

eletronic_file”: CNAB de liquidação

call_center”: Call Center

dda”: DDA (Débito Direto Autorizado)

corban”: Lotérica - Correspondente Bancário

Atenção

A informação de Método de Pagamento (“payment_method“) e Origem do Pagamento (“payment_origin“), são dados informados no momento do pagamento do boleto, sua consistência e veracidade fica a cargo da instituição que processou tal pagamento.


6 - Gerar QR Code PIX

6.1. Gerando QR Code PIX Estático: O QR Code é criado a partir de uma Chave PIX ativa cadastrada em uma conta. Após a geração do QR Code, serão retornados tanto a URI do PIX Copia e Cola vinculada ao QR Code, como também o base64 da imagem do QR Code (caso solicitado). A imagem do QR Code pode ser gerada pelo próprio parceiro a partir da URI do PIX Copia e Cola.

Para gerar um QR Code PIX Estático será usada apenas uma requisição:

        Request

ENDPOINT
/baas/qrcode/static
MÉTODO
POST
Request Body
{
"pix_key": "0598e5d1-2cfc-4857-abf8-12d495aa0a6d",
"amount": 35.00,
"receiver_name": "Tywin Lannister",
"qr_code_format": "both"
}
info

No campo qr_code_format poderá ser informado os valores “image”, “payload“ e “both”.

image”: será retornado o campo com o base64 da imagem do QR Code PIX.

payload”: será retornado o campo com o base64 da URI do PIX Copia e Cola do QR Code PIX.

both”: serão retornados os dois campos.

        Response

ENDPOINT
/baas/qrcode/static
MÉTODO
POST
Response Body
{
"external_reference_key": null,
"image": "\<BASE 64 DA IMAGEM DO QR CODE PIX\>",
"payload": "\<BASE 64 DA URI DO QR CODE PIX\>",
"revision": null
}

6.2. Gerando QR Code PIX Dinâmico: Existem dois tipos de QR Code Dinâmico. O QR Code Dinâmico com Pagamento Instantâneo e o QR Code Dinâmico com Vencimento.

        6.2.1. Gerando QR Code PIX Dinâmico com Vencimento: É um tipo de QR Code PIX que funciona de forma muito semelhante a um boleto bancário, podendo possuir informação de vencimento, multa, juros por atraso e desconto por pagamento antecipado. Para gerar ester tipo de QR Code PIX é necessário apenas uma requisição no Endpoint “/baas/qrcode/dynamic“.

        Request

ENDPOINT
/baas/qrcode/dynamic
MÉTODO
POST
Request Body
{
"amount": 100,
"qr_code_type": "dynamic_term",
"occurrence_type": "registration",
"max_payment_days": 180,
"expiration_date": "2025-09-24",
"pix_key": "0598e5d1-2cfc-4857-abf8-12d495aa0a6d",
"payer_name": "QI Tech",
"payer_document_number": "98765432100",
"payer_person_type": "natural",
"payer_request": "O que voce achou da experiencia",
"rebate_amount": 0,
"interest_amount": 1,
"fine_amount": 2,
"discounts": [{
"limit_date": "2023-02-24",
"amount": 20,
"discount_type": "absolute"
}],
"additional_data": [{
"\<tag_name\>": "\<tag_value\>"
}]
}
info

occurrence_type: neste campo é informada a ação pretendida. Podem ser: registration, edit, write_off

registration: Para criar um novo QR Code

edit: Para editar um QR Code já existente (Conforme descrito no item abaixo).

write_off: para baixar um QR Code ativo.

interest_amount: valor em reais (R$) de juros cobrados por dia de atraso.

fine_amount: valor da multa por atraso, em reais (R$).

discounts: informação do desconto por pagamento antecipado. Caso não seja aplicável, enviar uma lista vazia ([]).

additional_data: são metatags customizáveis que podem ser apresentadas para o pagador no momento do pagamento. Seguem o seguinte padrão: ”<tag_name>”: “<tag_value >“.

tag_name: possui uma limitação de 100 caracteres e tag_value possui uma limitação de 320 caracteres.

        Response

ENDPOINT
/baas/qrcode/dynamic
MÉTODO
POST
Response Body
{
"qr_code_type": "dynamic_term",
"amount": 100,
"expiration_seconds": null,
"max_payment_days": 180,
"receiver_conciliation_id": "3bd19ada234141bf9f1fc5ce0b216723",
"payer_name": "QI Tech",
"payer_document_number": "98765432100",
"payer_person_type": "natural",
"payer_request": "O que voce achou da experiencia",
"pix_message": null,
"modality_alteration": false,
"expiration_date": "2025-09-24",
"rebate_amount": 10,
"interest_amount": 10,
"fine_amount": 10,
"paid_amount": null,
"discounts": [{
"discount_type": "absolute",
"limit_date": "2023-02-24",
"amount": 20
}],
"additional_data": [{
"\<tag_name\>": "\<tag_value\>"
}],
"origin": "system",
"origin_key": null,
"pix_key": "0598e5d1-2cfc-4857-abf8-12d495aa0a6d",
"qr_code_key": "3bd19ada-2341-41bf-9f1f-c5ce0b216723",
"occurrence_type": "registration",
"end_to_end_id": null,
"base_64": "\<BASE 64 DA URI DO QR CODE PIX\>",
"image": "\<BASE 64 DA IMAGEM DO QR CODE PIX\>",
"source_account_branch": null,
"source_account_financial_institution": null,
"source_account_ispb": null,
"source_account_number": null,
"source_account_digit": null,
"qr_code_occurrence_key": "b6777e78-e00c-4e9f-9b44-aa7b551c11e4"
}

O campo “base_64“ é a URI do PIX Copia e Cola vinculado a este QR Code PIX Dinâmico.

        6.2.2. Gerando QR Code PIX Dinâmico com Pagamento Instantâneo: É um tipo de QR Code PIX semelhante ao Estático, porém facilita a conciliação por parte do recebedor do pagamento e pode ter vencimento intradia (podendo durar apenas 5 minutos, por exemplo). Para gerar este tipo de QR Code PIX é necessário apenas uma requisição no Endpoint “/baas/qrcode/dynamic”.

        Request

ENDPOINT
/baas/qrcode/dynamic
MÉTODO
POST
Request Body
{
"amount": 100,
"occurrence_type": "registration",
"qr_code_type": "dynamic_instant",
"pix_key": "0598e5d1-2cfc-4857-abf8-12d495aa0a6d",
"expiration_seconds": 360,
"payer_name": "QI Tech",
"payer_document_number": "98765432100",
"payer_person_type": "natural",
"payer_request": "Valor referente a compra 1234",
"additional_data": [{
"\<tag_name\>": "\<tag_value\>"
}]
}

        Response

ENDPOINT
/baas/qrcode/dynamic
MÉTODO
POST
Response Body
{
"qr_code_type": "dynamic_instant",
"amount": 100,
"expiration_seconds": 360,
"max_payment_days": null,
"receiver_conciliation_id": "8e5af204fa5844eca9707c4facc5e5f5",
"payer_name": "QI Tech",
"payer_document_number": "98765432100",
"payer_person_type": "natural",
"payer_request": "Valor referente a compra 1234",
"pix_message": null,
"modality_alteration": false,
"expiration_date": null,
"rebate_amount": null,
"interest_amount": null,
"fine_amount": null,
"paid_amount": null,
"discounts": [],
"additional_data": [{
"\<tag_name\>": "\<tag_value\>"
}],
"origin": "system",
"origin_key": null,
"pix_key": "0598e5d1-2cfc-4857-abf8-12d495aa0a6d",
"qr_code_key": "8e5af204-fa58-44ec-a970-7c4facc5e5f5",
"occurrence_type": "registration",
"end_to_end_id": null,
"base_64": "\<BASE 64 DA URI DO QR CODE PIX\>",
"image": "\<BASE 64 DA IMAGEM DO QR CODE PIX\>",
"source_account_branch": null,
"source_account_financial_institution": null,
"source_account_ispb": null,
"source_account_number": null,
"source_account_digit": null,
"qr_code_occurrence_key": "838e4bd3-36c9-4aa8-9be8-04079bbe8d1a"
}

        6.2.3 Editar dados de QR Code PIX Dinâmico: Para editar os dados de um QR Code PIX Dinâmico, é necessário informar a “qr_code_key“ do QR Code PIX e “occurrence_type” igual a “edit”. Nesse caso, é preciso reenviar todos os dados novamente.

        Request

ENDPOINT
/baas/qrcode/dynamic
MÉTODO
POST
Request Body
{
"qr_code_key": "3bd19ada-2341-41bf-9f1f-c5ce0b216723",
"amount": 200,
"qr_code_type": "dynamic_term",
"occurrence_type": "edit",
"max_payment_days": 180,
"expiration_date": "2025-09-24",
"pix_key": "0598e5d1-2cfc-4857-abf8-12d495aa0a6d",
"payer_name": "QI Tech",
"payer_document_number": "98765432100",
"payer_person_type": "natural",
"payer_request": "O que voce achou da experiencia",
"rebate_amount": 0,
"interest_amount": 1,
"fine_amount": 2,
"discounts": [{
"limit_date": "2023-02-24",
"amount": 20,
"discount_type": "absolute"
}],
"additional_data": [{
"\<tag_name\>": "\<tag_value\>"
}]
}

        Response

ENDPOINT
/baas/qrcode/dynamic
MÉTODO
POST
Response Body
{
"qr_code_type": "dynamic_term",
"amount": 200,
"expiration_seconds": null,
"max_payment_days": 180,
"receiver_conciliation_id": "3bd19ada234141bf9f1fc5ce0b216723",
"payer_name": "QI Tech",
"payer_document_number": "98765432100",
"payer_person_type": "natural",
"payer_request": "O que voce achou da experiencia",
"pix_message": null,
"modality_alteration": false,
"expiration_date": "2025-09-24",
"rebate_amount": 10,
"interest_amount": 10,
"fine_amount": 10,
"paid_amount": null,
"discounts": [{
"discount_type": "absolute",
"limit_date": "2023-02-24",
"amount": 20
}],
"additional_data": [{
"\<tag_name\>": "\<tag_value\>"
}],
"origin": "system",
"origin_key": null,
"pix_key": "0598e5d1-2cfc-4857-abf8-12d495aa0a6d",
"qr_code_key": "3bd19ada-2341-41bf-9f1f-c5ce0b216723",
"occurrence_type": "edit",
"end_to_end_id": null,
"base_64": "\<BASE 64 DA URI DO QR CODE PIX\>",
"image": "\<BASE 64 DA IMAGEM QR CODE PIX\>",
"source_account_branch": null,
"source_account_financial_institution": null,
"source_account_ispb": null,
"source_account_number": null,
"source_account_digit": null,
"qr_code_occurrence_key": "d9c01f70-26bc-429d-afd1-038bd3c235b2"
}

6.3. Excluir QR Code PIX Dinâmico: Para baixar um QR Code PIX Dinâmico, é necessário informar a “qr_code_key“ do QR Code PIX e “occurrence_type” igual a “write_off”.

        Request

ENDPOINT
/baas/qrcode/dynamic
MÉTODO
POST
Request Body

{
"qr_code_key": "3bd19ada-2341-41bf-9f1f-c5ce0b216723",
"occurrence_type": "write_off"
}

        Response

ENDPOINT
/baas/qrcode/dynamic
MÉTODO
POST
Response Body

{
"qr_code_type": "dynamic_term",
"amount": null,
"expiration_seconds": 86400,
"max_payment_days": null,
"receiver_conciliation_id": "3bd19ada234141bf9f1fc5ce0b216723",
"payer_name": null,
"payer_document_number": null,
"payer_person_type": "natural",
"payer_request": null,
"pix_message": null,
"modality_alteration": false,
"expiration_date": null,
"rebate_amount": null,
"interest_amount": null,
"fine_amount": null,
"paid_amount": null,
"discounts": [],
"additional_data": [],
"origin": "system",
"origin_key": null,
"pix_key": "0598e5d1-2cfc-4857-abf8-12d495aa0a6d",
"qr_code_key": "3bd19ada-2341-41bf-9f1f-c5ce0b216723",
"occurrence_type": "write_off",
"end_to_end_id": null,
"base_64": null,
"image": null,
"source_account_branch": null,
"source_account_financial_institution": null,
"source_account_ispb": null,
"source_account_number": null,
"source_account_digit": null,
"qr_code_occurrence_key": "46001adf-ffe2-4534-b60e-f6c16b9af56e"
}

6.4. Decodificando QR Code PIX: Para decodificar um QR Code seja ele dinâmico ou estático, deve ser usado o seguinte endpoint:

        Request

ENDPOINT
/baas/pix/qrcode
MÉTODO
POST
Request Body

{
"qr_code_payload": "\<URI DO PIX COPIA E COLA\>"
}

info

Neste endpoint deve ser informada a URI do Pix Copia e Cola (link do Pix Copia e Cola).


7 - Gerenciar Chaves PIX

info

A “pix_key” pode ser um CPF, CNPJ, E-mail, Celular ou uma Chave Aleatória (UUID), seguindo as seguintes formatações:

CPF: Número inteiro com 11 dígitos.

CNPJ: Número inteiro com 14 dígitos.

E-mail: Texto contendo ao menos um “@”.

Celular: Texto contendo os seguintes valores: “+55” + “[DDD do celular]“ + “<Número Inteiro do Celular com no mínimo 8 e no máximo 9 dígitos\>”. Ex: “+5511987654321“.

Chave Aleatória: UUID.

        7.1. Criar Chave PIX CNPJ e Aleatória: Para criar uma chave PIX CNPJ ou Chave Aleatória, basta acionar o endpoint “/baas/pix/keys“, alterando apenas o “pix_key_type“ para “cnpj”, “cpf“ ou “random_key”.

        Request

ENDPOINT
/baas/pix/keys
MÉTODO
POST
Request Body

{
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"pix_key_type": "random_key"
}

ou

Request Body
{
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"pix_key_type": "cnpj",
"pix_key": "09080702000105"
}

ou

payload.json

{
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"pix_key_type": "cpf",
"pix_key": "03882617038"
}

        Response

ENDPOINT
/baas/pix/keys
MÉTODO
POST
Response Body
{
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"created_at": "2022-09-02T18:20:52",
"pix_key": {
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"created_at": "2022-09-02T18:20:51",
"pix_key": "09080702000105",
"pix_key_status": "pending_confirmation",
"pix_key_type": "cnpj",
"updated_at": "2022-09-02T18:20:51"
},
"pix_key_request_key": "d60abf67-ad9c-42ee-9089-d26c8fc855b9",
"request_data": {
"account_created_at": "2022-09-02T22:44:36",
"account_digit": "2",
"account_number": "2359934",
"account_type": "checking",
"branch_number": "0001",
"key": "09080702000105",
"owner_document_number": "09080702000105",
"owner_name": "VOVO LUCIA CONVENIENCIA LTDA",
"owner_person_type": "legal",
"trading_name": "VOVO LUCIA"
},
"request_failure_reason": null,
"request_status": "pending",
"request_type": "inclusion",
"requester_key": "ef48fbe4-267b-45c1-9049-75345c075486",
"updated_at": "2022-09-02T18:20:52"
}
Atenção

No caso da Response de criação de uma Chave PIX Aleatória, o campo “pix_key“ retornará um valor nulo, já que se trata de um processo assíncrono onde a chave é gerada pelo Banco Central. Para recuperar o valor da chave aleatória gerada, é necessária realizar uma consulta à lista de chaves cadastradas em uma conta, conforme descrito no item “Consultar Chaves PIX cadastradas em uma conta, ou aguardar o webhook de inclusão.“.

info

Como se trata de um processo assíncrono para verificar se as chave PIX CNPJ ou CPF estão ativas, é necessário realizar uma consulta à lista de chaves cadastradas em um conta, conforme descrito no item “Consultar Chaves PIX cadastradas em uma conta", ou aguardar o webhook de inclusão.

Webhook

  • WEBHOOK_TYPE
    key_inclusion
Response Body
{
"pix_key": "c232142c-ddbf-41d6-a54f-3b90c28b97dc",
"account_key": "94945886-7a6f-43e6-a307-e36c959e4903",
"webhook_type": "key_inclusion",
"pix_key_status": "active",
"pix_key_request_key": "e274eb13-40b3-4902-978e-8e5fa267af53",
"pix_key_request_type": "inclusion",
"pix_key_request_status": "approved"
}

7.2. Criar Chave PIX E-mail e Celular: Para criar uma chave PIX E-mail ou Celular deve-se acionar dois endpoints:

1 - Para criação da chave: POST no endpoint “/baas/pix/keys“, alterando o campo “pix_key_type“ para “email” ou “phone_number”. Neste momento, será enviado um Token para o E-mail ou Celular informado no campo “pix_key“.

2 - Para aprovação da chave: PATCH no endpoint “/baas/pix/keys/[pix_key_request_key]“, informando o Token recebido na etapa anterior.

        Request

ENDPOINT
/baas/pix/keys
MÉTODO
POST
Request Body
{
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"pix_key_type": "email",
"pix_key": "vovo.lucia@gmail.com.br"
}

ou

Request Body
{
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"pix_key_type": "phone_number",
"pix_key": "+5511987654321"
}

        Response

ENDPOINT
/baas/pix/keys
MÉTODO
POST
Response Body
{
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"created_at": "2022-09-02T17:41:55",
"pix_key": {
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"created_at": "2022-09-02T17:41:54",
"pix_key": "pedro.pinho@qitech.com.br",
"pix_key_status": "pending_confirmation",
"pix_key_type": "email",
"updated_at": "2022-09-02T17:41:54"
},
"pix_key_request_key": "f6209b7e-82da-44a8-9cfa-6ad0a689adb2",
"request_data": {
"account_created_at": "2022-09-02T22:44:36",
"account_digit": "2",
"account_number": "2359934",
"account_type": "checking",
"branch_number": "0001",
"key": "pedro.pinho@qitech.com.br",
"owner_document_number": "09080702000105",
"owner_name": "VOVO LUCIA CONVENIENCIA LTDA",
"owner_person_type": "legal",
"trading_name": "VOVO LUCIA"
},
"request_failure_reason": null,
"request_status": "pending",
"request_type": "inclusion",
"requester_key": "ef48fbe4-267b-45c1-9049-75345c075486",
"updated_at": "2022-09-02T17:41:55"
}
info

IMPORTANTE: O valor retornado no campo “pix_key_request_key“ deve ser utilizado na URL da requisição para aprovação da criação da Chave PIX.

7.3. Aprovação da Chave PIX E-mail ou Celular solicitada:

        Request

ENDPOINT
/baas/pix/keys/PIX_KEY_REQUEST_KEY/twofa_validation
MÉTODO
PATCH
Request Body
{
"verification_code": "756816"
}

7.4. Reenviar o código de verificação:

        Request

  • MÉTODO
    PATCH
  • ENDPOINT
    /baas/pix/keys/PIX_KEY_REQUEST_KEY/resend_twofa
payload.json
{}

7.5. Consultar Chaves PIX cadastradas em uma conta:

        Request

ENDPOINT
/baas/pix/keys
MÉTODO
GET
PARAMETERS
account_key
Response Body
{
"data": [
{
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"created_at": "2022-09-02T17:17:31",
"pix_key": "0598e5d1-2cfc-4857-abf8-12d495aa0a6d",
"pix_key_status": "active",
"pix_key_type": "random_key",
"updated_at": "2022-09-02T17:17:31"
},
{
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"created_at": "2022-09-02T18:20:51",
"pix_key": "09080702000105",
"pix_key_status": "active",
"pix_key_type": "cnpj",
"updated_at": "2022-09-02T18:20:51"
}
]
}

7.6. Exclusão de Chaves PIX:

        Request

ENDPOINT
/baas/pix/keys
MÉTODO
DELETE
PARAMETERS
/baas/pix/keys/[PIX-KEY]

Payload:

Response Body

Response:


{
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"created_at": "2022-09-02T20:00:36",
"pix_key": {
"account_key": "6d30a0b1-cb90-4ceb-b1ea-5bd600cdf3c8",
"created_at": "2022-09-02T18:20:51",
"pix_key": "09080702000105",
"pix_key_status": "inactivated",
"pix_key_type": "cnpj",
"updated_at": "2022-09-02T20:00:36"
},
"pix_key_request_key": "dced4317-c1e7-4da4-a75a-42f855c7598e",
"request_data": {},
"request_failure_reason": null,
"request_status": "approved",
"request_type": "deletion",
"requester_key": "ef48fbe4-267b-45c1-9049-75345c075486",
"updated_at": "2022-09-02T20:00:36"
}

8 - Pagamento QR Code PIX

8.1. Pagando um QR Code PIX Estático:

Para realizar o pagamento de um QR Code PIX Estático, é necessário realizar três chamadas:

Decodificar o QR Code PIX: /baas/pix/qrcode

Criação do pedido de transferência: /baas/pix_transfer

Aprovação da transferência: /baas/pix_transfer_approval

A informação que deve ser utilizada para decodificação do QR Code PIX Estático é a URI do PIX Copia e Cola vinculada ao QR Code.

info

Exemplo de URI PIX Copia e Cola: 00020126580014br.gov.bcb.pix01360598e5d1-2cfc-4857-abf8-12d495aa0a6d52040000530398654040.225802BR5925VOVO LUCIA CONVENIENCIA L6009sao paulo610912345-78062070503***63043A5A

        Request

ENDPOINT
/baas/pix/qrcode
MÉTODO
POST
Request Body

{
"qr_code_payload": "\<URI DO PIX COPIA E COLA\>"
}

        Response

ENDPOINT
/baas/pix/qrcode
MÉTODO
POST
Response Body
{
"end_to_end_id": "E3240250220221120030008388062101",
"qr_code_data": {
"additional_data": null,
"amount": 30,
"ispb_number": "32402502",
"receiver_conciliation_id": "***",
"target_account_branch": "0001",
"target_account_digit": "5",
"target_account_number": "2",
"target_account_type": "checking",
"target_bank_code": 329,
"target_bank_name": "QI SOCIEDADE DE CRÉDITO DIRETO S.A.",
"target_document_number": "32402502000135",
"target_name": "QI SOCIEDADE DE CREDITO DIRETO S.A.",
"target_person_type": "legal",
"target_pix_key": "316bd44f-2202-4c33-9dc0-096192acd427"
},
"qr_code_key": "1608e022-e42d-49d8-bacf-da5844570635",
"qr_code_payload": "00020126580014br.gov.bcb.pix0136316bd44f-2202-4c33-9dc0-096192acd427520400005303986540530.005802BR5925QI SOCIEDADE DE CREDITO D6009sao paulo610912345-78062070503***63048698",
"qr_code_type": "static"
}
Atenção

A requisição para pagar um PIX QR Code Estático é a mesma utilizada na transferência PIX com a as seguintes alterações:

1 - Adição de um novo campo “end_to_end_id”. Deve ser informado o mesmo valor retornado da decodificação do QR Code Estático; 2 - Informar no campo “transaction_amount“ o mesmo valor retornado no campo “qr_code_data.amount” da decodificação do QR Code Estático; 3 - Alterar o campo “pix_transfer_type” para “static“, para solicitação do pagamento via “/baas/pix_trasnfer”.

info

A única diferença desta Response em relação a Response de Aprovação de Transferência PIX, é o valor do campo “pix_transfer_type“, que é retornado como sendo “static”.

8.2. Pagando um QR Code PIX Dinâmico:

Para realizar o pagamento de um QR Code PIX Dinâmico, é necessário realizar três chamadas:

Decodificar o QR Code PIX: /baas/pix/qrcode

Criação do pedido de transferência: /baas/pix_transfer

Aprovação da transferência: /baas/pix_transfer_approval

A informação que deve ser utilizada para decodificação do QR Code PIX Dinâmico é a URI do PIX Copia e Cola vinculada ao QR Code.

info

A única alteração no “/baas/pix/qrcode“ entre é QR Code PIX Estático e o QR Code PIX Dinâmico, é a resposta do endpoint.

        Response

ENDPOINT
baas/pix/qrcode
MÉTODO
POST
Response Body
{
"end_to_end_id": "E3240250220221120162904592385040",
"qr_code_data": {
"account_type": "checking",
"additional_data": [],
"address": "Avenida Brigadeiro Faria Lima",
"amount": 35,
"category_code": "0000",
"city": "Sao Paulo",
"created_at": "2022-09-01T20:20:11",
"days_after_due_accepted": 180,
"discount_amount": null,
"due_date": "2022-11-30",
"fee_amount": null,
"fine_amount": null,
"ispb_number": "32402502",
"original_amount": null,
"payer_document_number": "10932327656",
"payer_name": "Payer Name",
"payer_person_type": "natural",
"postal_code": "01452000",
"presented_at": "2022-09-01T16:29:04",
"question_to_payer": "QR Code Payment",
"receiver_conciliation_id": "a6c3f35b342047e58ac105a0ae0c0c6f",
"receiver_url": null,
"reduction_amount": null,
"reusable_qrcode": "yes",
"revision": 1,
"state": "SP",
"status": "active",
"target_account_branch": "0001",
"target_account_digit": "5",
"target_account_number": "2",
"target_bank_code": 329,
"target_bank_name": "QI SOCIEDADE DE CRÉDITO DIRETO S.A.",
"target_document_number": "32402502000135",
"target_name": "QI SOCIEDADE DE CREDITO DIRETO S.A.",
"target_person_type": "legal",
"target_pix_key": "316bd44f-2202-4c33-9dc0-096192acd427",
"target_trading_name": null
},
"qr_code_key": "a1bcf9be-918d-431e-ae79-a75f78337423",
"qr_code_payload": "00020126970014br.gov.bcb.pix2575qrcode-h.sandbox.qitech.app/bacen/cobv/a6c3f35b-3420-47e5-8ac1-05a0ae0c0c6f5204000053039865802BR5902QI6009Sao Paulo61080145200062070503***6304AFEE",
"qr_code_type": "dynamic_term"
}

Atenção

A requisição para pagar um PIX QR Code Dinâmico é a mesma utilizada na transferência PIX com a as seguintes alterações:

1 - Adição de um novo campo “end_to_end_id”. Deve ser informado o mesmo valor retornado da decodificação do QR Code Dinâmico. 2 -Informar no campo “transaction_amount“ o mesmo valor retornado no campo “qr_code_data.amount” da decodificação do QR Code Dinâmico; 3 - Alterar o campo “pix_transfer_type” para “dynamic_term“, para solicitação do pagamento via “/baas/pix_transfer”. 4 - Adição de um novo campo “receiver_conciliation_id”. Deve ser informado o mesmo valor retornado da decodificação do QR Code Dinâmico.

info

A única diferença desta Response em relação a Response de Aprovação de Transferência PIX, é o valor do campo “pix_transfer_type“, que é retornado como sendo “dynamic_term”.