一起源码网

  • www.171739.xyz
  • 全球最大的互联网技术和资源下载平台
搜索
一起源码网 门户 高级进阶 查看主题

微信小程序支付(微信支付)文档API列表:查阅订单,统一下单,关闭订单, ... ...

发布者: lzbj74 | 发布时间: 2018-1-4 03:43| 查看数: 2083| 评论数: 1|帖子模式

统一下单

应用场景

商户在小程序中先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易后调起支付。

接口链接

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

是否需要证书

请求参数

字段名变量名必填类型示例值描述
小程序IDappidString(32)wxd678efh567hg6787微信分配的小程序ID
商户号mch_idString(32)1230000109微信支付分配的商户号
设备号device_infoString(32)013467007045764终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传"WEB"
随机字符串nonce_strString(32)5K8264ILTKCH16CQ2502SI8ZNMTM67VS随机字符串,不长于32位。推荐随机数生成算法
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6签名,详见签名生成算法
签名类型sign_typeString(32)HMAC-SHA256签名类型,目前支持HMAC-SHA256和MD5,默认为MD5
商品描述bodyString(128)腾讯充值中心-QQ会员充值

商品简单描述,该字段须严格按照规范传递,具体请见参数规定

商品详情detailString(6000){
"goods_detail":[
{
"goods_id":"iphone6s_16G",
"wxpay_goods_id":"1001",
"goods_name":"iPhone6s 16G",
"quantity":1,
"price":528800,
"goods_category":"123456",
"body":"苹果手机"
},
{
"goods_id":"iphone6s_32G",
"wxpay_goods_id":"1002",
"goods_name":"iPhone6s 32G",
"quantity":1,
"price":608800,
"goods_category":"123789",
"body":"苹果手机"
}
]
}

商品详细列表,使用Json格式,传输签名前请务必使用CDATA标签将JSON文本串保护起来。

goods_detail []:
└ goods_id String 必填 32 商品的编号
└ wxpay_goods_id String 可选 32 微信支付定义的统一商品编号
└ goods_name String 必填 256 商品名称
└ quantity Int 必填 商品数量
└ price Int 必填 商品单价,单位为分
└ goods_category String 可选 32 商品类目ID
└ body String 可选 1000 商品描述信息

附加数据attachString(127)深圳分店附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据
商户订单号out_trade_noString(32)20150806125346商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
货币类型fee_typeString(16)CNY符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型
总金额total_feeInt888订单总金额,单位为分,详见支付金额
终端IPspbill_create_ipString(16)123.12.12.123APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP。
交易起始时间time_startString(14)20091225091010订单生成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则
交易结束时间time_expireString(14)20091227091010

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

注意:最短失效时间间隔必须大于5分钟
商品标记goods_tagString(32)WXG商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠
通知地址notify_urlString(256)http://www.weixin.qq.com/wxpay/pay.php接收微信支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数。
交易类型trade_typeString(16)JSAPI小程序取值如下:JSAPI,详细说明见参数规定
指定支付方式limit_payString(32)no_creditno_credit--指定不能使用信用卡支付
用户标识openidString(128)oUpF8uMuAJO_M2pxb1Q9zNjWeS6otrade_type=JSAPI,此参数必传,用户在商户appid下的唯一标识。openid如何获取,可参考【获取openid】。

举例如下:

<xml>
   <appid>wx2421b1c4370ec43b</appid>
   <attach>支付测试</attach>
   <body>JSAPI支付测试</body>
   <mch_id>10000100</mch_id>
   <detail><![CDATA[{ "goods_detail":[ { "goods_id":"iphone6s_16G", "wxpay_goods_id":"1001", "goods_name":"iPhone6s 16G", "quantity":1, "price":528800, "goods_category":"123456", "body":"苹果手机" }, { "goods_id":"iphone6s_32G", "wxpay_goods_id":"1002", "goods_name":"iPhone6s 32G", "quantity":1, "price":608800, "goods_category":"123789", "body":"苹果手机" } ] }]]></detail>
   <nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str>
   <notify_url>http://wxpay.wxutil.com/pub_v2/pay/notify.v2.php</notify_url>
   <openid>oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</openid>
   <out_trade_no>1415659990</out_trade_no>
   <spbill_create_ip>14.23.150.211</spbill_create_ip>
   <total_fee>1</total_fee>
   <trade_type>JSAPI</trade_type>
   <sign>0CB01533B8C1EF103065174F50BCA001</sign>
</xml>

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

返回结果

字段名变量名必填类型示例值描述
返回状态码return_codeString(16)SUCCESS

SUCCESS/FAIL

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

返回信息return_msgString(128)签名失败

