支付宝支付个人收款实现的另一个思路

我们都知道,支付宝和微信早就不支持个人开发者收款SDK了,在申请的时候,无论你选的是个人开发者还是公司,都必须提交营业执照,这对我们开发者来说,无疑是很高的门槛。而其他第三方的支付平台,要么收费率太高,要么不靠谱,随时都可能卷款走人,所以自己总结了一个另类的思路,适用于不严格的收款业务。

思路如下:
点击VIP服务,判断是否为VIP会员

如果不是VIP,则弹出购买信息的对话框

用户点击确定支付按钮

我们就把当前用户id发送给服务器(服务器用一个map暂时记录这些id),同时显示等待支付结果加载框

id发送成功后,跳转支付宝支付(你得事先准备好收款二维码的URL,用intent跳转过去支付)

用户支付成功

关键的步骤来了,我们怎么获取得到支付成功的信息呢,我们需要另一部联网的手机,安装我们的支付助手应用,监听支付宝的收款通知(参考我的另一篇文章通知监听的实现),监听到收款通知之后,判断是不是支付宝的,判断金额对不对,如果一切吻合,就通知服务器支付成功了

服务器接收到支付助手的支付成功通知,则遍历我们上面的那个map,把里面的用户设为VIP,然后推送消息(可以用极光推送)给我们的客户端(指定用户id的客户端)推送消息,该客户端收到推送,提示用户付款成功,然后继续下面的业务。

总结:
这种适用于用户量少,对支付结果不是很在意的场景。原因:如果同一时间内,多个用户发起支付请求(把这些用户的id都传给了服务器,用这个map存起来了),那么只要有一个人支付成功,则这个map里面所有的用户都会收到支付成功的推送。这样,假如有10个人同时支付,那么我们实际可能只收到了一个人的费用,其他9个人还没支付成功就已经收到推送,成为VIP了。但是,对于个人收款这种并发性不是很高的场景来说,足够用了。

注意:支付助手应用的手机必须长期保持网络畅通,而且我们的收款支付宝也要安装在那个手机上,不能在其他手机登陆这个支付宝

另一种实现:如果不想多用一个手机,那么就直接在你的应用集成监听支付宝付款通知的功能,但是,必须要让用户授权,让你的应用拥有监听通知的权限,当然,这个体验非常差,一般用户都想尽量少授予权限。所以,不是很重要的应用,不要这样做。

你可能感兴趣的:(Android)