商户进件
特约商户进件
基础支付
JSAPI支付
APP支付
H5支付
Native支付
小程序支付
合单支付
付款码支付
经营能力
支付即服务
点金计划
行业方案
平台收付通(商户进件)
平台收付通(普通支付)
平台收付通(合单支付)
平台收付通(分账)
平台收付通(补差)
平台收付通(退款)
平台收付通(余额查询)
平台收付通(商户提现)
平台收付通(注销申请)
平台收付通(注销后提现)
平台收付通(跨境付款)
平台收付通(下载账单)
智慧商圈
微信支付分停车服务
电子发票
营销工具
代金券
商家券
委托营销
支付有礼
小程序发券插件
H5发券
图片上传(营销专用)
现金红包
资金应用
分账
连锁品牌分账
风险合规
商户开户意愿确认
消费者投诉2.0
商户违规通知回调
其他能力
图片上传
视频上传
微信支付平台证书

H5下单API

最新更新时间:2022.09.05 版本说明


商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易会话标识后再按Native、JSAPI、APP等不同场景生成交易串调起支付。


接口说明

适用对象: 服务商

请求URL:https://api.mch.weixin.qq.com/v3/pay/partner/transactions/h5

请求方式:POST


path指该参数为路径参数

query指该参数需在请求URL传参

body指该参数需在请求JSON传参


请求参数

参数名 变量 类型[长度限制] 必填 描述
服务商应用ID sp_appid string[1,32] body 服务商申请的公众号appid。
示例值:wx8888888888888888
服务商户号 sp_mchid string[1,32] body 服务商户号,由微信支付生成并下发
示例值:1230000109
子商户应用ID sub_appid string[1,32] body 子商户申请的公众号appid。
示例值:wxd678efh567hg6999
子商户号 sub_mchid string[1,32] body 子商户的商户号,由微信支付生成并下发。
示例值:1900000109
商品描述 description string[1,127] body 商品描述
示例值:Image形象店-深圳腾大-QQ公仔
商户订单号 out_trade_no string[6,32] body 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一。
示例值:1217752501201407033233368018
交易结束时间 time_expire string[1,64] body 订单失效时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
示例值:2018-06-08T10:34:56+08:00
附加数据 attach string[1,128] body 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
示例值:自定义数据  
通知地址 notify_url string[1,256] body 通知URL必须为直接可访问的URL,不允许携带查询串,要求必须为https地址。
格式:URL
示例值:https://www.weixin.qq.com/wxpay/pay.php
订单优惠标记 goods_tag string[1,32] body 订单优惠标记
示例值:WXG
电子发票入口开放标识 support_fapiao boolean body 传入true时,支付成功消息和支付详情页将出现开票入口。需要在微信支付商户平台或微信公众平台开通电子发票功能,传此字段才可生效。
true:是
false:否
示例值:true
+ 结算信息 settle_info object body 结算信息
参数名 变量 类型[长度限制] 必填 描述
是否指定分账 profit_sharing boolean 是否指定分账,枚举值
true:是
false:否
示例值:true
+ 订单金额 amount object body 订单金额信息
参数名 变量 类型[长度限制] 必填 描述
总金额 total int 订单总金额,单位为分。
示例值:100
货币类型 currency string[1,16] CNY:人民币,境内商户号仅支持人民币。
示例值:CNY
+ 优惠功能 detail object body 优惠功能
参数名 变量 类型[长度限制] 必填 描述
订单原价 cost_price int 1、商户侧一张小票订单可能被分多次支付,订单原价用于记录整张小票的交易金额。
2、当订单原价与支付金额不相等,则不享受优惠。
3、该字段主要用于防止同一张小票分多次支付,以享受多次优惠的情况,正常支付订单不必上传此参数。
示例值:608800
商品小票ID invoice_id string[1,32] 商家小票ID
示例值:微信123
+ 单品列表 goods_detail array 单品列表信息
对于json结构体参数,内层参数的必填属性仅在结构体有传参的情况下才生效,即如果json结构体都不传参,则内层参数必定全部都不传参。
条目个数限制:【1,6000】
参数名 变量 类型[长度限制] 必填 描述
商户侧商品编码 merchant_goods_id string[1,32] 由半角的大小写字母、数字、中划线、下划线中的一种或几种组成。
示例值:1246464644
微信支付商品编码 wechatpay_goods_id string[1,32] 微信支付定义的统一商品编号(没有可不传)
示例值:1001
商品名称 goods_name string[1,256] 商品的实际名称
示例值:iPhoneX 256G
商品数量 quantity int 用户购买的数量
示例值:1
商品单价 unit_price int 单位为:分。如果商户有优惠,需传输商户优惠后的单价(例如:用户对一笔100元的订单使用了商场发的纸质优惠券100-50,则活动商品的单价应为原单价-50)
示例值:528800
+ 场景信息 scene_info object body 支付场景描述
参数名 变量 类型[长度限制] 必填 描述
用户终端IP payer_client_ip string[1,45] 用户的客户端IP,支持IPv4和IPv6两种格式的IP地址。
示例值:14.23.150.211
商户端设备号 device_id string[1,32] 商户端设备号(门店号或收银设备ID)。
示例值:013467007045764
+ 商户门店信息 store_info object 商户门店信息
对于json结构体参数,内层参数的必填属性仅在结构体有传参的情况下才生效,即如果json结构体都不传参,则内层参数必定全部都不传参。
参数名 变量 类型[长度限制] 必填 描述
门店编号 id string[1,32] 商户侧门店编号
示例值:0001
门店名称 name string[1,256] 商户侧门店名称
示例值:腾讯大厦分店
地区编码 area_code string[1,32] 地区编码,详细请见省市区编号对照表
示例值:440305
详细地址 address string[1,512] 详细的商户门店地址
示例值:广东省深圳市南山区科技中一道10000号
+ H5场景信息 h5_info object H5场景信息
参数名 变量 类型[长度限制] 必填 描述
场景类型 type string[1,32] 场景类型
示例值:iOS, Android, Wap
应用名称 app_name string[1,64] 应用名称
示例值:王者荣耀
网站URL app_url string[1,128] 网站URL
示例值:https://pay.qq.com
iOS平台BundleID bundle_id string[1,128] iOS平台BundleID
示例值:com.tencent.wzryiOS
Android平台PackageName package_name string[1,128] Android平台PackageName
示例值:com.tencent.tmgp.sgame

