跳到主要内容

Manual BaaS - 服务

注意!

QI Tech 的 Webhook 不应进行严格映射。 我们 API 返回的 Webhook 载荷中可能会包含额外字段。

Webhook 重发

您可以按照文档中的详细说明查询和重发 Webhook:重发 Webhook

注意

在开始开户流程之前,合作伙伴有责任进行 KYC 分析和欺诈预防。

为此,应使用 /onboarding 中描述的分析接口。

1 - 创建账户

1.1. 文件上传: 在开户之前,必须先上传公司文件。以下是各类型公司所需的文件清单:

对于股份公司(S.A.):

  • 公司章程。

  • 公司法定代表人选举会议记录。

  • 授权书(如适用)。

  • 每位法定代表人或受托人的带照片证件。

对于其他情况:

  • 社会合同。

  • 授权书(如适用)。

  • 每位法定代表人或受托人的带照片证件。

文件须压缩为".zip"文件,并通过文件上传接口发送。

        响应

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"
}
信息

重要提示: 请保存此 "document_key",因为在创建账户阶段将会用到它。

1.2.1. 创建企业账户(PJ):

        请求

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":公司数据须在此对象中发送。

"account_owner.company_statute":上传公司社会文件".zip"时,文件上传接口返回的 "document_key" 须在此字段中发送。

"account_owner.company_representatives":公司法定代表人数据列表须在此对象中发送。至少须发送能够依据各自章程/社会合同合法代表公司的法定代表人。每位法定代表人权限的核验由合作伙伴负责。

"account_owner.company_representatives.document_identification":上传代表人带照片证件".zip"时,文件上传接口返回的 "document_key" 须在此字段中发送。

        响应

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"
}
信息

重要提示: 此响应中返回的 "key" 是开户申请的 PROPOSAL-KEY。需保存以用于读取开户 Webhook。

开户请求的响应始终返回状态 "pending_kyc_analysis"。 系统将为该客户预留一个账号,但该账户仍待 QI Tech 进行 KYC 分析。此时,账户尚未开通,无法收发资金。

1.2.2. 创建个人账户(PF):

        请求

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":账户个人持有人数据须在此对象中发送。

"account_owner.document_identification":文件上传接口返回的 "document_key"。

        1.2.2.1. 身份证件发送方式: 在开立个人账户时,可发送两种类型的证件(document_identification_type):cnh 或 rg。 身份证件可以".pdf"、".png"和".jpeg"格式发送。

           &nbsp1.2.2.1.1. 发送 CNH 类型身份证件:

如证件分两个文件发送,正面和背面分别为一个文件,则须在 /account(1.2.2.) 接口的 account_owner 对象中填写以下字段:

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

如证件合并为 1 个文件,同时包含正面和背面(证件照片或数字驾照),则须在 /account 接口 (1.2.2.)account_owner 对象中填写以下字段:

"document_identification": "<DOCUMENT-KEY DA FRENTE DO DOCUMENTO>", "document_identification_type": "cnh",            &nbsp1.2.2.1.2. 发送 RG 类型身份证件: 对于 RG 类型证件,必须始终发送 2 个文件,一个包含证件正面,另一个包含证件背面。此情况下须在 /account 接口 (1.2.2.)account_owner 对象中填写以下字段:

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

        响应

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"
}
信息

重要提示: 此响应中返回的 "key" 是开户申请的 PROPOSAL-KEY。需保存以用于读取开户 Webhook。

开户请求的响应始终返回状态 "pending_kyc_analysis"。 系统将为该客户预留一个账号,但该账户仍待 QI Tech 进行 KYC 分析。此时,账户尚未开通,无法收发资金。

信息

在沙箱环境中,可使用账户 owner 的 CPF/CNPJ 第一位数字模拟审批、拒绝和人工审核场景:

  • 0 至 7 -> 自动审批

  • 8 -> 自动拒绝

  • 9 -> 人工审核

