微信公众号支付接口
接口名称
openapi.payment.order.h5pay
请求方式
POST
请求头
application/json; charset=utf-8
请求业务参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 |
---|---|---|---|---|
merchant_order_sn | string | 是 | 32 | 第三方商户订单号,确保唯一,前后不允许带空格 |
open_id | string | 是 | 32 | 授权接口返回的第一个参数 |
sub_open_id | string | 是 | 32 | 授权接口返回的第二个参数 |
total_fee | float | 是 | 10 | 订单金额(元) |
store_id | int | 否 | 10 | 门店ID,当存在多个门店时,此字段必填;需与微信网页授权接口所传store_id一致! |
cashier_id | int | 否 | 10 | 收银员ID |
body | string | 否 | 128 | 对交易或商品的描述(微信上body值显示在商品,支付宝上body值显示在商品说明) |
call_back_url | string | 否 | 256 | 支付成功后回调链接 |
attach | string | 否 | 127 | 附加字段 |
goods_tag | string | 否 | 不定 | 订单优惠标记,代金券或立减优惠功能的参数【若为单品券则必填】 |
detail | string | 否 | 6000 | 商品详细描述,Json格式,对于使用单品优惠的商户,该字段必须按照规范上传,详见“单品优惠参数说明” |
sub_appid | string | 否 | 不定 | 公众号appid |
timeout_express | string | 否 | 14 | 订单失效时间 格式为yyyyMMddHHmmss,如2009年12月27日9点10分10秒表示为20091227091010。 建议:最短失效时间间隔大于1分钟 大于当前下单时间 |
以下为单品优惠活动detail字段列表说明:
变量名 | 类型 | 是否必填 | 描述 |
---|---|---|---|
cost_price | int | 否 | 1.商户侧一张小票订单可能被分多次支付,订单原价用于记录整张小票的交易金额。 2.当订单原价与支付金额不相等,则不享受优惠。 3.该字段主要用于防止同一张小票分多次支付,以享受多次优惠的情况,正常支付订单不必上传此参数。 |
receipt_id | String(32) | 否 | 商家小票ID |
goods_detail | String | 是 | 单品信息,使用Json数组格式提交,见下文说明 |
以下为单品优惠活动goods_detail字段说明:
变量名 | 类型 | 是否必填 | 描述 |
---|---|---|---|
goods_id | String(32) | 是 | 商品编码 |
goods_name | String(256) | 是 | 商品名称 |
quantity | int | 是 | 商品数量 |
price | int | 是 | 商品单价,单位为分 |
- 请求示例:
{
"app_id":"20161206150707772500",
"method":"openapi.payment.order.h5pay",
"format":"json",
"sign_method":"md5",
"nonce":"87sdf9806sdf73jkds",
"biz_content":"{\"attach\":\"\订\单:123456\",\"merchant_order_sn\":\"20160120105532861111\",\"total_fee\":88.00,\"store_id\":2299,\"open_id\":\"oig3WstIhJj8O4XhQpQBypXLrJIE\",\"sub_open_id\":\"oig3WstIhJj8O4XhQpQBypXLrJIE\"}",
"sign":"3ADC3EFD721AADDC115A98617E50F776"
}
成功响应参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 |
---|---|---|---|---|
prepay_id | string | 是 | 32 | 预支付订单号 |
order_sn | string | 是 | 32 | 付呗订单号 |
merchant_order_sn | string | 是 | 32 | 第三方订单号 |
store_id | int | 是 | 16 | 付呗系统的门店id |
cashier_id | int | 否 | 16 | 付呗系统的收银员id |
user_id | string | 否 | 32 | 微信顾客支付授权的“open_id”或者支付宝顾客的“buyer_user_id” |
sign_params | json | 是 | 255 | 唤起支付时的签名包 |
sign_params参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 |
---|---|---|---|---|
appId | string | 是 | 16 | 商户注册具有支付权限的公众号成功后即可获得 |
timeStamp | string | 是 | 32 | 当前的时间,自1970年以来的秒数 |
nonceStr | string | 是 | 32 | 随机字符串,不长于32位 |
package | string | 是 | 128 | 统一下单接口返回的prepay_id参数值,提交格式如:prepay_id=123456 |
signType | string | 是 | 32 | 签名类型,默认为RSA |
paySign | string | 是 | 64 | 签名 |
- 响应示例:
{ "result_message": "成功", "data": { "prepay_id": "123456789", "order_sn": "20190704152838983946", "merchant_order_sn": "2019070426784", "sign_params": { "appId": "987654321", "timeStamp": "1562225320", "nonceStr": "uQntbGGVkc6dJu5T", "package": "prepay_id=123456789", "signType": "MD5", "paySign": "AE2F746BF64505E9B6A45D43E27D5648" }, "store_id": 123456, "cashier_id": 0, "user_id": "" }, "result_code": 200 }
失败响应参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 |
---|---|---|---|---|
merchant_order_sn | string | 是 | 32 | 第三方商户订单号 |
order_sn | string | 是 | 32 | 付呗订单号 |
sub_code | string | 否 | 不定 | 平台方错误码 |
- 响应示例:
{ "result_message": "您的帐号需要进行服务商验证,请联系您的服务商或付呗客服。", "data": { "order_sn": "20170208150614903171", "merchant_order_sn": "20160120105532861111" }, "result_code": 400 "sub_code":"NO_ORDER" }