基础支付
JSAPI支付
APP支付
H5支付
Native支付
小程序支付
合单支付
付款码支付
经营能力
微信支付分(公共API)
微信支付分(免确认预授权模式)
微信支付分(需确认模式)
支付即服务
行业方案
智慧商圈
微信支付分停车服务
电子发票
营销工具
代金券
商家券
委托营销
支付有礼
小程序发券插件
H5发券
图片上传(营销专用)
现金红包
资金应用
商家转账到零钱
分账
风险合规
消费者投诉2.0
其他能力
清关报关
图片上传
视频上传
微信支付平台证书

APP下单API

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


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


接口说明

适用对象: 直连商户

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

请求方式:POST


path指该参数为路径参数

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

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


请求参数

参数名 变量 类型[长度限制] 必填 描述
应用ID appid string[1,32] body 由微信生成的应用ID,全局唯一。请求基础下单接口时请注意APPID的应用属性,直连模式下该id应为APP应用的id。
示例值:wxd678efh567hg6787
直连商户号 mchid string[1,32] body 直连商户的商户号,由微信支付生成并下发。
示例值:1230000109
商品描述 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
+ 订单金额 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 单品列表信息
条目个数限制:【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 商户门店信息
参数名 变量 类型[长度限制] 必填 描述
门店编号 id string[1,32] 商户侧门店编号
示例值:0001
门店名称 name string[1,256] 商户侧门店名称
示例值:腾讯大厦分店
地区编码 area_code string[1,32] 地区编码,详细请见省市区编号对照表
示例值:440305
详细地址 address string[1,512] 详细的商户门店地址
示例值:广东省深圳市南山区科技中一道10000号
+结算信息 settle_info object body 结算信息
参数名 变量 类型[长度限制] 必填 描述
是否指定分账 profit_sharing boolean 是否指定分账
示例值:false

请求示例


{
	"mchid": "1900006XXX",
	"out_trade_no": "APP1217752501201407033233368018",
	"appid": "wxb4ba3c02aa476XXX",
	"description": "Image形象店-深圳腾大-QQ公仔",
	"notify_url": "https://weixin.qq.com/",
	"amount": {
		"total": 1,
		"currency": "CNY"
	}
}
    
{
JAVA示例代码
}
    

返回参数

参数名 变量 类型[长度限制] 必填 描述
预支付交易会话标识 prepay_id string[1,64] 预支付交易会话标识。用于后续接口调用中使用,该值有效期为2小时
示例值:wx201410272009395522657a690389285100

返回示例


{
	"prepay_id": "wx261153585405162d4d02642eabe7000000"
}
                                

    http://2323weixin.qq.com
                                

错误码公共错误码

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


版本说明

关闭
V1.0
2020年05月26日
1. JSAPI下单接口上线

技术咨询

文档反馈