只有企业资质才能申请微信支付接口,作为一名程序员要想实现自动收款除了想办法搞到企业资质申请官方的微信支付接口外还可以想办法通过个人收款码来实现。
个人二维码收款码里面除了可以设计金额外还可以设置收款方的备注,这个收款方的备注在识别是哪个用户付款的时候会用到,需要与付款方的备注区分。
个人收款码
同一个金额按照不同的收款备注设置多个,然后保存到服务端,那么数据库有张表就保存了 收款备注,收款金额,收款二维码图片地址 ,收款状态这四个字段。姑且称之为收款码表。
如果有一个用户要付款,就从收款码表中找到一个金额匹配且收款状态为可收款状态的二维码,这个二维码给到用户的同时需要把对应收款状态设置为支付中状态。
在前台用户支付成功后,我们通过微信收款辅助工具(这个工具后面详细讲解),就可以获取到收款方备注,金额等信息。讲是收款方备注传给服务器,通过收款方备注服务器可以知道是哪个用户支付的。
为了避免一个用户长时间占这某个二维码不支付,我们需要在前后台都控制每隔5分钟设置收款状态为可支付状态。
这种实现办法适合小额,支付频率不高的场景。比如说我针对 1元这个金额生成了100个有不同收款备注信息的二维码,那么也就是说5分钟内最多只能有100个人同时支付,1分钟内20个同时支付。对于一些小网站可以满足需求。
接下来说一下微信收款辅助工具,这个工具主要的功能是,当接收到通知栏里面有微信收款通知的时候打开通知信息,获取收款信息,然后把收款信息发送给服务器去处理。
也就是说需要有一台手机24小时联网开着,实时的监听手机通知栏的信息。
2018年10月30日 更新
上面那个方法主要是在微信通知消息拦截不稳定,最后在网上看到别人采用邮件通知的方法来手动更新订单状态,这种办自动化的方法还好可以的。
1、填写邮箱等信息,作为与买家联系的唯一方式邮箱必填
提交订单
支付地址http://book.mybanshu.win/order/input
2、扫码支付
后台记录用户提交的邮箱后,会给我的邮箱发送一个消息支付待审核的邮件。
通知邮件
同时前台跳转到二维码支付的页面,人工对比微信收款消息,如果收到钱了就在邮件中点击确认,没有收到就取消。
收款
3、我点了确认之后,就会给第一步填写的邮箱发送一个收款成功的消息。
这里把这个技术用在我个人的一个网站上, 收款成功会发送一个验证码 。 蚂蚁搬书 网站http://book.mybanshu.win/
代码其实很简单,花了一个晚上就搞完了。搞明白原理,很多时候要想做到全自动的成本太高了,如果业务的实时性要求不那么高,退而求其次半自动的方法也是可以接受的。
支付体验地址 http://my.book.520happy.cn/order/input
我的简书https://www.jianshu.com/u/d78ad7080153
我的个人博客http://www.520happy.cn/
我的微信公众号 :创业者hani
网友评论