跳到主要内容

PIX Transaction

当付款人发起或接收支付时,交易数据应发送到我们的服务器。这样,可以根据该数据集对交易所涉及的风险进行分析。

Pix Transactions 对象定义

Request Body
{
"transaction_direction": "received",
"id": "082373263",
"client": {
"id": "123456",
"document_number": "056.966.649-03",
"name": "Francisco Oliveira Benedetti",
"type": "natural_person",
"address": {
"street": "Avenida 13",
"number": "704",
"neighbourhood": "Centro",
"city": "Ituiutaba",
"uf": "MG",
"complement": "Apt 1101",
"postal_code": "38300-140"
},
"email": "mailto@qitech.com.br",
"phone": {
"international_dial_code": "55",
"area_code": "16",
"number": "981610077",
"type": "mobile"
},
"sales_channel": "inbound_sales",
"segment": "Personalité"
},
"amount": 13725,
"transaction_date": "2020-10-07T15:06:25-03:00",
"dict_key": {
"key_type": "cpf",
"key_value": "09991222669",
"assignment_date": "2020-01-15T18:00:00-03:00"
},
"capture_method": "static_qr_code",
"face_recognition_key": "ef39e206-13d5-48de-b368-6c3bbc6f0222",
"validation_key": "69a59de3-0198-4a26-933a-c1de624c147d",
"source_account": {
"participant": "17315359",
"branch": "0000",
"account_number": "10442",
"account_digit": "6",
"owner": {
"type": "legal_person",
"document_number": "07.487.735/0001-69",
"name": "Gioconda Pizzaria e Rotisseria LTDA."
},
"account_type": "CACC",
"opening_date": "2020-01-15T18:00:00-03:00"
},
"destination_account": {
"participant": "60701190",
"branch": "3675",
"account_number": "10442",
"account_digit": "6",
"owner": {
"type": "natural_person",
"document_number": "056.966.649-03",
"name": "Francisco Oliveira Benedetti"
},
"account_type": "SLRY",
"opening_date": "2020-01-15T18:00:00-03:00"
},
"destination_statistics": {
"person":{
"settlements":{
"d90":4,
"m12":67,
"m60":618
},
"application_frauds":{
"d90":0,
"m12":4,
"m60":9
},
"mule_accounts":{
"d90":0,
"m12":0,
"m60":0
},
"scammer_accounts":{
"d90":0,
"m12":0,
"m60":0
},
"other_frauds":{
"d90":0,
"m12":0,
"m60":0
},
"unknown_frauds":{
"d90":0,
"m12":0,
"m60":0
},
"total_frauds_transaction_amount":{
"d90":0,
"m12":0,
"m60":0
},
"distinct_fraud_reporters":{
"d90":0,
"m12":0,
"m60":0
},
"open_reports":0,
"open_reports_distinct_reporters":0,
"rejected_reports":{
"d90":0,
"m12":0,
"m60":0
},
"registered_accounts":0
},
"owner":{
"settlements":{
"d90":0,
"m12":0,
"m60":0
},
"application_frauds":{
"d90":0,
"m12":0,
"m60":0
},
"mule_accounts":{
"d90":0,
"m12":0,
"m60":0
},
"scammer_accounts":{
"d90":0,
"m12":0,
"m60":0
},
"other_frauds":{
"d90":0,
"m12":0,
"m60":0
},
"unknown_frauds":{
"d90":0,
"m12":0,
"m60":0
},
"total_frauds_transaction_amount":{
"d90":0,
"m12":0,
"m60":0
},
"distinct_fraud_reporters":{
"d90":0,
"m12":0,
"m60":0
},
"open_reports":0,
"open_reports_distinct_reporters":0,
"registered_accounts":0
},
"key":{
"settlements":{
"d90":0,
"m12":0,
"m60":0
},
"application_frauds":{
"d90":0,
"m12":0,
"m60":0
},
"mule_accounts":{
"d90":0,
"m12":0,
"m60":0
},
"scammer_accounts":{
"d90":0,
"m12":0,
"m60":0
},
"other_frauds":{
"d90":0,
"m12":0,
"m60":0
},
"unknown_frauds":{
"d90":0,
"m12":0,
"m60":0
},
"total_frauds_transaction_amount":{
"d90":0,
"m12":0,
"m60":0
},
"distinct_fraud_reporters":{
"d90":0,
"m12":0,
"m60":0
},
"open_reports":0,
"open_reports_distinct_reporters":0,
"rejected_reports":{
"d90":0,
"m12":0,
"m60":0
},
"distinct_accounts":{
"d90":0,
"m12":0,
"m60":0
}
}
},
"source": {
"channel": "internet_banking",
"platform": "android",
"ip": "198.185.065.098",
"session_id": "7839jdqd9a8wd9"
}
}

