接口端点
创建收款
概述
PUT /cob/:txid 接口端点创建一个与所提供的交易标识符(txid)关联的即时收款(cob)。此端点遵循巴西中央银行关于 PIX 收款的官方规范。
txid 是由您的系统生成的唯一标识符。必须包含 26 到 35 个字母数字字符。
接口端点
PUT /cob/{txid}身份认证
stringobrigatorio通过 /oauth/token 获取的 Bearer 令牌。
示例:Bearer eyJhbGciOiJSUzI1NiIs...
URL 参数
txidstringobrigatorio交易标识符。必须唯一,包含 26 到 35 个字母数字字符 [a-zA-Z0-9]。
示例:7978c0c97ea847e78e8849634473c1f1
请求体
objectobrigatorio收款的时间控制信息。
object付款人(债务人)数据。可以是个人(CPF)或法人实体(CNPJ)。
objectobrigatorio收款的货币金额。
string收款方的 PIX 密钥。可以是手机号、邮箱、CPF/CNPJ 或 EVP(随机密钥)。最长 77 个字符。
string给付款人的自由文本。最长 140 个字符。
array给付款人的附加信息列表。
请求
curl -X PUT https://api.public.firebanking.com.br/cob/7978c0c97ea847e78e8849634473c1f1 \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"calendario": {
"expiração": 3600
},
"devedor": {
"cpf": "12345678909",
"nome": "Carlos Oliveira"
},
"valor": {
"original": "123.45",
"modalidadeAlteração": 0
},
"chave": "7d9f0335-8dcc-4054-9bf9-0dbd61d36906",
"solicitaçãoPagador": "Serviço realizado.",
"infoAdicionais": [
{
"nome": "Pedido",
"valor": "#12345"
}
]
}'const response = await fetch(
'https://api.public.firebanking.com.br/cob/7978c0c97ea847e78e8849634473c1f1',
{
method: 'PUT',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
calendario: {
expiração: 3600,
},
devedor: {
cpf: '12345678909',
nome: 'Carlos Oliveira',
},
valor: {
original: '123.45',
modalidadeAlteração: 0,
},
chave: '7d9f0335-8dcc-4054-9bf9-0dbd61d36906',
solicitaçãoPagador: 'Serviço realizado.',
infoAdicionais: [
{ nome: 'Pedido', valor: '#12345' },
],
}),
}
);
const cobrança = await response.json();import requests
response = requests.put(
'https://api.public.firebanking.com.br/cob/7978c0c97ea847e78e8849634473c1f1',
headers={
'Authorization': f'Bearer {token}',
'Content-Type': 'application/json',
},
json={
'calendario': {
'expiração': 3600,
},
'devedor': {
'cpf': '12345678909',
'nome': 'Carlos Oliveira',
},
'valor': {
'original': '123.45',
'modalidadeAlteração': 0,
},
'chave': '7d9f0335-8dcc-4054-9bf9-0dbd61d36906',
'solicitaçãoPagador': 'Serviço realizado.',
'infoAdicionais': [
{'nome': 'Pedido', 'valor': '#12345'},
],
}
)
cobrança = response.json()响应
{
"calendario": {
"criação": "2024-01-15T10:30:00.358Z",
"expiração": 3600
},
"txid": "7978c0c97ea847e78e8849634473c1f1",
"revisão": 0,
"loc": {
"id": 12345,
"location": "00020126580014br.gov.bcb.pix0136a629532e-7693-4846-852d-1bbff817b5a8520400005303986540512.345802BR5916Tech Solutions Ltda6009Sao Paulo62070503***6304ABCD",
"tipoCob": "cob"
},
"location": "00020126580014br.gov.bcb.pix0136a629532e-7693-4846-852d-1bbff817b5a8520400005303986540512.345802BR5916Tech Solutions Ltda6009Sao Paulo62070503***6304ABCD",
"status": "ATIVA",
"devedor": {
"cpf": "12345678909",
"nome": "Carlos Oliveira"
},
"valor": {
"original": "123.45",
"modalidadeAlteração": 0
},
"chave": "7d9f0335-8dcc-4054-9bf9-0dbd61d36906",
"solicitaçãoPagador": "Serviço realizado.",
"infoAdicionais": [
{
"nome": "Pedido",
"valor": "#12345"
}
]
}{
"statusCode": 400,
"message": "CPF deve conter exatamente 11 dígitos numéricos",
"error": "Bad Request"
}{
"statusCode": 409,
"message": "Cobrança com este txid já existe",
"error": "Conflict"
}响应字段
calendarioobjecttxidstring请求中提供的交易标识符。
revisãonumber收款修订号。创建时始终为 0。
locobjectPIX 负载信息。
locationstringPIX 复制粘贴码(与 loc.location 值相同)。可用于支付的 EMV 格式字符串。
statusstring收款状态:
ATIVA:活跃收款,等待付款CONCLUIDA:已收到付款REMOVIDA_PELO_USUARIO_RECEBEDOR:被收款方取消REMOVIDA_PELO_PSP:被 PSP 移除
收款状态
stateDiagram-v2
[*] --> ATIVA: Charge created
ATIVA --> CONCLUIDA: Payment received
ATIVA --> REMOVIDA_PELO_USUARIO_RECEBEDOR: Cancelled
ATIVA --> REMOVIDA_PELO_PSP: Expired/Removed
CONCLUIDA --> [*]
REMOVIDA_PELO_USUARIO_RECEBEDOR --> [*]
REMOVIDA_PELO_PSP --> [*]付款 Webhook
当付款被确认时,您将收到一个类型为 RECEIVE 的 V2 Webhook:
{
"type": "RECEIVE",
"data": {
"id": 123,
"txId": "7978c0c97ea847e78e8849634473c1f1",
"status": "LIQUIDATED",
"payment": {
"amount": "123.45",
"currency": "BRL"
},
"endToEndId": "E12345678901234567890123456789012",
"debtorAccount": {
"name": "Carlos Oliveira",
"document": "123.xxx.xxx-xx"
}
}
}Webhooks V2
查看完整的 RECEIVE Webhook 文档
常见错误
| 状态码 | 错误 | 解决方案 |
|---|---|---|
| 400 | txid 不符合规则 | 使用 26-35 个字母数字字符 |
| 400 | CPF/CNPJ 无效 | 检查格式(仅限数字) |
| 400 | 金额无效 | 使用格式 "123.45"(带 2 位小数的字符串) |
| 401 | 令牌无效 | 续期访问令牌 |
| 409 | txid 已存在 | 使用不同的 txid |