返回信息,如非空,为错误原因

签名失败

参数格式校验错误

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

字段名变量名必填类型示例值描述
小程序IDappidString(32)wx8888888888888888调用接口提交的小程序ID
商户号mch_idString(32)1900000109调用接口提交的商户号
设备号device_infoString(32)013467007045764调用接口提交的终端设备号,
随机字符串nonce_strString(32)5K8264ILTKCH16CQ2502SI8ZNMTM67VS微信返回的随机字符串
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6微信返回的签名,详见签名算法
业务结果result_codeString(16)SUCCESSSUCCESS/FAIL
错误代码err_codeString(32)SYSTEMERROR详细参见第6节错误列表
错误代码描述err_code_desString(128)系统错误错误返回的信息描述

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

字段名变量名必填类型示例值描述
交易类型trade_typeString(16)JSAPI调用接口提交的交易类型,取值如下:JSAPI,详细说明见参数规定
预支付交易会话标识prepay_idString(64)wx201410272009395522657a690389285100微信生成的预支付回话标识,用于后续接口调用中使用,该值有效期为2小时

举例如下:

<xml>
   <return_code><![CDATA[SUCCESS]]></return_code>
   <return_msg><![CDATA[OK]]></return_msg>
   <appid><![CDATA[wx2421b1c4370ec43b]]></appid>
   <mch_id><![CDATA[10000100]]></mch_id>
   <nonce_str><![CDATA[IITRi8Iabbblz1Jc]]></nonce_str>
   <sign><![CDATA[7921E432F65EB8ED0CE9755F0E86D72F]]></sign>
   <result_code><![CDATA[SUCCESS]]></result_code>
   <prepay_id><![CDATA[wx201411101639507cbf6ffd8b0779950874]]></prepay_id>
   <trade_type><![CDATA[JSAPI]]></trade_type>
</xml>

错误码

名称描述原因解决方案
NOAUTH商户无此接口权限商户未开通此接口权限请商户前往申请此接口权限
NOTENOUGH余额不足用户帐号余额不足用户帐号余额不足,请用户充值或更换支付卡后再支付
ORDERPAID商户订单已支付商户订单已支付,无需重复操作商户订单已支付,无需更多操作
ORDERCLOSED订单已关闭当前订单已关闭,无法支付当前订单已关闭,请重新下单
SYSTEMERROR系统错误系统超时系统异常,请用相同参数重新调用
APPID_NOT_EXISTAPPID不存在参数中缺少APPID请检查APPID是否正确
MCHID_NOT_EXISTMCHID不存在参数中缺少MCHID请检查MCHID是否正确
APPID_MCHID_NOT_MATCHappid和mch_id不匹配appid和mch_id不匹配请确认appid和mch_id是否匹配
LACK_PARAMS缺少参数缺少必要的请求参数请检查参数是否齐全
OUT_TRADE_NO_USED商户订单号重复同一笔交易不能多次提交请核实商户订单号是否重复提交
SIGNERROR签名错误参数签名结果不正确请检查签名参数和方法是否都符合签名算法要求
XML_FORMAT_ERRORXML格式错误XML格式错误请检查XML参数格式是否正确
REQUIRE_POST_METHOD请使用post方法未使用post传递参数 请检查请求参数是否通过post方法提交
POST_DATA_EMPTYpost数据为空post数据不能为空请检查post数据是否为空
NOT_UTF8编码格式错误未使用指定编码格式请使用UTF-8编码格式

查询订单

应用场景

该接口提供所有微信支付订单的查询,商户可以通过查询订单接口主动查询订单状态,完成下一步的业务逻辑。

需要调用查询接口的情况:

  1. ◆ 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知;
  2. ◆ 调用支付接口后,返回系统错误或未知交易状态情况;
  3. ◆ 调用被扫支付API,返回USERPAYING的状态;
  4. ◆ 调用关单或撤销接口API之前,需确认支付状态;

接口链接

https://api.mch.weixin.qq.com/pay/orderquery

是否需要证书

不需要

请求参数

字段名变量名必填类型示例值描述
小程序IDappidString(32)wxd678efh567hg6787微信分配的小程序ID
商户号mch_idString(32)1230000109微信支付分配的商户号
微信订单号transaction_id二选一String(32)1009660380201506130728806387微信的订单号,优先使用
商户订单号out_trade_noString(32)20150806125346商户系统内部的订单号,当没提供transaction_id时需要传这个。
随机字符串nonce_strString(32)C380BEC2BFD727A4B6845133519F3AD6随机字符串,不长于32位。推荐随机数生成算法
签名signString(32)5K8264ILTKCH16CQ2502SI8ZNMTM67VS签名,详见签名生成算法
签名类型sign_typeString(32)HMAC-SHA256签名类型,目前支持HMAC-SHA256和MD5,默认为MD5

