一、微信支付开发
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(用户支付完成后,将调启该URL对应的PHP给商家,更新支付信息到后台)。
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
二、附录
1、html中根据前台支付后反馈信息成功与否跳转到相关页面
if (res.err_msg == "get_brand_wcpay_request:ok") { // message: "微信支付成功!", window.location.replace("@Url.Content("~/WxPay/Success?ordercode=@(Model.order_no)")); }else if (res.err_msg == "get_brand_wcpay_request:cancel") { // message: "已取消微信支付!" }