wechat pay

统一支付接口

URL 地址:https://api.mch.weixin.qq.com/pay/unifiedorder

统一支付接口,可接叐 JSAPI/NATIVE/APP 下预支付订单,返回预支付订单号。

NATIVE 支付返回二维码 code_url。

注意:JSAPI 下单前需要调用登录授权接口(详细调用说明请点击打开链接)获叏到用户的 Openid。

请求参数:

字段名 fieldName 变量名 必填 must 类型 说明
公众账号 ID appid String(32) 微信分配的公众账号 ID
商户号 mch_id String(32) 微信支付分配的商户号
设备号 device_info String(32) 微信支付分配的终端设备号
随机字符串 nonce_str String(32) 随机字符串,不长于 32 位
签名 sign String(32) 签名,详细签名方法见 3.2 节
商品描述 body String(127) 商品描述
附加数据 attach String(127) 附加数据,原样返回
商户订单号 out_trade_no String(32) 商户系统内部的订单号,32个字符内、可包含字母,确保在商户系统唯一,详细说明见 7.3 节第四项
总金额 total_fee Int 订单总金额,单位为分,不能带小数点
终端 IP spbill_create_ip String(16) 订单生成的机器 IP
交易起始时间 time_start String(14) 订单生成时间,格式为yyyyMMddHHmmss,如 2009 年12 月 25 日 9 点 10 分 10 秒表示为 20091225091010。时区为 GMT+8 beijing。该时间取自商户服务器
交易结束时间 time_expire String(14) 订单失效时间,格式为yyyyMMddHHmmss,如 2009 年12 月 27 日 9 点 10 分 10 秒表示为 20091227091010。时区为 GMT+8 beijing。该时间取自商户服务器
商品标记 goods_tag String(32) 商品标记,该字段不能随便填,不使用请填空,使用说明详见第 5 节
通知地址 notify_url String(256) 接收微信支付成功通知
交易类型 trade_type String(16) JSAPI、NATIVE、APP
用户标识 openid String(128) 用户在商户 appid下的唯一标识,trade_type 为 JSAPI时,此参数必传,获取方式见表头说明。
商品 ID product_id String(32) 只在 trade_type 为 NATIVE时需要填写。此 id 为二维码中包含的商品 ID,商户自行维护。

返回参数:

字段名 fieldName 变量名 必填 类型 说明
返回状态码 return_code String(16) SUCCESS/FAIL此字段是通信标识,非交易标识,交易是否成功需要查看 result_code 来判断
返回信息 return_msg String(128)返 回信息,如非空,为错误原因签名失败参数格式校验错误

以下字段在 return_code 为 SUCCESS 的时候有返回

字段名 fieldName 变量名 必填 类型 说明
公众账号 ID appid String(32) 微信分配的公众账号 ID
商户号 mch_id String(32) 微信支付分配的商户号
设备号 device_info String(32) 微信支付分配的终端设备号,
随机字符串 nonce_str String(32) 随机字符串,不长于 32 位
签名 sign String(32) 签名,详细签名方法见 3.2 节
业务结果 result_code String(16) SUCCESS/FAIL
错误代码 err_code String(32) 列表第 6 节
错误代码描述 err_code_des String(128) 结果信息描述

以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回

字段名 fieldName 变量名 必填 类型 说明
交易类型 trade_type String(16) JSAPI、NATIVE、APP
预支付 ID prepay_id String(64) 微信生成的预支付 ID,用于后续接口调用中使用
二维码链接 code_url String(64) trade_type 为 NATIVE 是有返回,此参数可直接生成二维码展示出来进行扫码支付