举例如下:

<xml>
   <appid>wx2421b1c4370ec43b</appid>
   <mch_id>10000100</mch_id>
   <nonce_str>ec2316275641faa3aacf3cc599e8730f</nonce_str>
   <transaction_id>1008450740201411110005820873</transaction_id>
   <sign>FDD167FAA73459FD921B144BAF4F4CA2</sign>
</xml>

返回结果

字段名变量名必填类型示例值描述
返回状态码return_codeString(16)SUCCESS

SUCCESS/FAIL

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

返回信息return_msgString(128)签名失败

返回信息,如非空,为错误原因

签名失败

参数格式校验错误

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

字段名变量名必填类型示例值描述
小程序IDappidString(32)wxd678efh567hg6787微信分配的小程序ID
商户号mch_idString(32)1230000109微信支付分配的商户号
随机字符串nonce_strString(32)5K8264ILTKCH16CQ2502SI8ZNMTM67VS随机字符串,不长于32位。推荐随机数生成算法
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6签名,详见签名生成算法
业务结果result_codeString(16)SUCCESSSUCCESS/FAIL
错误代码err_codeString(32)SYSTEMERROR错误码
错误代码描述err_code_desString(128)系统错误结果信息描述

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

字段名变量名必填类型示例值描述
设备号device_infoString(32)013467007045764微信支付分配的终端设备号,
用户标识openidString(128)oUpF8uMuAJO_M2pxb1Q9zNjWeS6o用户在商户appid下的唯一标识
是否关注公众账号is_subscribeString(1)Y用户是否关注公众账号,Y-关注,N-未关注,仅在公众账号类型支付有效
交易类型trade_typeString(16)JSAPI调用接口提交的交易类型,取值如下:JSAPI,NATIVE,APP,MICROPAY,详细说明见参数规定
交易状态trade_stateString(32)SUCCESS

SUCCESS—支付成功

REFUND—转入退款

NOTPAY—未支付

CLOSED—已关闭

REVOKED—已撤销(刷卡支付)

USERPAYING--用户支付中

PAYERROR--支付失败(其他原因,如银行返回失败)

付款银行bank_typeString(16)CMC银行类型,采用字符串类型的银行标识
订单金额total_feeInt100订单总金额,单位为分
应结订单金额settlement_total_feeInt100应结订单金额=订单金额-非充值代金券金额,应结订单金额<=订单金额。
货币种类fee_typeString(8)CNY货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型
现金支付金额cash_feeInt100现金支付金额订单现金支付金额,详见支付金额
现金支付货币类型cash_fee_typeString(16)CNY货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型
代金券金额coupon_feeInt100“代金券”金额<=订单金额,订单金额-“代金券”金额=现金支付金额,详见支付金额
代金券使用数量coupon_countInt1代金券使用数量
代金券类型coupon_type_$nStringCASH

CASH--充值代金券 

NO_CASH---非充值代金券

订单使用代金券时有返回(取值:CASH、NO_CASH)。$n为下标,从0开始编号,举例:coupon_type_$0

代金券IDcoupon_id_$nString(20)10000 代金券ID, $n为下标,从0开始编号
单个代金券支付金额coupon_fee_$nInt100单个代金券支付金额, $n为下标,从0开始编号
微信支付订单号transaction_idString(32)1009660380201506130728806387微信支付订单号
商户订单号out_trade_noString(32)20150806125346商户系统的订单号,与请求一致。
附加数据attachString(128)深圳分店附加数据,原样返回
支付完成时间time_endString(14)20141030133525订单支付时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则
交易状态描述trade_state_descString(256)支付失败,请重新下单支付对当前查询订单状态的描述和下一步操作的指引

举例如下:

<xml>
   <return_code><![CDATA[SUCCESS]]></return_code>
   <return_msg><![CDATA[OK]]></return_msg>
   <appid><![CDATA[wx2421b1c4370ec43b]]></appid>
   <mch_id><![CDATA[10000100]]></mch_id>
   <device_info><![CDATA[1000]]></device_info>
   <nonce_str><![CDATA[TN55wO9Pba5yENl8]]></nonce_str>
   <sign><![CDATA[BDF0099C15FF7BC6B1585FBB110AB635]]></sign>
   <result_code><![CDATA[SUCCESS]]></result_code>
   <openid><![CDATA[oUpF8uN95-Ptaags6E_roPHg7AG0]]></openid>
   <is_subscribe><![CDATA[Y]]></is_subscribe>
   <trade_type><![CDATA[MICROPAY]]></trade_type>
   <bank_type><![CDATA[CCB_DEBIT]]></bank_type>
   <total_fee>1</total_fee>
   <fee_type><![CDATA[CNY]]></fee_type>
   <transaction_id><![CDATA[1008450740201411110005820873]]></transaction_id>
   <out_trade_no><![CDATA[1415757673]]></out_trade_no>
   <attach><![CDATA[订单额外描述]]></attach>
   <time_end><![CDATA[20141111170043]]></time_end>
   <trade_state><![CDATA[SUCCESS]]></trade_state>