1.2.3. QI Tech 完成 KYC/PLD 分析后,将发送开户 Webhook,如下所示:

        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"
}
信息

此时将返回账户的 "account_key",账户即可投入使用。

1.2.4. 如账户未通过 KYC/PLD 流程,将发送账户拒绝 Webhook:

        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. 获取账户数据:

        请求

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
}
}
信息

账户数据查询响应中最相关的字段为: account_branchaccount_digitaccount_keyaccount_numberbalanceowner_document_numberowner_nameowner_person_key


2 - PIX 转账

2.1. 发起 PIX 转账: 要发起 PIX 转账,需要进行三次调用:

  1. 创建转账请求:/baas/pix_transfer

  2. 审批转账:/baas/pix_transfer_approval

信息

PIX 转账可使用两种不同的载荷发起:PIX 密钥银行账户数据

2.2. 使用 PIX 密钥进行转账(CPF、CNPJ、邮箱、手机号或随机密钥):

        请求

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"
}
信息

"pix_key" 可以是 CPFCNPJ邮箱手机号随机密钥(UUID),格式如下:

CPF: 11 位整数。

CNPJ: 14 位整数。

邮箱: 包含至少一个"@"的文本。

手机号: 包含以下值的文本:"+55" + "[手机区号]" + "[最少 8 位、最多 9 位的手机号整数]"。例如:"+5511987654321"。

随机密钥: UUID。

2.3. 使用银行账户数据进行转账(手动 PIX):

        请求

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
}

使用手动 PIX 时,需要提供目标机构的 ISPB。之所以使用此数据,是因为存在可接收 PIX 但没有银行代码的支付机构。ISPB 是该机构 CNPJ 的基础部分。要获取每个参与 PIX 机构的完整 ISPB 列表,可使用我们文档中的查询接口:/documentation/lista_de_instituicoes_financeiras/consulta_de_instituicoes_financeiras

        响应

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"
}
信息

PIX 转账/支付请求的可能状态:

pending_approval: 转账待请求方审批

sent: 转账已发送

要审批 PIX 转账,需要使用转账请求(/baas/pix_transfer)中返回的 "pix_transfer_key":

        请求

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

        响应

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

如返回 http error 422不得重试 PIX 请求。需通过 GET 请求 /baas/pix/pix_transfer 路由来检查 PIX 转账请求的状态。


3 - 交易明细、凭证与对账单

3.1. 交易明细:

每笔交易都将发送一个 "account_transaction" Webhook。

每笔交易都有一个分类类型(Source Sub Type)。该分类用于对账户中的每笔交易进行归类。Source Sub Type 列表可在本手册的附录 I 中查看。

3.1.1. 账户入账将生成一个 "data.amount" 为正数的 Webhook,其中 "data.origin" 为资金来源账户,"data.destination" 为资金目标账户:

        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: 其他交易

