ASP.NET开发商城系统,如何锁定用户账户的余额

我们公司现在正在用asp.net + SQLServer 2008开发一个商城系统。这个商城里,每个账户都有一个余额。现在有这样一种情况,当一件商品,用户余额不够支付时,剩余的钱需要由支付宝支付。那么问题来了,比分说现在又一件商品是2元,用户的余额只有1元,剩下的1元需要用支付宝付款,那么当用户进入支付宝付款界面时,如下图进入支付宝付款界面,如何确保用户的金额不在别的地方被使用掉?大家有没有什么好的解决方案?

阅读 5.5k
3 个回答

支付完成之后,再判断余额和订单金额是否相符就行了,不相符再支付一次嘛
或者支付之前将用户余额先扣减,支付失败再重新充值到用户账号里面

点击确认付款按钮,在数据库事务中判断余额是否足够扣减,不足够则返回余额不足,足够则直接扣减,再跳转到对应的支付平台完成付款(支付宝、微信支付等)。
假如用户跳转到支付平台后却没有完成支付,取消了订单,则将扣减的余额重新充值到用户账号中。

新手上路,请多包涵

1每个用户有余额
2支付宝支付完毕 首先进行一次账户余额充值操作
3使用用户余额进行订单支付即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进