微信WAP支付接口文档

文档说明:

  • 本文档用于微信wap支付接口文档。

文档版本:

版本号 制定人 制定日期 修订日期
1.0 Eric.Yang 2019-12-07 2019-12-07

测试帐户:

联系业务经理

场景介绍:

用于通过手机浏览器发起微信APP支付

案例介绍:

流程说明:

接口说明:

请求URL:
请求方式:
  • POST
请求头:
参数名 是否必须 类型 说明
Content-Type string 请求类型: text/xml
请求参数:
字段名 变量名 是否必须 类型 说明
接口类型 service String(32) pay.weixin.wap
版本号 version String(8) 默认值是 1.0
字符集 charset String(8) 可选值 UTF-8,默认为 UTF-8
签名方式 sign_type String(8) 取值:MD5 默认: MD5
商户订单号 out_trade_no string(45) 商户订单号
商户号 mch_id string(45) 商户号, 由服务商提供
子商户公众账号ID sub_appid string(45) 微信分配的子商户公众账号ID,如需在支付完成后获取sub_openid则此参数必传。
设备号 device_info String(32) 终端设备号
随机字符串 nonce_str String(32) 5K8264ILTKCH16CQ2502SI8ZNMTM67VS
签名 sign string(32) 签名类型,目前支持MD5,默认为MD5
商品描述 body string(128) 商品简单描述,该字段须严格按照规范传递
附加信息 attach String(128) 商户附加信息,可做扩展参数,255 字符内
终端 IP mch_create_ip String(16) 订单生成的机器 IP
通知地址 notify_url String(255) 接收…通知的 URL, 需给绝对路径,255字符 内 格 式如:http://wap.tenpay.com/tenpay.asp,确保易办事能通过互联网访问该地址
订单生成时间 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) 商品标记,微信平台配置的商品标记,用于优惠券或者满减使用
是否限制信用卡 limit_credit_pay String(32) 限定用户使用微信支付时能否使用信用卡,值为 1, 禁用信用卡; 值为 0 或者不传此参数则不禁用
用户 openid sub_openid String(128) 商户sub_appid下的openid
请求参数示例:
<xml>
   <service>pay.weixin.wap</service>
   <charset>UTF-8</charset>
   <sign_type>MD5</sign_type>
   <sub_appid>wx2421b1c4370ec43b</sub_appid>
   <attach>支付测试</attach>
   <body>H5支付测试</body>
   <mch_id>10000100</mch_id>
   <nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str>
   <notify_url>http://wxpay.wxutil.com/pub_v2/pay/notify.v2.php</notify_url>
   <sub_openid>oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</openid>
   <out_trade_no>1415659990</out_trade_no>
   <mch_create_ip>14.23.150.211</mch_create_ip>
   <total_fee>1</total_fee>
   <sign>0CB01533B8C1EF103065174F50BCA001</sign>
</xml>

返回结果

数据按 XML 的格式实时返回

字段名 变量名 必填 类型 说明
版本号 version String(8) 版本号,version 默认值是 1.0。
字符集 charset String(8) 可选值 UTF-8 ,默认为 UTF-8。
签名方式 sign_type String(8) 签名类型,取值:MD5 默认:MD5
返回状态码 status String(16) 0 表示成功非 0 表示失败此字段是通信标识,非交易标识,交易是否成功需要查看 result_code 来判断
返回信息 message String(128) 返回信息,如非空,为错误原因签名失败参数格式校验错误
以下字段在 status 为 0 的时候有返回
业务结果 result_code String(16) 0 表示成功非 0 表示失败
商户号 mch_id String(32) 商户号,由技术部分配
设备号 device_info String(32) …支付分配的终端设备号
随机字符串 nonce_str String(32) 随机字符串,不长于 32 位
错误代码 err_code String(32) 参考错误码
错误代码描述 err_msg String (128) 结果信息描述
签名 sign String(32) MD5 签名结果,详见“第 4 章 MD5 签名规则”
以下字段在 status 和 result_code 都为 0 的时候有返回
交易类型 trade_type string(64) pay.weixin.wap
预支付交易会话标识 prepay_id String(64) 微信生成的预支付回话标识,用于后续接口调用中使用,该值有效期为2小时,针对H5支付此参数无特殊用途
支付跳转链接 mweb_url String (128) mweb_url为拉起微信支付收银台的中间页面,可通过访问该url来拉起微信客户端,完成支付,mweb_url的有效期为5分钟。
返回示例:

正确的返回:

<xml>
   <status>0</status> 
    <message><![CDATA[OK]]></message> 
    <appid><![CDATA[wx2421b1c4370ec43b]]></appid> 
    <mch_id><![CDATA[10000100]]></mch_id> 
   <appid><![CDATA[wx2421b1c4370ec43b]]></appid>
   <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[MWEB]]></trade_type>
   <mweb_url><![CDATA[https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx2016121516420242444321ca0631331346&package=1405458241]]></mweb_url>
</xml>

错误时返回:

<xml>
    <status>0</status>
    <message><![CDATA[OK]]></message>
    <appid><![CDATA[wx2421b1c4370ec43b]]></appid>
    <mch_id><![CDATA[10000100]]></mch_id>
    <device_info><![CDATA[1000]]></device_info>
    <nonce_str><![CDATA[sthBJ9QyUG6vkrjJ]]></nonce_str>
    <sign><![CDATA[6277A96D7875D4FF23AA7B6A4C3046AB]]></sign>
    <result_code>1</result_code>
    <err_code><![CDATA[AUTHCODE_EXPIRE]]></err_code>
    <err_code_des><![CDATA[二维码已过期, 请刷新再试]]></err_code_des>
</xml>

问题排查:

备注:

  • 更多返回错误代码请看首页的错误代码描述
文档更新时间: 2021-03-06 11:16   作者:EricYang