小问题,真头疼。
第一条:支付失败 该商户不支持长按二维码支付
微信商户官网给出了几种支付方式,现在用过的是 公众号支付、扫码支付和现在的H5支付。
扫码支付只能用在WEB端,更确切的说是可以用在,能用微信自带扫一扫进行扫描的地方。这样限制很大,有的开发者说可以截图保存下来再让用户长按保存。这么不人性的功能,咱们怎么可能采用呢。
官方禁止了这个,肯定是要推广另一个功能,那就是H5支付。
那就申请吧,没啥犹豫的了。
还要审核,费时间。
第二条:如何响应微信回调通知。
这个问题其实很困扰我,原先都是使用 return 'success' 或者 return true;但是这并没有用,写一个时间戳命名的文件就能看到一直按照他们的频率进行通知的。
正确做法:按照官方给的xml 进行响应。
die(<xml> <return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>);(只适用于微信支付响应)
对于jssdk响应则需要注意官网这句话:
假如服务器无法保证在五秒内处理并回复,必须做出下述回复,这样微信服务器才不会对此作任何处理,并且不会发起重试(这种情况下,可以使用客服消息接口进行异步回复),否则,将出现严重的错误提示。详见下面说明:
1、直接回复success(推荐方式) 2、直接回复空串(指字节长度为0的空字符串,而不是XML结构体中content字段的内容为空)
即可解决。
多学习一下mysql高性能吧,有用。