提供两个测试版本,Java于PHP,都是经过测试成功后上传,功能都没有问题。代码逻辑有困惑时可以参考开发文档,上面很清楚。

Java版:
1. 在开通微信支付的公众号下访问 htpp://服务器地址/mainServlet        

2. 修改MainServlet.java和TopayServlet.java 里面的商户参数,授权返回地址和notify_url部分即可。

3. 代码是别人的劳动成果,经自己稍微修改后测试成功,demo并没有十分的简化,大家可以做一个参考吧。如果出现签名失败,仔细检查下自己填写的appid和partnerkey是否正确。

4. 请注意:微信支付成功后的通知的url为notifyServlet,sb是返回的xml

5.最后祝大家都通过微信支付的测试。

PHP版:
1.【基本信息设置】
商户向微信提交企业以及银行账户资料,商户功能审核通过后,可以获得帐户基本信息,找到本例程的配置文件「WxPay.pub.config.php」,配置好如下信息:
        appId:微信公众号身份的唯一标识。审核通过后,在微信发送的邮件中查看。
        Mchid:受理商ID,身份标识
        Key:商户支付密钥Key。审核通过后,在微信发送的邮件中查看。
        Appsecret:JSAPI接口中获取openid,审核后在公众平台开启开发模式后可查看。

2.【native支付链接设置】
native支付中,用户扫码后调微信会将productid和用户openid发送到商户设置的链接上,确保该链接与实际服务路径一致。本例程的响应服务为「./demo/native_call.php」

3.【JSAPI路径设置】
通过JSAPI发起支付的代码应该放置在商户设置的「支付授权目录」中。
并找到本例程的配置文件「WxPay.pub.config.php」,配置正确的路径。

4.【证书路径设置】
找到本例程的配置文件「WxPay.pub.config.php」,配置证书路径。

5.【异步通知url设置】
找到本例程的配置文件「WxPay.pub.config.php」,配置异步通知url。

6.【必须开启curl服务】
使用Crul需要修改服务器中php.ini文件的设置,找到php_curl.dll去掉前面的";"即可。

7.【设置curl超时时间】
本例程通过curl使用HTTP POST方法,此处可修改其超时时间,默认为30秒。找到本例程的配置文件「WxPay.pub.config.php」,配置curl超时时间。

代码文件结构

===========================================
 wxpay_php
 |-- README.txt---------------------使用说明文本
 |-- WxPayHelper--------------------微信支付类库及常用文件
 |   |-- SDKRuntimeException.php----异常处理类
 |   |-- WxPay.pub.config.php-----------商户配置文件
 |   `-- WxPayPubHelper.php------------微信支付类库
 |-- demo---------------------------例程
 |   |-- js_api_call.php------------JSAPI支付例程
 |   |-- native_call_qrcode.php-----native支付静态链接二维码例程
 |   |-- native_call.php------------native支付后台响应例程
 |   |-- native_call.log------------native支付后台响应日志
 |   |-- native_dynamic_qrcode.php--native支付动态链接二维码例程
 |   |-- notify_url.php-------------支付结果异步通知例程
 |   |-- notify_url.log-------------支付结果异步通知日志
 |   |-- order_query.php------------订单查询例程
 |   |-- refund.php-----------------退款例程
 |   |-- download_bill.php----------对账单例程
 |   |-- refund_query.php-----------退款查询例程
 |   |-- log_.php-------------------日志类
 |   `-- qrcode.js------------------二维码生成工具
 `-- index.php