{
"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. 账户扣款将生成一个 "data.amount" 为负数的 Webhook,其中 "data.origin" 为资金目标账户,"data.destination" 为资金来源账户:

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

source_sub_type 列表:

枚举值描述
operation_disbursement操作放款
protest_expense抗议费用
automatic_integrated_payment自动集成支付
tax税费
electronic_funds_feeTED 手续费
credit_operation_fee信贷开立手续费
internal_funds_transfer内部转账
incoming_funds_transfer入账转账
outgoing_funds_transferTED
deposit存款
withdrawal转账
withdrawal_reversal转账冲销
trade_funds_transfer让渡支付转账
settlement_funds_transfer清算转账
bank_slip_fee票据手续费
bank_slip_settlement票据清算
outgoing_funds_transfer_reversalTED 冲销
incoming_funds_transfer_refusal转账拒绝
electronic_funds_fee_reversalTED 手续费冲销
monthly_account_fee_reversal账户维护费冲销
bank_slip_fee_reversal票据手续费冲销
correspondent_bank_transfer银行代理转账
credit_analysis_fee信用分析手续费
credit_operation_fee_reversal信贷开立手续费冲销
financial_investments_income金融投资收益
bank_slip_settlement_reversal票据清算冲销
bank_slip_settlement_expense_reversal票据清算手续费冲销
bank_slip_settlement_incoming_reversal票据清算入账冲销
correspondent_bank_transfer_reversal银行代理转账冲销
credit_analysis_fee_reversal信用分析手续费冲销
doc_expense_reversalDOC 手续费冲销
incoming_doc_reversalDOC 入账冲销
operation_disbursement_reversal操作放款冲销
operation_settling_reversal操作还款冲销
outgoing_doc_reversalDOC 出账冲销
rebate_reversal折扣冲销
settlement_funds_transfer_reversal清算转账冲销
tax_reversal税费冲销
trade_funds_transfer_reversal让渡支付转账冲销
bank_slip_permanency_fee票据留存手续费
bank_slip_cancel_protest_fee票据留存手续费
bank_slip_protest_fee抗议申请手续费
bank_slip_notary_office_fee抗议公证费
bank_slip_registration_fee票据登记手续费
bank_slip_extension_fee票据延期手续费
bank_slip_rebate_fee票据折扣手续费
bank_slip_discount_fee票据优惠手续费
bank_slip_settlement_fee票据清算手续费
bank_slip_write_off_term_fee票据到期注销手续费
bank_slip_write_off_fee票据注销手续费
bank_slip_cancel_protest_write_off_fee暂停抗议并注销手续费
bank_slip_notary_office_settlement_fee公证清算手续费
rebate_tax_free代收代付转账
rebate_tax_free_reversal代收代付转账冲销
incoming_funds_transfer_reversal内部转账冲销
bank_slip_payment票据支付
bank_slip_payment_reversal票据支付冲销
warranty_analysis_fee担保分析手续费
bank_slip_settlement_deposit票据清算
bank_slip_payment_withdrawal票据支付
account_setup_fee开户手续费
account_setup_fee_reversal开户手续费冲销
bank_slip_payment_withdrawal_reversal票据支付冲销
incoming_anticipation_of_receivable-
incoming_credit_card_settlement信用卡清算
incoming_debit_card_settlement借记卡清算
assignment_automatic_transfer自动让渡扣款
assignment_automatic_transfer_reversal自动让渡扣款冲销
pix_feePIX 手续费
incoming_pix_transferPIX 入账
outgoing_pix_transferPIX 出账
pix_fee_reversalPIX 手续费冲销
incoming_pix_transfer_reversalPIX 入账冲销
outgoing_pix_transfer_reversalPIX 出账冲销
pix_depositPIX 存款
pix_withdrawalPIX 转账
pix_withdrawal_reversalPIX 转账冲销
pix_chargeback_withdrawalPIX 退款发送
outgoing_pix_chargebackPIX 退款出账
incoming_pix_chargebackPIX 退款接收
pix_chargeback_depositPIX 退款入账
pix_chargeback_withdrawal_reversalPIX 退款发送冲销
outgoing_pix_chargeback_reversalPIX 退款出账冲销
incoming_pix_chargeback_reversalPIX 退款接收冲销
operation_pix_disbursement操作 PIX 放款
operation_pix_disbursement_reversal操作 PIX 放款冲销
receivables_inquiry_fee应收账款查询手续费
pix_deposit_reversalPIX 存款冲销
internal_pix_transferPIX 转账
automatic_integrated_payment_reversal自动集成支付冲销
operation_dibursement_reversal操作放款冲销
available_yield流动投资存款

3.2. 凭证: 转账/支付的凭证数据可通过 "transaction_key" 获取。

        请求

ENDPOINT
/transaction_receipt/[TRANSACTION-KEY]
MÉTODO
GET
Response Body - 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 - 内部转账或 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 - 票据支付

{
"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. 对账单: 账户对账单可通过以下接口获取:

        请求

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 - TED 转账

信息

TED 转账只能在工作日 7:0017:00 之间进行。

4.1. 发起 TED 转账: 要进行 TED 转账,需要进行以下调用:

        请求

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
}

        响应

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

"event_datetime" 字段为 UTC 格式。

信息

"transaction_key" 是转账的唯一标识键,后续可用于申请转账凭证。

4.2. TED 冲销: 如目标机构退回 TED,将触发以下 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 - 注册与修改银行票据

5.1. 查询托收钱包: 要注册、修改和支付票据,首先需要拥有与账户绑定的托收钱包代码(Requester Profile Code)。每个账户在创建时都自动绑定一个托收钱包。

托收钱包代码遵循以下格式: "银行编号" + "钱包代码" + "账户支行编号" + "不含校验位的 7 位账号"。

在 QI Tech 中,银行编号、钱包代码和支行编号默认分别为"329"、"09"和"0001"。 例如:"329-09-0001-2359934"。

如需获取每个账户的托收钱包代码列表,请使用以下接口:

        请求

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"
]
}
提示