交易必须在转发到处理系统之前发送到 API,以便进行预先欺诈验证。

交易状态表示模型对该交易返回的决策。以下状态用于 analysis_status 标志:

  • automatically_approved
  • automatically_reproved
  • in_manual_analysis
  • pending

以下是 analysis_status 标志中返回的每个决策的含义:

状态描述
automatically_approved建议批准此交易。
automatically_reproved建议拒绝此交易。
approved_by_time交易因人工分析时间到期而被批准
reproved_by_time交易因人工分析时间到期而被批准
in_manual_analysis建议由分析师对该交易进行人工分析。
pending交易正在处理中。
名称类型描述
transaction_direction枚举注册交易的类型。定义客户是收款还是付款。(必填)
idstring客户系统中支付的标识符。
此编号对每个支付流程必须唯一 (必填)
clientclient表示客户数据的对象,无论是付款人还是收款人。(必填)
amount整数支付金额,以分为单位——如"标准"部分所述。(必填)
pix_modalitystring注册交易的类型。指示是否表示转账、找零或取款。
transaction_datedatetime交易开始的日期和时间,含时区。(必填)
dict_keydict_key表示客户在交易中使用的 DICT 绑定密钥数据的对象。
capture_method枚举用于发起支付的方法,是否通过静态或动态 QR Code、数据填写或 DICT 密钥。(必填)
face_recognition_keystring面部识别密钥,如果已通过我们的面部识别 API 进行面部识别。
validation_keystring验证密钥,如果已通过我们的验证 API 对客户进行验证测试。
source_accountsource_account表示被扣款账户数据的对象。(必填)
destination_accountdestination_account表示被入账账户数据的对象。(必填)
destination_statisticsdestination_statistics表示来自 BACEN DICT API 的被入账账户交易和欺诈历史的对象。(必填)
sourcesourceSource 类型的对象,描述用于发送支付的应用程序信息

transaction_direction 的枚举值为:sentreceived

pix_modality 的枚举值为:transacationchangewithdraw

capture_method 的枚举值为:static_qr_codedynamic_qr_codeoffline_qr_codetyped

发送交易

Request Body
  {
"id": "12345",
...
}
Response Body
  {
"transaction_key": "13d680ef-4b72-4cb2-a63d-cf3d790abaaf",
"analysis_status": "automatically_approved",
"reason": "rule_decision_enum"
}

要评估交易,只需将 Transaction 类型的对象发送到以下端点:

POST https://api.caas.qitech.app/pix/transaction

查询交易

Response Body
  {
"transaction_direction": "received",
"id": "082373263",
...
}

要检索交易数据,只需向以下端点发送请求:

GET https://api.caas.qitech.app/pix/transaction/{transaction_id}

其中 transaction_id 是在注册时发送给我们的交易标识符,位于 "id" 字段中。

更新交易

Request Body
  {
"transaction_status": "sent",
"event_date": "2020-10-07T15:06:25-03:00"
}

交易创建并分析后,应发送给 BCB 进行处理。因此,需要在交易发送给 BCB 时通过以下端点通知交易状态更新:

PUT https://api.caas.qitech.app/pix/transaction/{transaction_id}

这样可以确保我们的数据库保持更新,与 BCB 数据库始终保持一致。

未完成的交易

Request Body
  {
"transaction_status": "cancelled",
"reason": "refused_by_counterpart",
"event_date": "2020-10-07T15:06:25-03:00"
}

如果交易出于任何原因未能完成(即:未从来源账户扣款并入账到目标账户),可以将交易更新为 cancelled 状态,并注明取消原因,以便识别与未完成交易相关的欺诈模式。cancelled 状态只能用于仍处于 created 状态的交易,因为 sent 状态用于交易已完成的情况。

PUT https://api.caas.qitech.app/pix/transaction/{transaction_id}

API 目前接受以下 reason,如果您认为需要将取消原因归入其他 reason,请联系 suporte.caas@qitech.com.br

reason描述
insufficient_balance客户账户余额不足以完成交易
fraud_prevention交易因未通过反欺诈系统而被取消
system_block某些系统锁定阻止了交易执行,例如账户已注销/不活跃或已达到限额
invalid_destination对方机构因目标账户不存在而拒绝了交易
refused_by_counterpart对方机构拒绝了交易
system_error交易因机构自身系统错误而被取消
invalid_authentication交易因客户未通过某个认证流程而被取消