一般来说都是网络游戏公司针对游戏用户充值都是用第三方支付平台来完成的。在一个用户支付过程中,最后会将订单信息提交给第三方支付平台,然后第三方支付平台会返回是否支付成功的信息给游戏公司并处理过后呈现到浏览器给用户看,如果是游戏公司用来根据这个支付成功的页面来直接给游戏用户充值的话。如果用户多次刷新支付成功的页面,就会导致多次给用户充值,那么有什么办法来防止这个问题呢?很简单,只要在用户提交充值请求的时候建立一个关于用户交易状态的数据表,上面有一个字段用来显示用户是否已经付款。在支付成功的页面是先判断用户是否已经支付货款,确认后下一步查询数据库发现订单信息是存在并且交易状态处于未付款状态,那么就可以进行充值操作,并将交易状态设为已付款。当再次刷新页面时这时由于交易状态已经处于完成状态,就不再进行充值操作了,并立即将该订单信息从数据库中删除。这样不管你怎么刷新页面,也不会导致多次充值得发生了。
当交易关闭时,该订单信息也就从数据库删除了!这样就无法伪造支付成功的页面链接来充值了。