QI FATURA
带 PIX 分期付款的卡片体验
API 开发中
该 API 仍处于最终开发阶段,因此本手册可能会有所更改。
注意!
QI Tech 的 webhook 不应进行严格映射。 我们的 API 返回的 webhook payload 中可能会包 含额外字段。
Webhook 重发
您可以按照文档中的详细说明查询并重发 webhook:Webhook 重发。
1. 创建数字钱包
要能够在账单中添加条目(以 CCB 为基础的 PIX 入账),首先需要为每个客户创建一个数字钱包。
Request
ENDPOINT
/card_invoice/walletMÉTODO
POSTRequest Body
{
"owner": {
"person_type": "natural",
"name": "\<NOME TITULAR DA CARTEIRA\>",
"document_number": "\<CPF TITULAR DA CARTEIRA\>",
"address": {
"street": "\<RUA TITULAR DA CARTEIRA\>",
"state": "\<ESTADO TITULAR DA CARTEIRA\>",
"city": "\<CIDADE TITULAR DA CARTEIRA\>",
"neighborhood": "\<BAIRRO TITULAR DA CARTEIRA\>",
"number": "\<No. TITULAR DA CARTEIRA\>",
"postal_code": "\<CEP TITULAR DA CARTEIRA\>",
"complement": "\<COMPLEMENTO TITULAR DA CARTEIRA\>"
},
"phone": {
"number": "\<CELULAR TITULAR DA CARTEIRA\>",
"area_code": "\<DDD TITULAR DA CARTEIRA\>",
"country_code": "55",
},
"email": "\<EMAIL TITULAR DA CARTEIRA\>",
"document_identification_number":"\<NÚMERO DO DOCUMENTO DE IDENTIFICAÇÃO DO TITULAR DA CARTEIRA\>",
"document_identification":"\<CHAVE DO DOCUMENTO DE IDENTICAÇÃO DO TITULAR\>",
"document_identification_back":"\<CHAVE DO VERSO DO DOCUMENTO DE IDENTICAÇÃO DO TITULAR\>",
"selfie":"\<CHAVE DA SELFIE DO TITULAR\>",
"document_identification_type": "\<TIPO DO DOCUMENTO DE IDENTIFICAÇÃO DO TITULAR\>"
},
"invoice_configuration":{
"closing_day": "\<DATA DE FECHAMENTO DA FATURA\>",
"due_day": "\<DATA DE VENCIMENTO DA FATURA\>",
"grace_months": "\<DIFERENÇA, EM MESES, ENTRE closing_day e due_day\>",
"issuing_and_due_day_difference": "\<DIAS ANTES DO VENCIMENTO QUE A FATURA DEVE SER EMITIDA\>",
"invoice_payment_type": "bankslip",
"delay_fine_percentage": "\<CONFIGURAÇÃO DE ATRASO - VALOR DA MORA\>",
"delay_monthly_interest_rate": "\<CONFIGURAÇÃO DE ATRASO -VALOR DOS JUROS POR DIA\>"
},
"invoice_authorization": {
"signature": {
"signer": {
"name": "\<NOME ASSINANTE\>",
"email": "\<EMAIL ASSINANTE\>",
"phone": {
"number": "\<CELULAR ASSINANTE\>",
"area_code": "\<DDD ASSINANTE\>",
"country_code": "55",
},
"document_number": "CPF ASSINANTE"
},
"authentication_type": "opt_in",
"authenticity": {
"timestamp": "\<DATA E HORA DA ASSINATURA\>",
"ip_address": "\<IP DO ASSINANTE\>",
"fingerprint": {},
"third_party_additional_data": {},
"session_id": "\<ID DA SESSÃO DO ASSINANTE\>"
},
"signed_object": {
"document_key": "\<CHAVE DO DOCUMENTO NA QI\>"
}
}
},
"limit": "\<VALOR DO LIMITE DA WALLET\>",
"default_monthly_interest_rate": "\<TAXA DE JUROS MENSAL, DEFAULT DA CARTEIRA, CONSIDERADA PARA CADA ENTRADA (PIX)\>"
}
Request body 详情
Wallet payload
| 字段 | 类型 | 描述 | 字符数 |
|---|---|---|---|
owner | object | 钱包所有者对象 | owner 对象 |
invoice_configuration | object | 每个钱包的账单配置对象 | invoicer_configuration 对象 |
invoice_authorization | object | 授权对象 | invoice_authorization 对象 |
limit | number | 钱包限额 | |
default_monthly_interest_rate | number | 钱包的默认月利率。 |
owner 对象
| 字段 | 类型 | 描述 | 字符数 |
|---|---|---|---|
person_type | string | 标识发送的对象是自然人还是法人。 | |
name | string | PJ 业务时为公司名,PF 业务时为个人姓名。 | 100 |
document_number | string | 个人 CPF(仅数字),限11个字符。 | |
address | string | 客户地址。 | address 对象 |
phone | string | 电话数据对象 | phone 对象 |
email | string | 客户邮箱。 |
address 对象
| 字段 | 描述 | 示例 | 最大字符数 |
|---|---|---|---|
street | string | 地址街道 | 100 |
state | string | 地址州(两个大写字母) | 2 |
city | string | 地址城市 | 100 |
neighborhood | string | 地址街区 | 100 |
number | string | 街道门牌号 | 10 |
postal_code | string | 地址 CEP(http://www.buscacep.correios.com.br/sistemas/buscacep/)(仅数字) | 8 |
complement | string | 地址补充(自由文本) | 100 |
phone 对象
| 字段 | 描述 | 示例 | 最大字符数 |
|---|---|---|---|
country_code | string | 电话国际区号(https://ddi.guiamais.com.br/) | 3 |
area_code | string | 电话区号(https://ddd.guiamais.com.br/) | 2 |
number | string | 电话号码(仅数字) | 10 |
invoice_configuration 对象
| 字段 | 描述 | 示例 | 最大字符数 |
|---|---|---|---|
closing_day | number | 账单结账日(账单条目登记的截止日期)。 | |
due_day | number | 账单到期日。选项:1、5、10 | |
grace_months | number | 结账日与到期日之间的月数差。 | |
delay_fine_percentage | number | 账单逾期付款时的滞纳金金额。 | |
delay_monthly_interest_rate | number | 账单逾期付款时每月利息金额。 | |
issuing_and_due_day_difference | number | 账单发行日与到期日之间的天数,用于计算账单发行日期。 | |
invoice_payment_type | string | 账单付款方式。选项:'bankslip' |
账单配置
在账单配置(invoice_configuration)中,固定数据如"delay_fine_percentage"、"grace_months"、"delay_monthly_interest_rate"、"invoice_payment_type"、"issuing_and_due_day_difference"可以直接在 API 合作伙伴初始设置中配置,从而简化钱包创建的 payload。在 API 合作伙伴初始设置中配置的信息将对所有客户固定适用。
警告
账单到期日"invoice_configuration.due_day"与结账日"invoice_configuration.closing_day"之间的天数必须大于等于8天且小于等于10天。
Response
ENDPOINT
/card_invoice/walletMÉTODO
POSTHTTP STATUS
201Response Body
{
"wallet_key": "0f4581d6-f4a4-4430-b94e-5db700e4baed",
"status": "active"
}
Response body 详情
| 字段 | 类型 | 描述 | 字符数 |
|---|---|---|---|
wallet_key | string | 钱包唯 一标识符(uuid) | |
status | string | 钱包状态 |
1.1. 查询现有钱包:
QUERY PARAMETERS
| 枚举值 | 描述 |
|---|---|
| owner_document_number | 钱包持有人的 CPF |
| page | 查询页码 |
| page_size | 查询请求的每页条数 |
Request
ENDPOINT
/card_invoice/walletsMÉTODO
GETResponse
ENDPOINT
/card_invoice/walletsMÉTODO
GETHTTP STATUS
200Response Body
{
"page": 1,
"last_page": true,
"data": [
{
"wallet_key": "0f4581d6-f4a4-4430-b94e-5db700e4baed",
"owner": {
"person_type": "natural",
"name": "Nome Sobrenome",
"document_number": "12345678911",
"address": {
"street": "RUA DEZENOVE",
"state": "SP",
"city": "JARDINÓPOLIS",
"neighborhood": "JARDINS DO IMPÉRIO",
"number": "19",
"postal_code": "13348719",
"complement": ""
},
"phone": {
"number": "912345678",
"area_code": "21",
"country_code": "55"
},
"email": "teste@teste.com.br"
},
"collaterals": [],
"cards": [
{"card_key":"067cba94-4d57-4a75-9766-7e5b95c87367"}
],
"invoice_authorization": {
"signature": {
"signer": {
"name": "Nome Sobrenome",
"document_number": "12345678911",
"email": "teste@teste.com.br",
"phone": {
"number": "912345678",
"area_code": "21",
"country_code": "55"
}
},
"authentication_type": "opt_in",
"authenticity": {
"timestamp": "2022-11-18T11:17:46",
"ip_address": "104.101.21.0",
"fingerprint": {
"browser": "Mozila"
},
"third_party_additional_data": {},
"session_id": "8df91773-c537-4662-b08b-025f03bf79dc"
},
"signed_object": {
"document_key": "27A0BA3D-A89D-4218-AB06-BC39B94CE23C"
}
}
},
"interest_base": "calendar_days_365",
"default_monthly_interest_rate": 0.035,
"invoice_configuration": {
"due_day": 10,
"closing_day": 1,
"grace_months": 1,
"invoice_payment_type": "bankslip",
"delay_fine_percentage": 0,
"delay_monthly_interest_rate": 0,
"issuing_and_due_day_difference": 9
},
"status": "active",
"limit": 800,
"current_limit": 800
}
]
}
1.2. 查询特定钱包:
Request
ENDPOINT
/card_invoice/wallet/[WALLET-KEY]MÉTODO
GETResponse
ENDPOINT
/card_invoice/wallet/[WALLET-KEY]MÉTODO
GETHTTP STATUS
200Response Body
{
"wallet_key": "0f4581d6-f4a4-4430-b94e-5db700e4baed",
"owner": {
"person_type": "natural",
"name": "Nome Sobrenome",
"document_number": "12345678911",
"address": {
"street": "RUA DEZENOVE",
"state": "SP",
"city": "JARDINÓPOLIS",
"neighborhood": "JARDINS DO IMPÉRIO",
"number": "19",
"postal_code": "13348719",
"complement": ""
},
"phone": {
"number": "912345678",
"area_code": "21",
"country_code": "55"
},
"email": "teste@teste.com.br"
},
"collaterals": [],
"cards": [
{"card_key":"067cba94-4d57-4a75-9766-7e5b95c87367"}
],
"invoice_authorization": {
"signature": {
"signer": {
"name": "Nome Sobrenome",
"document_number": "12345678911",
"email": "teste@teste.com.br",
"phone": {
"number": "912345678",
"area_code": "21",
"country_code": "55"
}
},
"authentication_type": "opt_in",
"authenticity": {
"timestamp": "2022-11-18T11:17:46",
"ip_address": "104.101.21.0",
"fingerprint": {
"browser": "Mozila"
},
"third_party_additional_data": {},
"session_id": "8df91773-c537-4662-b08b-025f03bf79dc"
},
"signed_object": {
"document_key": "27A0BA3D-A89D-4218-AB06-BC39B94CE23C"
}
}
},
"interest_base": "calendar_days_365",
"default_monthly_interest_rate": 0.035,
"invoice_configuration": {
"due_day": 10,
"closing_day": 1,
"grace_months": 1,
"invoice_payment_type": "bankslip",
"delay_fine_percentage": 0,
"delay_monthly_interest_rate": 0,
"issuing_and_due_day_difference": 9
},
"status": "active",
"limit": 800,
"current_limit": 800
}
1.3. 修改钱包限额:
Request
ENDPOINT
/card_invoice/wallet/[WALLET-KEY]MÉTODO
PATCHRequest Body
{
"limit": 123
}
Response
ENDPOINT
/card_invoice/wallet/[WALLET-KEY]MÉTODO
PATCHHTTP STATUS
200Response Body
{
"wallet_key": "0f4581d6-f4a4-4430-b94e-5db700e4baed",
"owner": {
"person_type": "natural",
"name": "Nome Sobrenome",
"document_number": "12345678911",
"address": {
"street": "RUA DEZENOVE",
"state": "SP",
"city": "JARDINÓPOLIS",
"neighborhood": "JARDINS DO IMPÉRIO",
"number": "19",
"postal_code": "13348719",
"complement": ""
},
"phone": {
"number": "912345678",
"area_code": "21",
"country_code": "55"
},
"email": "teste@teste.com.br"
},
"collaterals": [],
"invoice_authorization": {
"signature": {
"signer": {
"name": "Nome Sobrenome",
"document_number": "12345678911",
"email": "teste@teste.com.br",
"phone": {
"number": "912345678",
"area_code": "21",
"country_code": "55"
}
},
"authentication_type": "opt_in",
"authenticity": {
"timestamp": "2022-11-18T11:17:46",
"ip_address": "104.101.21.0",
"fingerprint": {
"browser": "Mozila"
},
"third_party_additional_data": {},
"session_id": "8df91773-c537-4662-b08b-025f03bf79dc"
},
"signed_object": {
"document_key": "27A0BA3D-A89D-4218-AB06-BC39B94CE23C"
}
}
},
"interest_base": "calendar_days_365",
"default_monthly_interest_rate": 0.035,
"invoice_configuration": {
"due_day": 10,
"closing_day": 1,
"grace_months": 1,
"invoice_payment_type": "bankslip",
"delay_fine_percentage": 0,
"delay_monthly_interest_rate": 0,
"issuing_and_due_day_difference": 9
},
"status": "active",
"limit": 123,
"current_limit": 1000
}
2. 向现有数字钱包添加卡片:
为客户创建数字钱包后,需要创建一张与该钱包关联的卡片。
Request
ENDPOINT
/card_invoice/wallet/[WALLET-KEY]/cardMÉTODO
POSTRequest Body
{
"settlement_method": "credit_operation"
}
Request body 详情
Card payload
| 字段 | 类型 | 描述 | 字符数 |
|---|---|---|---|
settlement_method | string | 担保类型,即交易将如何进行担保。选项:"credit_operation" |
Response
ENDPOINT
/card_invoice/wallet/[WALLET-KEY]/cardMÉTODO
POSTHTTP STATUS
201Response Body
{
"card_key": "dabd10b6-80a8-4c9c-8a8e-e25a56668525"
}