统一下单

更新时间:2024.11.14

应用场景

服务商系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易会话标识后再返回给子商户在APP里面调起支付。

接口链接

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

是否需要证书

不需要

请求参数

字段名

变量名

必填

类型

示例值

描述

服务商的APPID

appid

String(32)

wxd678efh567hg6787

服务商商户的APPID

商户号

mch_id

String(32)

1230000109

服务商商户的商户号

子商户应用ID

sub_appid

String(32)

wx8888888888888888

特约商户在微信开放平台上申请的APPID

子商户号

sub_mch_id

String(32)

1900000109

特约商户的商户号

设备号

device_info

String(32)

013467007045764

终端设备号(门店号或收银设备ID),默认请传"WEB"

随机字符串

nonce_str

String(32)

5K8264ILTKCH16CQ2502SI8ZNMTM67VS

随机字符串,不长于32位。推荐随机数生成算法

签名

sign

String(64)

C380BEC2BFD727A4B6845133519F3AD6

服务商生成的签名,规则详见签名生成算法

商品描述

body

String(127)

Ipad mini  16G  白色

商品或支付单简要描述

商品详情

detail

String(8192)

Ipad mini  16G  白色

商品名称明细列表

附加数据

attach

String(127)

深圳分店

附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据

商户订单号

out_trade_no

String(32)

20150806125346

商户系统内部订单号,要求32个字符内(最少6个字符),只能是数字、大小写字母_-|*且在同一个商户号下唯一。详见商户订单号

总金额

total_fee

int

888

订单总金额,单位为分,详见支付金额

终端IP

spbill_create_ip

String(64)

123.12.12.123

支持IPV4和IPV6两种格式的IP地址。调用微信支付API的机器IP

交易起始时间

time_start

String(14)

20091225091010

订单生成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则

交易结束时间

time_expire

String(14)

20091227091010

订单失效时间,格式为yyyyMMddHHmmss,如2009年12月27日9点10分10秒表示为20091227091010。其他详见时间规则

订单优惠标记

goods_tag

String(32)

WXG

商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠

通知地址

notify_url

String(256)

https://www.weixin.qq.com/wxpay/pay.php

接收微信支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数。公网域名必须为https,如果是走专线接入,使用专线NAT IP或者私有回调域名可使用http。

交易类型

trade_type

String(16)

APP

支付类型

指定支付方式

limit_pay

String(32)

no_credit

no_credit--指定不能使用信用卡支付

开发票入口开放标识

receipt

String(8)

Y

Y,传入Y时,支付成功消息和支付详情页将出现开票入口。需要在微信支付商户平台或微信公众平台开通电子发票功能,传此字段才可生效

是否需要分账

profit_sharing

String(16)

Y

Y-是,需要分账
N-否,不分账
字母要求大写,不传默认不分账

场景信息

scene_info

String(256)

{"store_info" : {
"id": "SZTX001",
"name": "腾大餐厅",
"area_code": "440305",
"address": "科技园中一路腾讯大厦" }}

该字段常用于线下活动时的场景信息上报,支持上报实际门店信息,商户也可以按需求自己上报相关信息。该字段为JSON对象数据,对象格式为{"store_info":{"id": "门店ID","name": "名称","area_code": "编码","address": "地址" }} ,字段详细说明请点击下行的>展开

场景信息

举例如下:

1<xml>
2   <appid>wx2421b1c4370ec43b</appid>
3   <attach>支付测试</attach>
4   <body>APP支付测试</body>
5   <mch_id>10000100</mch_id>
6   <sub_appid>wx8888888888888888</sub_appid>
7   <sub_mch_id>10000101</sub_mch_id>
8   <nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str>
9   <notify_url>https://wxpay.wxutil.com/pub_v2/pay/notify.v2.php</notify_url>
10   <out_trade_no>1415659990</out_trade_no>
11   <spbill_create_ip>14.23.150.211</spbill_create_ip>
12   <total_fee>1</total_fee>
13   <trade_type>APP</trade_type>
14   <sign>0CB01533B8C1EF103065174F50BCA001</sign>
15</xml>

注:参数值用XML转义即可,CDATA标签用于说明数据不被XML解析器解析。

返回结果

字段名

变量名

必填

类型

示例值

描述

返回状态码

return_code

String(16)

SUCCESS

SUCCESS/FAIL

