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

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

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

##准备工作
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了。

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

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

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

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

2017-02-07 19:37:07 tianjunwenhappy 阅读数 8459
  • 微信支付开发-微信公众号开发12-微信开发php

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

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

一、微信开发环境搭建

  1、申请一个测试的公众号。

  2、用来调式代码的开发环境

1.1注册测试公众号(为什么要注册测试公众号:因为接口多,适合学习和研究。)

测试公众号的注册地址为:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

只需要到这个页面,点击登录,并用自己的微信客户端扫码,并授权登录,就可以获得属于自己的测试公众号。

测试公众号具备几乎所有的接口,所以平时学习微信公众号开发时,就可以去注册一个测试公众号,然后使用这个测试公众号做开发就可以了。

注册测试公众号的步骤如下图所示:


扫描二维码登录:


登录成功后,就可以看到腾讯分配给我们的测试公众号的信息了,如下图所示:


测试公众号的所拥有的接口权限如下:


到这里注册测试公众号就完成了,可以看到,测试公众号拥有大部分的接口调用权限,因此用测试公众号来学习微信开发是完全可以的


1.2、搭建微信本地调试环境(切记是本地,主要还免费):

本次教程使用的软件是Ngrok:主要实现内网穿透功能,也就是说本地计算机可以让外网访问到,借此我们就不需要租用服务器,也可以开发微信公众号了。

国内提供Ngrok服务比较好的网站是:http://natapp.cn/,如下图所示:

   

点击立即下载:


下载对应的系统版本;

同时在官方注册一个免费的帐号:需要取得authtoken;


下载完后解压文件到任意一个文件夹(建议全英文路径)

    config.ini方式 (推荐):
     
 根据操作系统下载不同的config.ini文件到刚才下载的natapp.exe同级目录
    将得到的authtoken填进去 (其他地方都不填),然后保存 
           

    再直接双击natapp.exe 即可.


或者通过

cmd -authtoken= 参数方式运行.
    
  windows ,点击开始->运行->命令行提示符 后进入 natapp.exe的目录
     运行

natapp -authtoken = {authtoken值}


运行成功后是这样的:



Tunnel Status  Online 代表链接成功
Version      当前客户端版本,如果有新版本,会有提示
Forwarding    当前穿透 网址 或者端口
Web Interface  是本地Web管理界面,可在隧道配置打开或关闭,仅用于web开发测试
Total Connections 总连接数

Avg Conn Time 0.00ms 这里不代表,不代表,不代表 延时,需要注意!


将natapp分配的网址(上图Forwarding ),鼠标选定然后复制下来(选定之后单击鼠标右键),在浏览器中访问,可以看到内网穿透成功了!


该网址  http://ywy9n8.natappfree.cc  就是可以全球访问的网址,可以发给您的小伙伴试试 :)


注意:该路径为D:/WWW文件夹


还有不懂的可以看官方教程:https://natapp.cn/article/natapp_newbie

     


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

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

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

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

大致步骤:

  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模式运行起来再测试了。

2019-01-16 23:05:33 weixin_44019016 阅读数 41
  • 微信支付开发-微信公众号开发12-微信开发php

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

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

做了一些时间微信开发。我单独完成了以下功能:

1)微信支付的功能实现
2)收货地址的功能实现
3) 与及完成的一个产品到支付的前后端功能。
虽然这些都有示例代码,但在做到实际项目中,要把这些功能融合进来,还是费了不少功夫。

比如,需要把微信支付的功能,融合到自己开发的产品中。
其中除了一些参数设置,也需要理解好他们的逻辑,才好融合进来。

那么对于微信开发这个比较封闭的环境,该怎么去调试呢?

首先,先说清楚微信的要求。

他要求微信支付也好,共享收货地址功能也好,都只能运行在微信浏览器内。
因此这是第一道约束:只能微信在微信浏览器。

第二道约束就是:微信开发要求运行的环境,必要是域名,且备案的域名(后来发现不用备案也可以)

现在再重申一下:
1)要求运行在微信浏览器内
2)要求运行的网址,是域名(配置在网页授权等设置的地方)

在这样要求的环境下。
一开始,我在调试微信支付时,真的好痛苦,a.我是在本地改好,b.发布,c.再FTP到服务器上,d.然后再通过手机微信去访问这个域名。

最最初级时,我使用response.write,response.end这样的方法去调试。但对于象微信支付这个功能。
他先访问示例的productpage.aspx页面,然后通过设置的参数跳转至微信的接口路径,后面又跳转回来,最终获得OPENID,象这种response.write很容易因跳转,而看不见内容。

后来,就用稍为好一点的方法,通过记录整个代码流程,写日志方式:
代码如下:
在这里插入图片描述

这样,就可以记录任何一步流程中,变量等的输出,可以看到所有的变化。
但是,对于上面说的a,b,c,d四点,还是很麻烦,没有省下哪一个步骤。

于是,我开始想在本地搭一个。那首先解决第一个问题,域名问题。

怎样在本地弄一个域名,在任何地方都可以访问。于是我想到花生壳。直接去花生壳网站,注册一个帐号,申请一个域名,然后直接选内网穿透。弄了半天没成功,申请了个工单,结果是,重新一下花生壳就生效了。

这样,我就可以直接通过花生壳的域名访问我本地机器了。把我的本地机器当成服务器用。那么a,b,c,d四步中,我就可以去掉两步(打包,上传)这两步。大大节省了一些时间。

由于调试的必要环境,还有一个:在微信内访问。
因此,有两种方式:
1)普通的:直接通过手机微信打开链接
2)通过开发者工具(微信提供),去调试,(但是还是没办法断点调试.net后台代码)
(开发者工具只是比较方便调试和查看前端代码)
明天再研究一些,有没有可能实现:1.在VS中,点运行,运行的域名,2.直接在微信浏览器中打开(或模拟出来)这个估计难。

但无论如何,还有一种方案就是:可以先调通好获取openID或token之后的功能,好了之后,把他们屏掉(这样就不依赖于微信了),这样,我们就可以把OPENID作为一个写死的值,然后去继续断点调试我们的功能流程,业务逻辑。

第二天,
终于通过把VS项目,里的调试,把w3wp.exe附加到进程,完成了,无论从手机微信,或微信开发者工具都 可以进行的断点调试,(包括前后端)

把图贴给大家:

在这里插入图片描述

微信开发环境搭建

阅读数 371

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