票据的注册、修改和注销通过事件动态机制进行。每个事件发送至 QI Tech 并转发至票据中央数据库。 事件可被票据中央数据库接受或拒绝。 关于事件接受或拒绝的响应将通过 Webhook 发送给合作伙伴。

5.2. 注册票据: 要注册票据,需要发送一个注册事件,如下面的接口所述:

        请求

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"
}
]
}
信息

银行编号("our_number")是票据在托收钱包中的 ID,必须为递增 ID。 银行编号("our_number")须由合作伙伴生成,并在注册票据时提供。 重要提示: 票据应通过以下组合键定位:银行编号("our_number")+ 托收钱包代码("requester_profile_code")。

        响应

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. 票据注册是否被接受或拒绝的响应将通过以下 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"
}

要将发送的 Webhook 与票据关联,须使用银行编号("our_number")和托收钱包代码("requester_profile_code")。

一旦票据注册被中央数据库接受,Webhook 中将返回票据的 UUID 密钥("bank_slip_key")。请保存此密钥,以便后续获取票据信息。

5.4. 修改票据数据: 要修改票据数据,需要发送一个事件。每种可能的修改都有对应的事件类型。票据数据修改的事件列表可在我们的文档中查看(/documentation/emissao_de_boleto/enviar_instrucao_de_boleto)。

5.5. 申请票据副本: 票据注册后,可申请生成包含支付信息的票据".pdf"文件。

        请求

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"
}],

}
信息

将返回票据的所有数据,".pdf" 的下载链接将在 "bank_slip_file.url" 对象中提供。

5.5. 查询票据数据: 票据数据可通过两种方式查询。

        5.5.1. 通过可输入行查询: 票据的可输入行是一串数字序列,其中包含票据信息。付款人在其网银中输入此数字序列。

信息

可输入行示例:32990001031000000000902000000204685640000100000

通过可输入行可以查询票据数据:

        请求

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. 通过票据密钥查询: 一旦票据注册被中央数据库接受,Webhook 中将返回票据的 UUID 密钥("bank_slip_key")。通过此密钥可获取票据信息:

        请求

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. 票据收款到账通知: 当票据在其他银行被支付时,将实时发送该票据已支付的通知。支付的资金清算将在下一个工作日进行。

        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"
}
信息

"payment_method:" 为票据支付方式,可能为:

"credit_card":信用卡

"cash":现金

"account_debit":账户扣款

"check":支票

信息

payment_origin:为票据支付地点来源,可能为:

"internet":网上银行

"phisical_cashier":银行柜台

"taa":自助服务终端

"eletronic_file":CNAB 清算文件

"call_center":客服中心

"dda":DDA(直接借记授权)

"corban":彩票点 - 银行代理机构

注意

支付方式("payment_method")和支付来源("payment_origin")信息是在票据支付时提供的,其一致性和真实性由处理该笔支付的机构负责。


6 - 生成 PIX QR Code

