环境:
Mac、iOS
首先要配置抓取http的方法。
1.第一是下载 charles, 这里选择的是破解版v 4.2 ,如下地址可获得最新软件
http的配置还是很简单,关键是https的,大部分我们是用抓包就是想用这个功能。
打开Charles, 点击Help->SSL Proxying->Install Charles Root Certificate
然后输入密码进行安装,安装完成之后就要信任这个证书,刚开始我以为下载下来就没事了,其实不是。
方法是有 双击,然后选择 始终信任。
这样就能在电脑上装好证书了。接下来是最重要的:给手机装证书。
在Charles中, 点击Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser, 来查看当前IP地址下, 手机下载证书的网址.
网址如下,用safari浏览器打开:chls.pro/ssl
提示下载,然后安装。
然后IOS系统更新之后,还需要再进行下面的步骤:
在通用->关于本机->证书信任设置,信任证书就行了。解决了一块心病。
小问题,真头疼。
微信商户官网给出了几种支付方式,现在用过的是 公众号支付、扫码支付和现在的H5支付。
扫码支付只能用在WEB端,更确切的说是可以用在,能用微信自带扫一扫进行扫描的地方。这样限制很大,有的开发者说可以截图保存下来再让用户长按保存。这么不人性的功能,咱们怎么可能采用呢。
官方禁止了这个,肯定是要推广另一个功能,那就是H5支付。
那就申请吧,没啥犹豫的了。
还要审核,费时间。
第二条:如何响应微信回调通知。
这个问题其实很困扰我,原先都是使用 return 'success' 或者 return true;但是这并没有用,写一个时间戳命名的文件就能看到一直按照他们的频率进行通知的。
正确做法:按照官方给的xml 进行响应。
die();(只适用于微信支付响应)
对于jssdk响应则需要注意官网这句话:
假如服务器无法保证在五秒内处理并回复,必须做出下述回复,这样微信服务器才不会对此作任何处理,并且不会发起重试(这种情况下,可以使用客服消息接口进行异步回复),否则,将出现严重的错误提示。详见下面说明:
1、直接回复success(推荐方式) 2、直接回复空串(指字节长度为0的空字符串,而不是XML结构体中content字段的内容为空)
即可解决。
多学习一下mysql高性能吧,有用。
其实微信扫码支付可分模式一和模式二,这里选择模式几?我也不知道,我都是默认把扫码回调地址写上,其实这块还是要看插件的设置了。
下面分别说明一下三个必要元素:
1.appId: 这个如果写错会报:appid不存在
2.支付商户号(mid):不存在会报:商户信息有误
3.key:不存在报:签名错误
扫码支付只和这三个有关系,甚至连商户平台回调地址都不用写。
领取专属 10元无门槛券
私享最新 技术干货