一、先下载sdk:
下载地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1
<blockquote>lib文件夹是重点</blockquote>
二、修改sdk中的错误:
第一处:WxpayAPI_php_v3\lib\WxPay.Api.php中的第48行:
这里的NOTIFY_URL在WxPayConfig中并没有配置。这里你可以去WxPayConfig文件中配置,加上const NOTIFY_URL = "notify_url"; or直接把47-49行删掉(推荐)
第二处: 该文件的537行:
红框中的内容都改成FALSE
第三处:
WxpayAPI_php_v3\lib\WxPay.Notify.php的第79行:
删除红框中的$result_code
第四处:
在该文件头(WxPay.Notify.php)加上
require_once "WxPay.Api.php";
第五处:
在example文件夹里:
给这里改成30,指30秒
第六处:
把411行的代码改成412行的:
$xml = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : file_get_contents("php://input");
三、配置config:
<blockquote>上边的内容是sdk自带的</blockquote>
根据微信给你发的邮件,填入上边四个参数
<blockquote>商户平台不是公众平台:</blockquote>
四、配置公众号:
配置测试目录和白名单:
<blockquote>1.测试目录不可与支付目录相同;
2.如果配置的测试目录如图所示,那么实际支付的目录应该是...WxPay414/xx.xx
</blockquote>
配置网页授权域名:
官方文档【微信公众号支付开发文档】: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_3
五、设置订单号
订单号的概念:
<blockquote>每个第三方在线支付系统中都会有至少两类订单号,其一为支付系统的订单号,我们称为transactionId,其二为商户平台的订单号,我们通常称为out_trade_no,这两个号一般用来对账,在第三方支付平台你可以通过这两个订单号来查询订单的状态,而在商户自己的网站后台,也可以查询它的状态,一般地,transactionId由支付系统生成,并在回调时转回给商户;而out_trade_no一般在商户平台生成,自己可以设计自己的规则,然后把这个ID转到第三方支付平台,在支付成功后,第三方同样把这个号转回来,我们通过这个号进行商户系统的其它操作</blockquote>
<blockquote>来源:http://www.cnblogs.com/lori/p/5364213.html</blockquote>
--
六、设置自己的订单页面:
注意:
out_trade_no: 使用时间戳+随机数的方式来生成,为防止在新的页面由于刷新而使得随机数和时间戳发生变化,所以在跳转支付页面之前就做好这两个变量,然后同数据一同提交过去。