6.1. 生成静态 PIX QR Code: QR Code 由已在账户中注册的有效 PIX 密钥创建。生成 QR Code 后,将返回与 QR Code 关联的 PIX 复制粘贴 URI,以及 QR Code 图片的 base64(如已请求)。 QR Code 图片可由合作伙伴自行通过 PIX 复制粘贴 URI 生成。

生成静态 PIX QR Code 只需一个请求:

        请求

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"
}
信息

qr_code_format 字段可填写 "image"、"payload" 和 "both"。

"image":返回包含 PIX QR Code 图片 base64 的字段。

"payload":返回包含 PIX QR Code 复制粘贴 URI base64 的字段。

"both":返回两个字段。

        响应

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. 生成动态 PIX QR Code: 动态 QR Code 分两种类型:带即时支付的动态 QR Code 和带到期日的动态 QR Code。

        6.2.1. 生成带到期日的动态 PIX QR Code: 这是一种功能非常类似于银行票据的 PIX QR Code 类型,可包含到期日、逾期罚款、逾期利息和提前付款折扣信息。生成此类 PIX QR Code 只需向 "/baas/qrcode/dynamic" 接口发送一个请求。

        请求

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\>"
}]
}
信息

occurrence_type: 此字段填写预期操作类型,可为:registration、edit、write_off

registration: 创建新 QR Code

edit: 编辑已有 QR Code(如下方条目所述)。

write_off: 注销有效 QR Code。

interest_amount: 每日逾期利息金额(巴西雷亚尔 R$)。

fine_amount: 逾期罚款金额(巴西雷亚尔 R$)。

discounts: 提前付款折扣信息。如不适用,发送空列表([])。

additional_data: 可自定义的元标签,在支付时呈现给付款人。格式为:"<tag_name>":"<tag_value>"。

tag_name: 最多 100 个字符,tag_value 最多 320 个字符。

        响应

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

"base_64" 字段是与此动态 PIX QR Code 关联的 PIX 复制粘贴 URI。

        6.2.2. 生成带即时支付的动态 PIX QR Code: 这是一种类似于静态 QR Code 的 PIX QR Code 类型,但更便于收款方进行对账,且可设置当日到期(例如,有效期仅 5 分钟)。 生成此类 PIX QR Code 只需向 "/baas/qrcode/dynamic" 接口发送一个请求。

        请求

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\>"
}]
}

        响应

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. 编辑动态 PIX QR Code 数据: 要编辑动态 PIX QR Code 的数据,需要提供 QR Code 的 "qr_code_key",并将 "occurrence_type" 设为 "edit"。此时,需要重新发送所有数据。

        请求

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\>"
}]
}

        响应

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. 删除动态 PIX QR Code: 要注销动态 PIX QR Code,需要提供 QR Code 的 "qr_code_key",并将 "occurrence_type" 设为 "write_off"。

        请求

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

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

        响应

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. 解码 PIX QR Code: 要解码动态或静态 PIX QR Code,应使用以下接口:

        请求

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

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

信息

此接口须提供 PIX 复制粘贴 URI(PIX 复制粘贴链接)。


7 - 管理 PIX 密钥

信息

"pix_key" 可以是 CPFCNPJ邮箱手机号随机密钥(UUID),格式如下:

CPF: 11 位整数。

CNPJ: 14 位整数。

邮箱: 包含至少一个"@"的文本。

手机号: 包含以下值的文本:"+55" + "[手机区号]" + "<最少 8 位、最多 9 位的手机号整数>"。例如:"+5511987654321"。

随机密钥: UUID。

        7.1. 创建 CNPJ 和随机 PIX 密钥: 要创建 CNPJ 或随机 PIX 密钥,只需调用 "/baas/pix/keys" 接口,将 "pix_key_type" 改为 "cnpj"、"cpf" 或 "random_key"。

        请求

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

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

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

payload.json

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

        响应

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"
}
注意

在创建随机 PIX 密钥的响应中,"pix_key" 字段将返回空值,因为这是一个异步流程,密钥由巴西中央银行生成。要获取已生成的随机密钥值,需要查询账户中已注册密钥列表(如"查询账户已注册的 PIX 密钥"条目所述),或等待包含密钥的 Webhook。

