总结通过charles抓取https,及微信支付响应的汇总

环境:

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:不存在报:签名错误

扫码支付只和这三个有关系,甚至连商户平台回调地址都不用写。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181016G24WG500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券