</xml>

错误码

名称描述原因解决方案
ORDERNOTEXIST此交易订单号不存在查询系统中不存在此交易订单号该API只能查提交支付交易返回成功的订单,请商户检查需要查询的订单号是否正确
SYSTEMERROR系统错误后台系统返回错误系统异常,请再调用发起查询

关闭订单

应用场景

以下情况需要调用关单接口:商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口。

注意:订单生成后不能马上调用关单接口,最短调用时间间隔为5分钟。

接口地址

接口链接:https://api.mch.weixin.qq.com/pay/closeorder

是否需要证书

不需要。

请求参数

字段名变量名必填类型示例值描述
小程序IDappidString(32)wx8888888888888888微信分配的小程序ID
商户号mch_idString(32)1900000109微信支付分配的商户号
商户订单号out_trade_noString(32)1217752501201407033233368018商户系统内部的订单号
随机字符串nonce_strString(32)5K8264ILTKCH16CQ2502SI8ZNMTM67VS商户系统内部的订单号,32个字符内、可包含字母, 其他说明见安全规范
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6签名,详见签名生成算法
签名类型sign_typeString(32)HMAC-SHA256签名类型,目前支持HMAC-SHA256和MD5,默认为MD5

示例代码

<xml>
   <appid>wx2421b1c4370ec43b</appid>
   <mch_id>10000100</mch_id>
   <nonce_str>4ca93f17ddf3443ceabf72f26d64fe0e</nonce_str>
   <out_trade_no>1415983244</out_trade_no>
   <sign>59FF1DF214B2D279A0EA7077C54DD95D</sign>
</xml>

返回结果

字段名变量名必填类型示例值描述
返回状态码return_codeString(16)SUCCESSSUCCESS/FAIL
返回信息return_msgString(128)签名失败

返回信息,如非空,为错误原因

签名失败

参数格式校验错误

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

字段名变量名必填类型示例值描述
小程序IDappidString(32)wx8888888888888888微信分配的小程序ID
商户号mch_idString(32)1900000109微信支付分配的商户号
随机字符串nonce_strString(32)5K8264ILTKCH16CQ2502SI8ZNMTM67VS随机字符串,不长于32位
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6签名,验证签名算
业务结果result_codeString(16)SUCCESSSUCCESS/FAIL
业务结果描述result_msgString(32)OK对于业务执行的详细描述
错误代码err_codeString(32)SYSTEMERROR详细参见第6节错误列表
错误代码描述err_code_desString(128)系统错误结果信息描述

示例代码

<xml>
   <return_code><![CDATA[SUCCESS]]></return_code>
   <return_msg><![CDATA[OK]]></return_msg>
   <appid><![CDATA[wx2421b1c4370ec43b]]></appid>
   <mch_id><![CDATA[10000100]]></mch_id>
   <nonce_str><![CDATA[BFK89FC6rxKCOjLX]]></nonce_str>
   <sign><![CDATA[72B321D92A7BFA0B2509F3D13C7B1631]]></sign>
   <result_code><![CDATA[SUCCESS]]></result_code>
   <result_msg><![CDATA[OK]]></result_msg>
</xml>

错误码

名称描述原因解决方案
ORDERPAID订单已支付订单已支付,不能发起关单订单已支付,不能发起关单,请当作已支付的正常交易
SYSTEMERROR系统错误系统错误系统异常,请重新调用该API
ORDERNOTEXIST订单不存在订单系统不存在此订单不需要关单,当作未提交的支付的订单
ORDERCLOSED订单已关闭订单已关闭,无法重复关闭订单已关闭,无需继续调用
SIGNERROR签名错误参数签名结果不正确请检查签名参数和方法是否都符合签名算法要求
REQUIRE_POST_METHOD请使用post方法未使用post传递参数 请检查请求参数是否通过post方法提交
XML_FORMAT_ERRORXML格式错误XML格式错误请检查XML参数格式是否正确

最新评论

再来三碗饭 发表于 2022-5-7 20:44
音乐站源码

一起源码让程序更轻更快

www.171739.xyz

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表