2019-01-11 17:15:41 weixin_38091174 阅读数 256
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27761 人正在学习 去看看 秦子恒

背景说明:
线上公众号有问题需要修改,在本地开发完成之后要测试,这时必须在本地搭出测试环境。

大致步骤:

  1. 有能调用微信所有接口的测试公众号!公司有两个公众号,处于无人打理、关注者不多的状态,所以就用公司的公众号来作为测试公众号。

  2. 把项目里关于公众号的配置由正式的换成测试公众号的,包括appid、secret、mch_id、key、sslcert_password、notify_url、各种template_id以及API证书。
    因为线上公众号包含微信支付功能,所以需要设置微信支付相关的参数(mch_id、key、sslcert_password)。我们项目把参数配置在web.config里,所以直接修改web.config就可以了:
    在这里插入图片描述
    测试公众号的API证书从微信商户平台下载,然后放到线上证书的存放路径下:
    在这里插入图片描述
    如果其他参数都已更换成测试号的,但是API证书没有更换成测试号的,微信支付时会提示“网络密码错误”。

  3. 将测试者设置成公司公众号的开发者,同时将测试者电脑的公网ip加入公司公众号的白名单。

  4. 使用内网穿透工具,将本地项目网址映射成外网可以访问的网址。
    内网穿透具体步骤:
    我使用的内网穿透工具是ngrok,下载地址http://ngrok.ciqiuwl.cn 下载好之后,可以直接打开 小米球Ngrok启动工具.bat,会出现下图窗口:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    通过工具映射后,http://keno.ngrok.xiaomiqiu.cn 映射的就是网址:http://127.0.0.1:52

  5. 把项目运行起来,网址是localhost:52/Home/Index,那外网可以直接访问http://keno.ngrok.xiaomiqiu.cn/Home/Index进行测试了。
    如果可以成功加载出页面,到此测试环境就算搭建成功了。如果不能成功加载出页面,可能是因为项目允许外部访问地址里没有127.0.0.1。由于http://keno.ngrok.xiaomiqiu.cn 映射的是网址:http://127.0.0.1:52,如果项目不允许外部访问127.0.1,那肯定加载不出来的。解决办法是打开项目的配置文件(项目文件夹.vs\config\applicationhost.config),在localhost的下面添加:然后直接在手机微信里访问,如果可以成功加载出页面,到此测试环境就算搭建成功了。如果不能成功加载出页面,可能是因为项目允许外部访问地址里没有127.0.0.1。由于http://keno.ngrok.xiaomiqiu.cn 映射的是网址:http://127.0.0.1:52,如果项目不允许外部访问127.0.1,那肯定加载不出来的。解决办法是打开项目的配置文件(项目文件夹.vs\config\applicationhost.config),在localhost的下面添加:
    在这里插入图片描述
    添加之后,重新访问,应该就能成功加载出页面了。

备注:
1、测试公众号最好保持和线上公众号一样的类型,开通一样的功能。
2、查询公网ip的方法:直接在浏览器搜索框输入“ip”,第一条结果就是自己电脑的公网ip。
3、测试环境部署成功之后,可以有三种方式进行测试,一是给测试公众号添加一个子菜单,指向测试网址;二是将网址发送到手机微信,访问测试;三是在电脑安装微信开发者工具,在地址栏输入测试网址访问测试,但是这个方式无法测试关于支付的功能。
4、内网穿透后,有时候会掉线,状态会变成Reconnecting,这时候外网就不能访问了。它掉线之后隔段时间会自己又连上,这个时间不确定长短的……我也没找到可以让它恢复的方法,每次只能呆等它自动恢复。
5、第5步修改配置文件的,一般.vs文件夹是隐藏的,这时候设置文件夹选项让它显示即可找到。
6、测试时内网穿透的控制台窗口要保持开启,一旦关闭就关掉映射了;同时项目要一直运行,如果不想一直运行项目,可以将项目发布到IIS再测试,这样可以让测试和开发同时进行。当然如果想调试的话,就要把项目以Debug模式运行起来再测试了。

2016-05-03 16:54:45 dream20nn 阅读数 6038
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27761 人正在学习 去看看 秦子恒

1.微信测试号申请:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

2.接口配置填写:由于此处URL只支持线上,而我们开发都在本地,所以要用到下面介绍的


