跳到主要内容

内部转账指南

本指南介绍如何在同一银行的账户之间进行内部转账,涵盖三种可用方法及其使用场景。

概述

内部转账在同一银行的账户之间转移资金,无需通过 PIX 网络。转账即时处理。

三种方式识别目标账户:

方法端点目标账户要求使用场景
按账户 ID/transfers/internal必须启用 API 访问自有账户间转账
按证件号/transfers/internal/by-document银行任意账户向任何账户持有人转账
按支行/账号/transfers/internal/by-bank-account必须启用 API 访问已知支行和账号时使用

1. 按账户 ID 转账

最高效的方法。当源账户和目标账户都已在 API 中注册时使用。

端点: POST /v1/accounts/{accountId}/transfers/internal

curl -X POST "https://api.corpxapi.com/v1/accounts/{accountId}/transfers/internal" \
-H "Authorization: Bearer {token}" \
-H "X-Tenant-Id: tenant-yourcompany" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: int-001" \
-d '{
"destinationAccountId": "773107de-139e-48d1-9462-f4e88f251891",
"value": 1500.00,
"description": "分支间转账",
"identifier": "branch-transfer-001"
}'

字段:

字段类型必填描述
destinationAccountIdstring (UUID)目标账户 UUID(API 内部标识符)
valuenumber金额(巴西雷亚尔,最多2位小数)
descriptionstring转账描述
identifierstring用于追踪的唯一标识符

响应 (200):

{
"transactionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"destinationAccountId": "773107de-139e-48d1-9462-f4e88f251891",
"value": 1500.00,
"status": "COMPLETED",
"description": "分支间转账",
"identifier": "branch-transfer-001",
"createdAt": "2026-03-18T15:30:00Z"
}

2. 按证件号(CPF/CNPJ)转账

当目标账户未在 API 中注册时使用。适用于银行生态系统中的任何账户。

端点: POST /v1/accounts/{accountId}/transfers/internal/by-document

curl -X POST "https://api.corpxapi.com/v1/accounts/{accountId}/transfers/internal/by-document" \
-H "Authorization: Bearer {token}" \
-H "X-Tenant-Id: tenant-yourcompany" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: int-002" \
-d '{
"document": "12345678000190",
"value": 500.00,
"description": "供应商付款",
"identifier": "supplier-payment-002"
}'

字段:

字段类型必填描述
documentstring目标账户持有人的 CPF 或 CNPJ(纯数字)
valuenumber金额(巴西雷亚尔)
descriptionstring转账描述
identifierstring用于追踪的唯一标识符

3. 按支行和账号转账

当您有支行号和账号时使用。两个账户都必须在 API 中注册。

端点: POST /v1/accounts/{accountId}/transfers/internal/by-bank-account

curl -X POST "https://api.corpxapi.com/v1/accounts/{accountId}/transfers/internal/by-bank-account" \
-H "Authorization: Bearer {token}" \
-H "X-Tenant-Id: tenant-yourcompany" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: int-003" \
-d '{
"branch": "0001",
"accountNumber": "200038274",
"value": 250.00,
"description": "退款",
"identifier": "refund-003"
}'

字段:

字段类型必填描述
branchstring目标账户支行号
accountNumberstring目标账号
valuenumber金额(巴西雷亚尔)
descriptionstring转账描述
identifierstring用于追踪的唯一标识符

如何选择方法?

目标账户是否启用了 API?
├── 是 → 您有账户 ID (UUID) 吗?
│ ├── 是 → 使用 /transfers/internal(最快)
│ └── 否 → 使用 /transfers/internal/by-bank-account
└── 否 → 使用 /transfers/internal/by-document

实际示例:

  • 公司分支机构间调拨/transfers/internal(按账户 ID)
  • 向银行供应商付款/transfers/internal/by-document(按 CPF/CNPJ)
  • 向已知支行账号转账/transfers/internal/by-bank-account

Webhooks

内部转账完成后,双方都会收到 webhook:

  • 发送方: transfer.internal.out
  • 接收方: transfer.internal.in
{
"id": "evt_abc123",
"type": "transfer.internal.in",
"eventType": "transfer.internal.in",
"accountId": "773107de-139e-48d1-9462-f4e88f251891",
"data": {
"amount": 1500.00,
"currency": "BRL",
"status": "SUCCESS",
"completedAt": "2026-03-18T15:30:00Z",
"source": {
"name": "来源公司",
"taxId": "12345678000100"
},
"destination": {
"name": "目标公司",
"taxId": "12345678000200"
}
}
}

要接收这些 webhooks,请在订阅的事件类型中包含 transfer.internal.in 和/或 transfer.internal.out

常见错误

状态码消息原因
400destinationAccountId is required缺少必填字段
400value must be positive金额无效
404destination account not found未找到目标账户 (by-bank-account)
422insufficient_balance源账户余额不足
502unable to create internal transfer银行合作方错误