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


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

sqlserver asp.net 商城

十二的手办 9 years, 7 months ago

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

夜之影◇菰儛 answered 9 years, 7 months ago

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

daziba answered 9 years, 7 months ago

Your Answer