此文主要说明方案,无代码部分
前言:
有个个人项目需要接入vip系统,我们发现微信、支付宝的官方API主要服务商户,而市面上的“个人收款系统”也往往不符合我们的需求。不过,每次支付时通知栏的信息给了我灵感。走投无路,我决定自主开发一个更符合个人需求的收款系统,本文主要论述实现方案。此方案仅适合个人开发者。
原理:
在做这个项目前,发现网络上已有很多其他类似方案,本文的方案对比其他方案较简单,无任何协议和抓包,无任何风险
我们的原理和pxpay基本一模一样,实现方案更为简洁:
创建订单:
用户进行下单,后端对数据库进行排除,查看有没有同一种支付方式且一样金额的订单,用订单和支付方式标记订单号,如果有,就-0.01再查,直到数据库没有为止,当然可以设定最小值一般默认为原金额的90%或110%,如果查到这个值仍然没有,就抛个json,code=400,让等待之前的用户付款结束
用户支付:
这里没办法太难了,我们的方案是针对所有金额,没有太多收款码,只能用户手动输入
创建订单:
通过金额和支付方式查数据库有没有对的上的数据如果有,代表支付成功,用websocket通知回去,如果查不到,可能是失误,status改-1写入数据库。。。等到用户来咨询手动操作