关于支付宝用户支付之后立即关闭网页没有返回到网站处理数据的相关问题

由于某些特殊情况下。支付功能由我公司一个大牛做成了一个api。并且他已经做好了某些数据的相关处理。比如支付成功后往游戏里面充值金币。

通过这个api我只要传一些参数过去。产品名称,价格,描述,RMB金额 ,游戏内金币数量。

这样来说只要充值金币,那是万无一失。因为支付宝在支付成功的时候就会发送一个异步的信息到这个api。而不管支付页面有没返回到网站上。

现在有新增一个功能。就是支付成功的时候要赠送购买者一些别的东西。这些东西是在网页端进行的。没有在api端。

本来想叫大牛在做一个api让我查询,用户是否支付成功。因为有一种原因让我可能无法确定这个用户是否支付成功。毕竟我是在网页端。支付宝支付成功发送的信息没有发送到我这里。

支付宝返回的页面才有到网页端。要是用户关闭了支付后跳转的链接。那我这边就无法处理相关操作。

大牛很没空。给了我数据库ip 用户名 密码。让我自己去查。

问题来了。如果用户没有返回到我的网站,我就没办法获取到订单号,没办法查询他刚才支付的是否已成功。

于是我叫大牛把上面那个api改了下。订单号由我这里生成。

这样我就可以查询了。

我是这样处理的。在生成订单的时候设置一个cookie记录。

弹出支付后,返回网站则清除这个cookie

没有清除cookie的话说明他中途关闭了。

这个时候我通过页面刷新get 一个url 把订单号发送到api端数据库查询是否已经支付成功。

支付成功则写入相应数据。

不管用户支付成功或者失败。都删除cookie。

这样就兼容了。虽然很绕。不过还是一个解决方案。主要是大牛把支付做成了api。

其实我可以自己做支付宝api。不过公司要求他做。那我也只能这样咯。