提供两个测试版本,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