3.Ngrok,一款国外的内网穿透利器,好处是监听本地端口映射到外网,支持外网访问本地环境【微信官方在QQ浏览器中内嵌了微信的本地测试环境其实就是用的Ngrok】这东西被墙了,并且只有注册了【貌似现在要付费?】才支持自定义域名【如果不是自定义域名,那么每次启动域名都随机,第2步中的URL还要每次变,很麻烦】

4.Natapp.cn-->基于Ngrok的免费内网穿透利器,名如其意。官网下载对应系统安装包,WINDOWS下解压,在对应文件夹内打开cmd然后执行下面的命令

【Ngrok -config ngrok.cfg -subdomain myqpp 8080】由于咱们用的Tomcat所以监听8080端口,myapp处输入自己需要设定的名称

5.执行4后下面的域名则为外网地址,访问此域名也就是访问-->127.0.0.1:8080


6.将此域名填写到第2步中的URL中,TOKEN随便填写即可,先不要点击提交【微信开发文档中有个例子,PHP的,用于验证服务器地址的有效性】

7.先不要启动咱的项目,先打开一个没有部署任何APP的Tomcat,在webapp/ROOT下面新建一个JSP页面,页面清空【不需要head,body等信息,清空所有】然后粘贴下面的代码

<%
out.print(request.getParameter("echostr"));
%>

8.点击提交即可绑定成功,然后用自己的微信扫面下方二维码关注测试公众号


9.由于获取用户userinfo,需要设置授权回调域名页面



10.现在可以关掉tomcat然后用咱们自己的项目进行开发了,注意替换对应的appID和appsecret

2016-09-06 16:07:59 chen517611641 阅读数 4407
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27761 人正在学习 去看看 秦子恒

##准备工作
1.ngrok,微信的接口有一些是被动的接收从微信服务器发送的消息的,所以需要提供一个域名给微信服务器,ngrok可以将本机的指定端口,映射到一个域名。花生壳什么的也可以。
2.微信web开发者工具,微信官方的调试工具
##测试账号配置
###测试账号信息
在测试账号管理界面,你可以获取到AppID和APPSecret。
###接口配置信息
这里写图片描述

验证URL有效性成功后即接入生效,成为开发者。如果公众号类型为服务号(订阅号只能使用普通消息接口),可以在公众平台网站中申请认证,认证成功的服务号将获得众多接口权限,以满足开发者需求。

此后用户每次向公众号发送消息、或者产生自定义菜单点击事件时,开发者填写的服务器配置URL将得到微信服务器推送过来的消息和事件,然后开发者可以依据自身业务逻辑进行响应,例如回复消息等。

下面的文档描述了这个接口的作用:
http://mp.weixin.qq.com/wiki/8/f9a0b8382e0b77d87b3bcc1ce6fbc104.html
###JS接口安全域名
这里写图片描述
配置在ngrok生成的域名,配置这个配置项的目的是让开发者可以在该域名下调用微信开放的JS接口。
JS-SDK相关的内容可以看这里:
http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
###测试账号二维码
这里写图片描述
用测试账号扫一下这个二维码,就能关注这个测试账号了,回复信息什么的就可以测试了。
###体验接口权限列表
这里写图片描述
测试账号默认大部分接口都是默认开启的,有几个需要手动开启。
这里需要注意的是网页授权获取用户基本信息这个。
这里写图片描述
如上所示,这里需要配置一个域名,网页授权成功回调的时候,必须是这个域名下的地址才行,不然就报scope参数错误或没有scope权限的错误。
至此,开发环境就搭建好了,可以按照微信公众平台开发文档里的微信网页开发部分写一个网页授权获取基本信息的demo了。