信息

由于验证 CNPJCPF PIX 密钥是否已激活是异步流程,需要查询账户中已注册密钥列表(如"查询账户已注册的 PIX 密钥"条目所述),或等待包含密钥的 Webhook。

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. 创建邮箱和手机号 PIX 密钥: 要创建邮箱手机号 PIX 密钥,需要调用两个接口:

1 - 创建密钥:向 "/baas/pix/keys" 接口发送 POST 请求,将 "pix_key_type" 字段改为 "email" 或 "phone_number"。此时,将向 "pix_key" 字段中填写的邮箱或手机号发送一个验证码。

2 - 审批密钥:向 "/baas/pix/keys/[pix_key_request_key]" 接口发送 PATCH 请求,提供上一步收到的验证码。

        请求

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

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

        响应

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"
}
信息

重要提示: "pix_key_request_key" 字段返回的值须用于审批 PIX 密钥创建请求的 URL 中。

7.3. 审批已申请的邮箱或手机号 PIX 密钥:

        请求

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

7.4. 重新发送验证码:

        请求

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

7.5. 查询账户已注册的 PIX 密钥:

        请求

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. 删除 PIX 密钥:

        请求

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 - PIX QR Code 支付

8.1. 支付静态 PIX QR Code:

要支付静态 PIX QR Code,需要进行三次调用:

解码 PIX QR Code:/baas/pix/qrcode

创建转账请求:/baas/pix_transfer

审批转账:/baas/pix_transfer_approval

用于解码静态 PIX QR Code 的信息是与 QR Code 关联的 PIX 复制粘贴 URI。

信息

PIX 复制粘贴 URI 示例: 00020126580014br.gov.bcb.pix01360598e5d1-2cfc-4857-abf8-12d495aa0a6d52040000530398654040.225802BR5925VOVO LUCIA CONVENIENCIA L6009sao paulo610912345-78062070503***63043A5A

        请求

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

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

        响应

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"
}
注意

支付静态 PIX QR Code 的请求与 PIX 转账请求相同,但有以下变更:

1 - 新增 "end_to_end_id" 字段。须填写解码静态 QR Code 时返回的相同值; 2 - 在 "transaction_amount" 字段中填写解码静态 QR Code 时 "qr_code_data.amount" 字段返回的相同值; 3 - 将 "pix_transfer_type" 字段改为 "static",以通过 "/baas/pix_transfer" 发起支付请求。

信息

此响应与 PIX 转账审批响应的唯一区别,是 "pix_transfer_type" 字段的值,此处返回的是 "static"。

8.2. 支付动态 PIX QR Code:

要支付动态 PIX QR Code,需要进行三次调用:

解码 PIX QR Code:/baas/pix/qrcode

创建转账请求:/baas/pix_transfer

审批转账:/baas/pix_transfer_approval

用于解码动态 PIX QR Code 的信息是与 QR Code 关联的 PIX 复制粘贴 URI。

信息

静态 PIX QR Code 与动态 PIX QR Code 在 "/baas/pix/qrcode" 中的唯一区别,是接口的响应内容。

        响应

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

注意

支付动态 PIX QR Code 的请求与 PIX 转账请求相同,但有以下变更:

1 - 新增 "end_to_end_id" 字段。须填写解码动态 QR Code 时返回的相同值。 2 - 在 "transaction_amount" 字段中填写解码动态 QR Code 时 "qr_code_data.amount" 字段返回的相同值; 3 - 将 "pix_transfer_type" 字段改为 "dynamic_term",以通过 "/baas/pix_transfer" 发起支付请求。 4 - 新增 "receiver_conciliation_id" 字段。须填写解码动态 QR Code 时返回的相同值。

信息

此响应与 PIX 转账审批响应的唯一区别,是 "pix_transfer_type" 字段的值,此处返回的是 "dynamic_term"。