此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断

返回信息

return_msg

String(128)

签名失败

返回信息,如非空,为错误原因,例如:签名失败、参数格式校验错误

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

字段名

变量名

必填

类型

示例值

描述

服务商的APPID

appid

String(32)

wx8888888888888888

服务商商户的APPID

商户号

mch_id

String(32)

1900000109

调用接口提交的商户号

子商户应用ID

sub_appid

String(32)

wx8888888888888888

子商户在微信开放平台上申请的APPID

子商户号

sub_mch_id

String(32)

1900000109

子商户的商户号

设备号

device_info

String(32)

013467007045764

调用接口提交的终端设备号,

随机字符串

nonce_str

String(32)

5K8264ILTKCH16CQ2502SI8ZNMTM67VS

微信返回的随机字符串

签名

sign

String(64)

C380BEC2BFD727A4B6845133519F3AD6

微信返回的签名,详见签名算法

业务结果

result_code

String(16)

SUCCESS

SUCCESS/FAIL

错误代码

err_code

String(32)

SYSTEMERROR

详细参见第6节错误列表

错误代码描述

err_code_des

String(128)

系统错误

错误返回的信息描述

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

字段名

变量名

必填

类型

示例值

描述

交易类型

trade_type

String(16)

JSAPI

调用接口提交的交易类型,取值如下:JSAPI,NATIVE,APP,详细说明见参数规定

预支付交易会话标识

prepay_id

String(64)

wx201410272009395522657a690389285100

微信生成的预支付会话标识,用于后续接口调用中使用,该值有效期为2小时,针对H5支付此参数无特殊用途

举例如下:

1<xml>
2   <return_code><![CDATA[SUCCESS]]></return_code>
3   <return_msg><![CDATA[OK]]></return_msg>
4   <appid><![CDATA[wx8888888888888888]]></appid>
5   <mch_id><![CDATA[10000100]]></mch_id>
6   <sub_appid><![CDATA[wx2421b1c4370ec43c]]></sub_appid>
7   <sub_mch_id><![CDATA[10000101]]></sub_mch_id>
8   <nonce_str><![CDATA[IITRi8Iabbblz1Jc]]></nonce_str>
9   <sign><![CDATA[7921E432F65EB8ED0CE9755F0E86D72F]]></sign>
10   <result_code><![CDATA[SUCCESS]]></result_code>
11   <prepay_id><![CDATA[wx201411101639507cbf6ffd8b0779950874]]></prepay_id>
12   <trade_type><![CDATA[APP]]></trade_type>
13</xml>

错误码

名称

描述

原因

解决方案

INVALID_REQUEST

参数错误

参数格式有误或者未按规则上传

订单重入时,要求参数值与原请求一致,请确认参数问题

NOAUTH

商户无此接口权限

商户未开通此接口权限

请商户前往申请此接口权限

ORDERPAID

商户订单已支付

商户订单已支付,无需重复操作

商户订单已支付,无需更多操作

ORDERCLOSED

订单已关闭

当前订单已关闭,无法支付

当前订单已关闭,请重新下单

SYSTEMERROR

系统错误

系统超时

系统异常,请用相同参数重新调用

APPID_NOT_EXIST

APPID不存在

参数中缺少APPID

请检查APPID是否正确

MCHID_NOT_EXIST

MCHID不存在

参数中缺少MCHID

请检查MCHID是否正确

APPID_MCHID_NOT_MATCH

appid和mch_id不匹配

appid和mch_id不匹配

请确认appid和mch_id是否匹配

LACK_PARAMS

缺少参数

缺少必要的请求参数

请检查参数是否齐全

OUT_TRADE_NO_USED

商户订单号重复

同一笔交易不能多次提交

请核实商户订单号是否重复提交

SIGNERROR

签名错误

参数签名结果不正确

请检查签名参数和方法是否都符合签名算法要求

XML_FORMAT_ERROR

XML格式错误

XML格式错误

请检查XML参数格式是否正确

REQUIRE_POST_METHOD

请使用post方法

未使用post传递参数 

请检查请求参数是否通过post方法提交

POST_DATA_EMPTY

post数据为空

post数据不能为空

请检查post数据是否为空

NOT_UTF8

编码格式错误

未使用指定编码格式

请使用UTF-8编码格式

 

反馈
咨询
目录
置顶