跳到主要内容

创建交易

使用此端点为实体商品或数字商品的销售创建交易。

可用环境​

https://api.gateway.com.br/core

端点​

  • 方法:POST
  • 端点:/transaction
  • 认证方式:Bearer token

请求体​

⚠️ 重要:金额以分为单位

所有金额字段(amount、unitPrice)都必须以分为单位,并以整数发送。

示例:

  • R$10.00 = 1000
  • R$99.99 = 9999
  • R$100.50 = 10050

请勿使用: 99.99、10.00、负数 请使用: 9999、1000(始终为整数)

名称类型必填说明校验规则
amountnumber是交易金额(整数,以分为单位)必须为以分为单位的整数;最小 1(R$0.01),最大 10000000(R$100,000.00)
paymentMethodstring (enum) - PIX是支付方式必须为有效的枚举值
webhookUrlstring (URL)否接收通知的 HTTPS 地址必须为有效 URL,必须使用 https;不允许片段(#);必须包含主机名和顶级域名;允许查询参数
externalCodestring否您的参考编号长度须在 8 到 255 个字符之间
idempotencyKeystring是用于避免重复的唯一标识长度须在 8 到 255 个字符之间
customerobject否客户信息(参见子对象 Customer)
sellerobject否卖家信息(参见子对象 Seller)
isInfoProductboolean(默认值:true)否标识商品为数字商品或实体商品
addressobject是(当 isInfoProduct 为 false 时)客户地址(参见子对象 Address)
itemsobject[]否商品列表(参见子对象 Item)
metadataobject否元数据
名称类型必填说明校验规则
pixobject是(当 paymentMethod 为 PIX 时)PIX 信息(参见子对象 Pix)

子对象​

Customer​

字段类型必填说明校验规则
ipstring否IP 地址必须为有效的 IPv4 或 IPv6
namestring是姓名必须为国际通用的字母数字字符
documentstring是证件号码必须为有效的 CPF 或 CNPJ
emailobject否电子邮箱必须为有效的邮箱格式
landlineobject否固定电话必须为有效的固定电话格式
mobilePhoneobject否手机号码必须为有效的手机号码格式
birthdateobject否出生日期必须为不含时间的 ISO 日期字符串

Seller​

字段类型必填说明校验规则
namestring是姓名必须为国际通用的字母数字字符
documentstring是证件号码必须为有效的 CPF 或 CNPJ

Address​

字段类型必填说明校验规则
postalCodestring是巴西邮政编码(CEP)必须为有效的 CEP 格式
complementstring否补充信息长度须在 2 到 150 个字符之间
numberstring是门牌号长度须在 1 到 10 个字符之间,且只能为数字
streetstring是街道名称长度须在 2 到 200 个字符之间
neighborhoodstring是街区名称长度须在 2 到 100 个字符之间
citystring是城市名称长度须在 2 到 100 个字符之间
statestring是州名称或缩写长度须在 2 到 50 个字符之间
countrystring是国家名称长度须在 2 到 60 个字符之间

Item​

字段类型必填说明校验规则
titlestring是标题长度须在 2 到 150 个字符之间
descriptionstring否补充信息长度须在 2 到 255 个字符之间
unitPricenumber是商品金额(整数,以分为单位)必须为以分为单位的整数;最小 1(R$0.01),最大 10000000(R$100,000.00)
quantitynumber(默认值:1)否该商品的数量必须为整数;最小 1;最大 100

Pix​

字段类型必填说明校验规则
expirationSecondsnumber(默认值:1800,即 30 分钟)否PIX 二维码的有效时长,单位为秒必须为整数;最小 60;最大 86400

请求示例​

curl --request POST \
--url https://api.gateway.com.br/core/transaction \
--header 'Authorization: Bearer your-jwt-token' \
--header 'Content-Type: application/json' \
--data '{
"amount": 500,
"paymentMethod": "PIX",
"webhookUrl": "https://sua-api.com/webhooks/transaction",
"externalCode": "TRANSACTION-123",
"idempotencyKey": "unique-key-12345",
"customer": {
"ip": "123.123.123.123",
"name": "Customer",
"document": "123.123.123-12",
"email": "customer@gmail.com",
"landline": "(12) 12345-1234",
"mobilePhone": "(12) 12345-1234"
},
"seller": {
"name": "Seller",
"document": "123.123.123-12"
},
"isInfoProduct": false,
"address": {
"postalCode": "54753-800",
"number": "155",
"street": "Rua Santa Mariana",
"neighborhood": "São Pedro",
"city": "Camaragibe",
"state": "Pernambuco",
"country": "Brazil",
"complement": "Casa Azul"
},
"items": [
{
"title": "Fone Bluetooth PulseWave X200",
"unitPrice": 500,
"quantity": 1,
"description": "Fone de ouvido sem fio com cancelamento ativo de ruído, bateria de 30h e microfone embutido. Compatível com Android e iOS."
}
],
"metadata": {
"moeda": "BRL",
"autorizacao": "A1B2C3",
"status": "aprovada"
},
"pix": {
"expirationSeconds": 600
}
}'

成功响应​

字段类型必填说明
idstring (UUID)是交易的唯一标识
externalCodestring否您的参考编号
amountnumber是交易金额(整数,以分为单位)
typestring (enum) - TRANSACTION是
statusstring (enum) - PIX_QRCODE_GENERATED是
  • PIX_QRCODE_GENERATED:二维码已生成,等待付款
pixResponseobject是PIX 信息(参见子对象 PixResponse)

子对象​

PixResponse​

字段类型必填说明
uristring是二维码的复制粘贴码
qrCodeBase64string是二维码图片
expirationDatestring是二维码的过期时间

响应示例​

{
"id": "553e8400-e29b-41d4-a716-436251480000",
"externalCode": "TRANSACTION-123",
"amount": 500,
"status": "PIX_QRCODE_GENERATED",
"pixResponse": {
"uri": "00020126580014br.gov.bcb.pix0136123e4567-e89b-12d3-a456-426614174000",
"qrCodeBase64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
"expirationDate": "2026-03-06T12:49:04.681Z"
}
}

可能的错误​

状态码说明处理方式
401凭据无效请检查您的凭据
403无权限或未授权请联系技术支持
422数据无效或缺失请检查数据格式
422校验失败请联系技术支持
429请求过于频繁请稍后重试
500内部错误请联系技术支持