微信开发第七章-从0接入微信公众号支付(detail)

一、先下载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: 使用时间戳+随机数的方式来生成,为防止在新的页面由于刷新而使得随机数和时间戳发生变化,所以在跳转支付页面之前就做好这两个变量,然后同数据一同提交过去。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 公众号支付是指在微信app中访问的页面通过js直接调起微信支付; 因此页面必须是在微信中打开的; 示例项目:htt...
    madfrog_hc阅读 1,060评论 0 1
  • 最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能。这里我用的是即时到帐的接口,具体实现的步...
    geeooooz阅读 9,867评论 0 3
  • 每个第三方在线支付系统中都会有至少两类订单号,其一为支付系统的订单号,我们称为transactionId,其二为商...
    yuzhan550阅读 2,421评论 0 2
  • 公众号支付是指在微信app中访问的页面通过js直接调起微信支付; 一:设置域名 登录微信公众平台; 微信支付中设置...
    月夜曾朦胧阅读 911评论 0 1
  • 微商说到底就是销售自己,销售自己对经营产品的认知和认同感,销售自己的人际关系网,销售自己的语言技巧和人格魅力。 从...
    P尐c阅读 328评论 0 1