支付接口
接口描述:
商户系统 向 支付系统发起支付请求,支付系统在收到请求后,验证处理并返回结果
业务方向
商户系统 -> 支付系统
安全约束
IP 白名单验证
请求数据签名验证
请求URL:
/api/unifiedOrder
请求方式:
POST
Header
| 参数名 | 必需 |
类型 | 说明 |
|---|---|---|---|
| Content-Type | 是 | string | application/json |
| Accept | 是 | string | application/json |
请求参数:
| 参数名 | 必需 |
类型 | 数据规格 |
说明 |
|---|---|---|---|---|
| merchantNo | 是 | long | 不能为null,最大长度:20 | 商户号(咨询客服) |
| merchantOrderNo | 是 | String | 最大长度:32,保障唯一 | 商户订单号,不可重复 |
| currency | 是 | int | 最大长度:1 | 币种,1是 CNY 人民币 |
| amount | 是 | dicimal | 最大长度:7 | 金额,最多支持两位小数 |
| notifyURL | 否 | String | 最大长度:128 | 异步回调地址,可为nul或空字符串,null时不参与计算签名和验签 |
| returnURL | 否 | String | 最大长度:128 | 同步回调地址,可为nul或空字符串,null时不参与计算签名和验签 |
| wayCode | 是 | String | 最大长度:32 | 支付方式,请见数据字典表wayCode |
| extras | 否 | String | 最大长度:256 | 扩展参数 |
| timestamp | 是 | long | 最大长度:12 | 毫秒级时间戳 |
| sign | 是 | String | 最大长度:64 | 签名数据 |
调用示例:
shell
curl --request POST \
--url https://xxx.com/api/unifiedOrder \
--header 'Content-type: application/json' \
--header 'Accept: application/json' \
--data '{
"merchantNo": 22190316182634888,
"merchantOrderNo": "92e6f005b40746ea82360a36f7c2e8a2",
"currency": 1,
"notifyURL": "https://www.baidu.com/api/test/demo/webhook/pay",
"wayCode": "ALI_PC",
"extras": "{}",
"amount": 100,
"timestamp": 1767108249845,
"returnURL": "https://www.baidu.com/api/test/demo/page/pay",
"sign": "08240cc7f7b6dd2749fc0bedfcea8bbe"
}'
json
{
"merchantNo": 22190316182634888,
"merchantOrderNo": "92e6f005b40746ea82360a36f7c2e8a2",
"currency": 1,
"notifyURL": "https://www.baidu.com/api/test/demo/webhook/pay",
"wayCode": "ALI_PC",
"extras": "{}",
"amount": 100,
"timestamp": 1767108249845,
"returnURL": "https://www.baidu.com/api/test/demo/page/pay",
"sign": "08240cc7f7b6dd2749fc0bedfcea8bbe"
}
返回示例:
成功响应时
{
"data": {
"merchantNo": 22190316182634496,
"orderNo": "S22327130531758080",
"merchantOrderNo": "f2132632807946fe9c870ed9ca770c54",
"dataType": "URL",
"redirectURL": "https://transaction.baidu.com/api/redirect/S22327130531758080",
"timestamp": 1767110426841,
"sign": "bfaa47fb40db1721a4e01932a41cb262"
},
"code": "0",
"message": "Successful"
}
错误时返回
{
"message": "账户不可用",
"code": "-1"
}
返回参数说明:
参数名 |
类型 |
说明 |
|---|---|---|
| code | String | 状态码 : 字符串0表示成功 |
| msg | String | 结果描述信息 |
| data | Object | 结果数据 |
data 数据结构说明:
参数名 |
类型 |
说明 |
|---|---|---|
| merchantNo | long | 商户号 |
| orderNo | String | 支付系统订单号 |
| merchantOrderNo | String | 商户系统订单号 |
| dataType | String | 数据类型,URL 或者 QRCODE |
| redirectURL | String | 重定向地址 |
| playload | String | 当dataType是QRCODE时候,此属性存在,且为二维码的base64的图片 |
| timestamp | long | 时间戳 |
| sign | String | 签名 |