2017-02-26 15:32:12 u010882234 阅读数 15284
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27761 人正在学习 去看看 秦子恒

         微信服务号现在真的很强大,里面有各种各样的服务和功能。现在的移动端应用,可以说,微信已经超过了APP。对于微信开发而言,它和普通的web项目其实并没什么区别。微信项目也是web项目的一种,只不过它是在微信的内置的QQ浏览器里运行,更多的在手机端运行。微信本地开发,需要注意的就是调试与测试,因为页面要做手机端适配,功能也要做充分测试,并没有普通的web项目那么方便。

         微信项目开发的联调与测试,可以分为三种方式。

         一,在本地部署后,用普通的浏览器访问,开发者模式,F12。

         微信项目也是web项目,目的也是为用户提供服务,里面的大多功能,与普通web项目一样,都是服从于本项目的业务逻辑。排除微信的登录验证、授权免登陆、消息通知等需要调用微信接口的功能,它就是普通的web项目。当你不测试微信接口相关功能时,可以注释掉这部分代码,或者在拦截器里放开这些拦截校验。这样你完全可以用浏览器测你的微信项目,F12后选择“手机模式”,可以调整各种页面样式适配,也可以监控js的运行情况。把自己本地项目,调成debug模式启动,就可以完全进行前后台的调试了。这个方法的坏处是,无法调微信相关接口。

        二,利用个人申请的订阅号测试。

        作为微信开发者,最好申请一个自己的订阅号,这对开发调试很有用。个人只能申请订阅号,但是微信订阅号的微信公众平台里,左侧导航栏“开发”下面有个“开发者工具”,点进去里面有个“公众平台测试账号”。这个测试账号,可以使用服务号的所有高级接口。至于订阅号的申请,没什么难点,选择“个人”,按照提示做就行。里面有些参数需要配置,本地服务需要有个域名,供外网访问。可以选择花生壳等工具,对本机做个外网映射。下面贴一些图片。

        (1)扫码验证,进入个人订阅号的公众平台。


          (2)进入开发者工具。里面的“开发者文档”似乎未更新,不建议点这个链接看文档。在线接口调试工具也挺不错,你可以测试微信提供的各个接口。web开发者工具,支持本地调试,可以下载下来用,这个详细的使用心得下次再介绍。公众平台测试账号,正是我们的目标,需要再次扫码进入。


                (3)这里面的APPID和secret,可以配置到你的项目里,这样你的项目就与这个测试号关联在一起了。如果有模板推送消息,也相应操作下,这个我暂时没试,可以按照提示做。



               (4)微信扫码关注测试号,配置授权回调域名,js安全域名。注意,安全域名,必须是完整的域名,不要带“http://”。还有,接口权限的“网页服务”--“网页账号”,也可以在这里配置、修改授权回调域名。



         本地做好外网映射,取得访问项目的外网域名,debug模式启动项目,在测试服务号配置好回调域名,就可以实现移动调试了。你在手机上点击,可以在后台调试代码,也可以看到页面在手机端的适配效果。缺点是,无法进行页面样式的调试,无法监控js的运行。

         三,利用web开发者工具。

         因为我只能应用最基本的功能,它对于我就像一个QQ浏览器一样,本篇暂不进行介绍。它是腾讯专门开发的微信调试工具,可以实现本地调试和移动调试,功能很强大。


       本篇已完,web开发者工具等我完全用熟了所有功能再来写。

2016-05-16 23:23:39 Xin_Fu 阅读数 4104
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27761 人正在学习 去看看 秦子恒

刚刚接触微信公众号开发,完全是一个小白。今天搭建本地测试环境真的是弄了整整一下午,一直到刚刚,才弄好。话不多说,下面分享一下整个搭建过程;

1.下载微信web开发者工具

安装并登录,登陆前要确保已经登陆的账号有微信公众号的测试权限

2.将本地tomcat服务器端口改成80


微信开发者文档中注明,微信只支持80端口


(无意中看到http就是80端口,纯属小白,大神勿喷)


3.修改本地host文件

因为微信公众号平台中的回调域名是需要与安全域名进行校对的(如下图),

所以在保证域名为远程服务器上的域名同时,又需要访问本地服务器,这是可以通过修改host文件来达到这样的要求。(host文件:解析域名的时候会先去host文件中找域名,若域名存在则直接连接到指定的ip地址)

host文件位置 C:\Windows\System32\drivers\etc


4.启动本地服务器

5.根据微信开发者文档中的说明,获取用户资料,详见 微信开发者文档



最后一步,在跳转到回调url的时候,注意加下tomcat中工程的虚拟路径,

(这里的域名已经映射到127.0.0.1了,就像直接登陆tomcat一样还需要加上工程的虚拟路径一样 http:127.0.0.1/XXXX/index.html ,XXXX就是过程的虚拟路径  )

直接跳转的url是  http://xxxx.com/.....

加上虚拟路径后变成  http://xxxx.com/XXXX/......

敲一下回车,完成  ^_^






微信开发之JSSDK调用

阅读数 20060

没有更多推荐了,返回首页