支付接口
接口描述:
1) 支付订单:支付订单业务成功后, 支付系统将向商户系统发起回调(同步和异步)
回调地址为订单请求时请求参数中的 notifyURL 和 returnURL,如果该地址为空(null或空字符串),则不向商户系统发起回调请求。
2) 转账订单:转账订单业务成功或失败后,支付系统将向商户系统发起回调
回调地址为交易时候请求参数中的 notifyURL,如果该地址为空(null或空字符串),则不向商户系统发起回调请求。
业务方向
支付系统 -> 商户系统
安全约束
请求数据签名
请求URL:
notifyURL 和 returnURL
请求方式:
异步回调 notifyURL POST
同步回调 returnURL GET
Header
| 参数名 | 必需 |
类型 | 说明 |
|---|---|---|---|
| Content-Type | 是 | string | application/json |
请求参数:
| 参数名 | 类型 | 数据规格 |
说明 说明 |
|---|---|---|---|
| merchantNo | long | 不为空 最大长度:22 | 商户号 |
| orderNo | String | 不为空,最大长度:22 | 支付系统订单号 |
| merchantOrderNo | String | 不为空, | 商户系统订单号 |
| amount | dicimal | 不为空,最大长度:10 | 订单金额 |
| currency | int | 不为空,最大长度:1 | 币种,1是 CNY 人民币 |
| orderType | int | 不为空,最大长度:1 | 订单类型:1支付订单,2 转账订单 |
| status | int | 不为空,最大长度:1 | 转账订单状态,更多状态请参见数据字典 |
| statusMsg | String | 不为空,最大长度:10 | 状态描述 |
| timestamp | long | 不为空,最大长度:11 | 时间戳 |
| sign | String | 不为空,最大长度:64 | 签名 |
调用示例:
shell
curl --request POST \
--url https://a.merchant.com/api/webhook \
--header 'Content-type: application/json' \
--data '{
"merchantNo": 22190316182634496,
"orderNo": "F22330938439041024",
"merchantOrderNo": "32e6df0ab6df44eb85d0d3adec590eaf",
"amount": "100",
"currency": 1,
"status": 5,
"orderType": 2,
"statusMsg": "PROCESSING",
"timestamp": 1767167178992,
"sign": "470919b121461c756e4171e23c77ad10"
}'
json
{
"merchantNo": 22190316182634496,
"orderNo": "F22330938439041024",
"merchantOrderNo": "32e6df0ab6df44eb85d0d3adec590eaf",
"amount": "100",
"currency": 1,
"status": 5,
"orderType": 2,
"statusMsg": "PROCESSING",
"timestamp": 1767167178992,
"sign": "470919b121461c756e4171e23c77ad10"
}
返回示例:
成功响应时
SUCCESS
备注:
当支付在发起异步回调时候,收到字符串"SUCCESS"时,会认为回调成功.否则,会进行最多5次的异步回调尝试。
商户系统未接受到回调时候,可主动查询订单来确认订单状态