统一下单接口
此接口可用于服务器后端发起支付请求,会返回支付二维码链接、支付跳转url等。
请求信息
请求URL |
/api/pay/create |
请求方式 |
POST |
请求参数
参数名 |
类型 |
必填 |
示例值 |
说明 |
pid |
Int |
是 |
1001 |
商户ID |
method |
String |
是 |
web |
接口类型,详见接口类型列表 |
device |
String |
否 |
pc |
设备类型,仅通用网页支付需要传,详见设备类型列表 |
type |
String |
是 |
alipay |
支付方式,详见支付方式列表 |
out_trade_no |
String |
是 |
20160806151343349 |
商户订单号 |
notify_url |
String |
是 |
http://www.pay.com/notify_url.php |
服务器异步通知地址 |
return_url |
String |
是 |
http://www.pay.com/return_url.php |
页面跳转通知地址 |
name |
String |
是 |
VIP会员 |
商品名称,如超过127个字节会自动截取 |
money |
String |
是 |
1.00 |
商品金额,单位:元,最大2位小数 |
clientip |
String |
是 |
192.168.1.100 |
用户发起支付的IP地址 |
param |
String |
否 |
没有请留空 |
业务扩展参数,支付后原样返回 |
auth_code |
String |
否 |
|
被扫支付授权码,仅被扫支付需要传 |
sub_openid |
String |
否 |
|
用户Openid,仅JSAPI支付需要传 |
sub_appid |
String |
否 |
|
公众号AppId,仅JSAPI支付需要传 |
timestamp |
String |
是 |
1721206072 |
当前时间戳,10位整数,单位秒 |
sign |
String |
是 |
|
签名字符串,详见签名规则 |
sign_type |
String |
是 |
RSA |
签名类型,默认为RSA |
返回参数
参数名 |
类型 |
示例值 |
说明 |
code |
Int |
0 |
返回状态码,0为成功,其它值为失败 |
msg |
String |
|
错误信息,失败时返回原因 |
trade_no |
String |
20160806151343349 |
平台内部的订单号 |
pay_type |
String |
jump |
发起支付类型,详见发起支付类型说明 |
pay_info |
String |
weixin://wxpay/bizpayurl?pr=04IPMKM |
根据不同的发起支付类型,返回内容也不一样 |
timestamp |
String |
1721206072 |
当前时间戳,10位整数,单位秒 |
sign |
String |
|
签名字符串,详见签名规则 |
sign_type |
String |
RSA |
签名类型,默认为RSA |
返回示例
二维码支付返回示例:
{
"code": 0,
"trade_no": "20160806151343349",
"pay_type": "qrcode",
"pay_info": "weixin://wxpay/bizpayurl?pr=04IPMKM"
}
JSAPI支付返回示例:
{
"code": 0,
"trade_no": "20160806151343351",
"pay_type": "jsapi",
"pay_info": "{\"appId\":\"wx2421b1c4370ec43b\",\"timeStamp\":\"1395712654\",\"nonceStr\":\"e61463f8efa94090b1f366cccfbbb444\",\"package\":\"prepay_id=up_wx21201855730335ac86f8c43d1889123400\",\"signType\":\"RSA\",\"paySign\":\"oR9d8PuhnIc+YZ8cBHFCwfgpaK9gd7vaRvkYD7rthRAZ\"}"
}
付款码支付返回示例:
{
"code": 0,
"trade_no": "2024072320222180092",
"pay_type": "scan",
"pay_info": "{\"type\":\"wxpay\",\"trade_no\":\"2024072320222180092\",\"api_trade_no\":\"4200002345202407238253501450\",\"buyer\":\"o9uAcc6VlZxhcujpKIqQuWWoDQc\",\"money\":\"1.00\"}"
}
小程序插件支付返回示例:
{
"code": 0,
"trade_no": "2024072320222180018",
"pay_type": "wxplugin",
"pay_info": "{\"appId\":\"wxc237fd59fbb634ae\",\"supplierId\":\"123456\",\"shopId\":\"123456\",\"orderId\":\"2024072320222180092\"}"
}
APP拉起小程序支付返回示例:
{
"code": 0,
"trade_no": "2024072320222180018",
"pay_type": "wxapp",
"pay_info": "{\"appId\":\"wxbb48bac536053072\",\"miniProgramId\":\"gh_bf9cd8cf50b5\",\"path\":\"pages/fromAppPay/index?orderid=123456\",\"extraData\":\"\"}"
}
接口类型列表
调用值 |
描述 |
web |
通用网页支付(会根据device判断,自动返回跳转url/二维码/小程序跳转url等) |
jump |
跳转支付(仅会返回跳转url) |
jsapi |
JSAPI支付(小程序内支付使用,仅返回JSAPI参数,需传入sub_openid和sub_appid参数) |
app |
APP支付(iOS/安卓APP内支付使用,仅返回APP支付参数,或APP拉起微信小程序参数) |
scan |
付款码支付(需传入auth_code参数,支付成功后返回订单信息) |
applet |
小程序支付(微信小程序内使用,返回微信小程序插件参数或跳转小程序参数) |
设备类型列表
调用值 |
描述 |
pc |
电脑浏览器(默认) |
mobile |
手机浏览器 |
qq |
手机QQ内浏览器 |
wechat |
微信内浏览器 |
alipay |
支付宝客户端 |
发起支付类型说明
发起支付类型 |
描述 |
jump |
返回支付跳转url |
html |
返回html代码,用于支付跳转 |
qrcode |
返回支付二维码 |
urlscheme |
返回微信/支付宝小程序跳转url scheme |
jsapi |
返回用于发起JSAPI支付的参数 |
app |
返回用于发起APP支付的参数 |
scan |
付款码支付成功,返回支付订单信息 |
wxplugin |
返回要拉起的微信小程序插件参数,用于未开通支付能力的小程序发起支付 |
wxapp |
返回要拉起的微信小程序和路径,用于APP内拉起微信小程序支付 |
其他说明
注意事项
- 代码中需根据接口返回的pay_type值来展示具体的支付页面,例如扫码页面等。如果不懂怎么展示支付页面,可在method传入jump,这样pay_type就只会返回jump,直接跳转支付即可。
- 付款码支付可不传支付类型type字段,会根据auth_code的数字自动判断支付类型。
- 微信小程序插件支付,不同支付平台拉起支付方式不一样,可联系客服获取对接小程序插件的文档。
- APP拉起微信小程序可参考微信官方文档。