创建收银台订单
- 代收(收银台)
聚合了所有开通的支付方式
HTTP请求信息
TIP
POST baseUrl
+ /api/payDesk
HTTP请求头
请求头 | 必选 | 值 |
---|---|---|
Content-Type | Y | application/json |
MerchantId | Y | MerchantId |
Sign | Y | Sign |
HTTP请求体
参数名 | 必选 | 类型 | 示例值 | 字段说明 |
---|---|---|---|---|
currency | Y | string(32) | PEN | 货币代码(PEN ) |
amount | Y | decimal(20,2) | [10.00,2000.00] | 金额 |
reusableStatus | Y | boolean | false | 目前只能是false |
mchOrderNo | Y | string(32) | mch12345 | 商户订单号(不允许重复) |
expireTime | Y | long | 3600 | 过期时间(单位:秒)默认3600秒 不一定有效,部分通道支持 |
notifyUrl | Y | string(250) | https://acb.com/ | 回调地址 |
nonceStr | Y | string(32) | 162838128 | 随机数 |
remark | Y | string(32) | remark | 备注 (请使用英文字符或不带重音的西语) |
realName | Y | string(32) | Jack | 用户姓名 ,不校验真实性限制最长64个字符 |
phone | Y | string(32) | 949000031 , 51949000031 , +51949000031 | 手机号, 用户真实手机号 |
email | Y | string(32) | example@maildomain.com | 邮箱 ,必须是合法邮箱地址 ,不同用户不能重复 |
idType | Y | string(32) | 代收付款人证件类型 | |
idCard | Y | string(32) | 付款人证件号 | |
goodsSubject | N | string(32) | apple | 商户标题 |
goodsBody | N | string(32) | apple | 商品描述 |
TIP
注意回调地址仅支持https
或者http
协议的地址,如果地址是ip
地址,请务必使用公网域名。
TIP
创建收银台订单API接口仅接受符合基本规则的手机号。具体校验规则如下:
- +51开头的12位手机号。(仅由1个前导+号和11位纯数字组成)
- 51开头的11位纯数字手机号。
- 9开头的9位纯数字手机号。
例如 9xxxxxxxx , 519xxxxxxxx , +519xxxxxxxx
HTTP响应体说明
json
{
"msg": "SUCCESS",
"code": 200,
"data": {
"merchantId": "100001",
"mchOrderNo": "M165690800000001",
"orderNo": "PAYDESKxxxxxxxxxxxxxxxxxx",
"payUrl": "http://paydesk.testpage.com/PAYDESKxxxxxxxxxxxxxxx",
"amount": "100000",
"expireTime": "2022-12-06 17:48:40"
}
}
参数名 | 类型 | 参数说明 |
---|---|---|
merchantId | int | 商户Id |
mchOrderNo | string(32) | 商户订单号 |
orderNo | string(32) | 平台订单号 |
amount | decimal(20,2) | 金额 |
payUrl | string(250) | 收银台Url |
expireTime | date | 过期时间 |
收银台订单查询
名称 | 类型 |
---|---|
API端点 | /api/payDeskQuery |
请求方式 | POST |
请求头 | 参考 通用请求头 |
HTTP请求体
参数名 | 必选 | 类型 | 示例值 | 字段说明 |
---|---|---|---|---|
mchOrderNo | N | string(32) | P123456 | 商户订单号 |
orderNo | N | string(32) | PAYDESKxxxxxxxxxx | 平台订单号 |
nonceStr | Y | string(32) | 1628381288000 | 随机数 |
TIP
我们建议优先使用orderNo(平台订单号),平台订单号和商户订单号至少需要传递一个。
HTTP响应体说明
json
{
"msg": "SUCCESS",
"code": 200,
"data": {
"merchantId": "100001",
"mchOrderNo": "2a6421c4-3758-4d1a-b47e-f7d0e7133f9e",
"orderNo": "PAYDESKxxxxxxxxxx",
"payType": 154,
"payUrl": "http://paydesk.testpage.com/PAYDESKxxxxxxxxxx",
"amount": 10000.0,
"fee": 0,
"orderStatus": "PAYING",
"completionTime": null
}
}
参数名 | 类型 | 字段说明 |
---|---|---|
merchantId | int | 商户Id |
mchOrderNo | string(32) | 商户订单号 |
orderNo | string(32) | 平台订单号 |
payType | int | 支付类型,请参考代收paytype枚举 |
payUrl | string(250) | 收银台URL地址 |
amount | decimal(20,2) | 金额 |
fee | decimal(20,4) | 手续费 |
orderStatus | string(32) | 订单状态 收银台代收订单状态枚举 |
completionTime | date | 完成时间 |
TIP
fee
和 completionTime
仅在订单成功被支付时有值。completionTime
的格式为 yyyy-MM-dd HH:mm:ss
。
TIP
payType
仅在订单成功被支付时有值。
收银台异步回调
名称 | 类型 |
---|---|
API端点 | 商户提交订单的回调地址notifyUrl |
请求方式 | POST |
请求头 | 参考 通用请求头 |
异步通知结构
json
{
"orderStatus": "SUCCESS",
"amount": 10000.0,
"fee": 0,
"mchOrderNo": "2a6421c4-3758-4d1a-b47e-f7d0e7133f9e",
"merchantId": "100001",
"payType": 154,
"orderNo": "PAYDESKxxxxxxxxxxx",
"payUrl": "http://paydesk.testpage.com/PAYDESKxxxxxxxxxx",
"completionTime": "2022-08-08 08:08:08",
"nonceStr": "xxxxxxxxxx"
}
参数名 | 类型 | 说明 |
---|---|---|
merchantId | int | 商户Id |
mchOrderNo | string(32) | 商户订单号 |
orderNo | string(32) | 平台订单号 |
payType | int | 支付类型,请参考代收paytype枚举 |
amount | decimal(20,2) | 金额 |
fee | decimal(20,4) | 手续费 |
payUrl | string(32) | 收银台Url |
orderStatus | string(32) | 订单状态 收银台代收订单状态枚举 |
completionTime | date | 完成时间 |
nonceStr | string(32) | 随机数 |
TIP
fee
和 completionTime
仅在订单成功支付时有值。completionTime
的格式为 yyyy-MM-dd HH:mm:ss
。
TIP
Http响应状态码为200、301或302表示已正常发送回调,其它状态码我们会认为回调失败。 回调失败后会在1,2,4,8,16,32,64,128,256,512分钟
重试,一共重试回调10次。