微信h5支付sdk及示例源码
广告:
需要调用统一下单接口:
https://api.mch.weixin.qq.com/pay/unifiedorder
必须参数:
公众账号ID appid 是 String(32) wxd678efh567hg6787 微信支付分配的公众账号ID(企业号corpid即为此appId)
商户号 mch_id 是 String(32) 1230000109 微信支付分配的商户号
随机字符串 nonce_str 是 String(32) 5K8264ILTKCH16CQ2502SI8ZNMTM67VS 随机字符串,长度要求在32位以内。推荐随机数生成算法
签名 sign 是 String(32) C380BEC2BFD727A4B6845133519F3AD6 通过签名算法计算得出的签名值,详见签名生成算法
商品描述 body 是 String(128) 腾讯充值中心-QQ会员充值 商品简单描述,该字段请按照规范传递,具体请见参数规定
商品详情 detail 否 String(6000) 商品详细描述,对于使用单品优惠的商户,改字段必须按照规范上传,详见“单品优惠参数说明”
商户订单号 out_trade_no 是 String(32) 20150806125346 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。详见商户订单号
标价金额 total_fee 是 Int 88 订单总金额,单位为分,详见支付金额
终端IP spbill_create_ip 是 String(16) 123.12.12.123 APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP。
通知地址 notify_url 是 String(256) http://www.weixin.qq.com/wxpay/pay.php 异步接收微信支付结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。
data.SetValue("scene_info", "{\"h5_info\": {\"type\":\"Wap\",\"wap_url\": \"http://weixin.xiyaohe.com\",\"wap_name\": \"喜吆喝交易平台\"}}");
交易类型 trade_type 是 String(16) MWEB 取值如下:JSAPI,NATIVE,APP,MWEB等,说明详见参数规定
trade_type=MWEB
回调页面 mweb_url 后拼接上redirect_url参数 打开mweb_url页面可唤起微信
eg:
<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>
返回结果:
返回状态码 return_code 是 String(16) SUCCESS SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断
返回信息 return_msg 否 String(128) 签名失败 返回信息,如非空,为错误原因 签名失败 参数格式校验错误
详细见微信api接口说明网址:sdk包下载其他接口一样的开发包:WxPayAPI_CS_v3.zip
https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_1
https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_20&index=1
常见问题:
1. 使用ios手机访问微信公众号点击自定义菜单微信网页授权登录出现:安全域名校验出错,错误码:10003
检查网页授权域名是否配置成功
步骤 公众号设置--看到账号详情和功能设置
配置功能设置里边的网页授权域名。即可 如:wx.xxx.com
2. 签名错误
可能有多余的参数或者参数顺序不对
广告: