跳到主要内容

JSAPI下单

支持微信公众号支付、微信小程序支付、支付宝JS支付等使用jsapi支付的场景。

请求接口

openapi/v2/pay/trans/jsapipay

公共参数

[接口协议 - 公共参数](/docs/openapi/v2/dev/rule/params.md

请求参数

参数必填类型说明
paymentString(16)支付方式. 支付方式
app_idString(32)微信支付时必填,商户公众号或小程序的appid
open_idString(32)微信支付时必填,商户公众号或小程序appid下获取的用户openid
user_idString(32)支付宝支付时必填,支付宝的用户userid
amountint支付金额,单位分
out_trade_noString(32)业务订单号,业务方保证唯一
subjectString(127)商品名或订单简要描述
client_ipString(32)客户端IP
time_startString(20)订单生成时间,格式为:yyyy-MM-dd HH:mm:ss,不传默认为当前时间
time_expireString(20)订单失效时间,格式为:yyyy-MM-dd HH:mm:ss,建议:最短失效时间间隔大于1分钟
currencyString(16)货币类型,默认人民币:CNY
limit_creditint是否限制使用信用卡,1为限制,0或不传为不限制,默认为0
attachString(127)附加信息,会跟订单信息一起原样返回
goods_tagString(32)商品标记,优惠券或单品营销使用
goods_detailsJson商品详情,Json结构,做单品优惠时传入。goods_details结构
is_miniappString(1)是否来自小程序,app_id为小程序时传"Y",默认为"N"(公众号jsapi支付)
notify_urlString(256)支付回调地址URL,不带参数

content请求示例

微信公众号支付
{
"payment": "WXPAY",
"amount": 2000,
"out_trade_no": "20241212180000001",
"subject": "云商品",
"client_ip": "61.144.11.222",
"notify_url": "http://p.abc.com/callback/20241212180000001/",
"app_id": "wxf636efh567hg4356",
"open_id": "o-MYE42l80oelYMDE34nYD456Xoy",
"goods_tag": "item_water12"
}
微信小程序支付
{
"payment": "WXPAY",
"amount": 2000,
"out_trade_no": "20241212193056001",
"subject": "小程序商品A",
"client_ip": "61.144.11.222",
"notify_url": "http://p.abc.com/callback/20241212193056001/",
"app_id": "wxf636efh567hg4356",
"open_id": "o-MYE42l80oelYMDE34nYD456Xoy",
"is_miniapp": "Y"
}
支付宝JS支付
{
"payment": "ALIPAY",
"amount": 2000,
"out_trade_no": "20241212194089001",
"subject": "ZFB商品B",
"client_ip": "61.144.11.222",
"notify_url": "http://p.abc.com/callback/20241212194089001/",
"user_id": "InfaYerGz4iC0rnrtOXeiUAr"
}

响应参数

名称必填类型说明
pay_noString聚合支付订单号,'600'开头
paymentString支付方式,WXPAY为微信,ALIPAY为支付宝,UNIONPAY为银联云闪付
amountint交易金额,单位:分
statusint支付状态。参见支付状态值枚举
pay_timeString支付时间,格式"yyyy-MM-dd HH:mm:ss"
wx_js_infoJsonpayment为微信时返回的支付信息,可原封不动返回前端唤起支付控件
ali_js_infoJsonpayment为支付宝时返回的支付信息,可原封不动返回前端唤起支付控件

js_info支付信息说明

当支付方式为WXPAY时,返回wx_js_info:
名称必填类型说明
app_idString发起微信支付的AppId
timestampString时间戳
nonce_strString随机字符串
packageString"prepay_id=xxxx"
sign_typeString签名类型
pay_signString支付签名
prepay_idString用于package,非必传
当支付方式为ALIPAY时,返回ali_js_info:
名称类型说明
trade_noString唤起支付宝钱包的交易号
当支付方式为UNIONPAY时,
  • 暂无返回

result返回值示例

列举各场景下的必传参数,可作参考。

payment为WXPAY
{
"pay_no": "60086150032145781",
"payment": "WXPAY",
"amount": 2000,
"status": 101,
"pay_time": "2024-12-12 18:00:02",
"wx_js_info": {
"app_id": "wxf636efh567hg4356",
"timestamp": "1733997603",
"nonce_str": "p2zioujhlwe823sz",
"package": "prepay_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"sign_type": "MD5",
"pay_sign": "892015b7ce6746cf9f2ea26acaff68f9"
}
}
payment为ALIPAY
{
"pay_no": "60086150032145781",
"payment": "ALIPAY",
"amount": 2000,
"status": 101,
"pay_time": "2024-12-12 18:00:02",
"ali_js_info": {
"trade_no": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}