请求示例


{
	"sp_mchid": "1900006XXX",
	"out_trade_no": "H51217752501201407033233368018",
	"sp_appid": "wxdace645e0bc2cXXX",
	"sub_mchid": "1900006XXX",
	"description": "Image形象店-深圳腾大-QQ公仔",
	"notify_url": "https://weixin.qq.com/",
	"amount": {
		"total": 1,
		"currency": "CNY"
	},
	"scene_info": {
		"payer_client_ip": "127.0.0.1",
		"h5_info": {
			"type": "Wap"
		}
	}
}
    
{
JAVA示例代码
}
    

返回参数

参数名 变量 类型[长度限制] 必填 描述
支付跳转链接 h5_url string[1,512] h5_url为拉起微信支付收银台的中间页面,可通过访问该url来拉起微信客户端,完成支付,h5_url的有效期为5分钟。
示例值:https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx2016121516420242444321ca0631331346&package=1405458241

返回示例


{	
"h5_url": "https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx2016121516420242444321ca0631331346&package=1405458241"
}
                                

    http://2323weixin.qq.com
                                

错误码公共错误码

状态码 错误码 描述 解决方案
403 TRADE_ERROR 交易错误 因业务原因交易失败,请查看接口返回的详细信息
500 SYSTEMERROR 系统错误 系统异常,请用相同参数重新调用
401 SIGN_ERROR 签名错误 请检查签名参数和方法是否都符合签名算法要求
403 RULELIMIT 业务规则限制 因业务规则限制请求频率,请查看接口返回的详细信息
400 PARAM_ERROR 参数错误 请根据接口返回的详细信息检查请求参数
403 OUT_TRADE_NO_USED 商户订单号重复 请核实商户订单号是否重复提交
404 ORDERNOTEXIST 订单不存在 请检查订单是否发起过交易
400 ORDER_CLOSED 订单已关闭 当前订单已关闭,请重新下单
500 OPENID_MISMATCH openid和appid不匹配 请确认openid和appid是否匹配
403 NOAUTH 商户无权限 请商户前往申请此接口相关权限
400 MCH_NOT_EXISTS 商户号不存在 请检查商户号是否正确
500 INVALID_TRANSACTIONID 订单号非法 请检查微信支付订单号是否正确
400 INVALID_REQUEST 无效请求 请根据接口返回的详细信息检查
429 FREQUENCY_LIMITED 频率超限 请降低请求接口频率
500 BANKERROR 银行系统异常 银行系统异常,请用相同参数重新调用
400 APPID_MCHID_NOT_MATCH appid和mch_id不匹配 请确认appid和mch_id是否匹配
403 ACCOUNTERROR 账号异常 用户账号异常,无需更多操作


技术咨询

文档反馈