经手的一个微信小程序,有钱包提现余额到微信的功能,最近查看数据的时候发现有人使用某种工具在同一时间提现了多次,但只扣了了一次钱包余额,比如用户钱包有3元,他同一时间提现了多次2元,这样实际到账10元,钱包只扣了2元.

我写的提现接口是这样的,  先校验数据(用户钱包余额等),校验通过后访问微信提现接口,微信提现接口返回成功消息,扣除用户钱包余额.

看了一遍流程之后就发现了问题所在,微信提现接口返回成功消息是需要一点点时间的,这时如果同一时间用户提现了多次的话,这多次请求都会通过数据校验,因为每个请求都还没到扣除钱包余额阶段.

通过利用增删改数据库会开启事务,在数据校验通过之后先减去用户钱包的余额,此时开启了事务,用户其他同时间访问的提现请求开始排队;判断用户钱包余额是否小于0,若小于0则手动抛出异常,此时事务会回滚,提现失败。在微信提现接口返回除SYSTEM_ERROR以外的提现失败信息时,也手动抛出异常。解决问题。

微信提现接口一秒提现多次只扣一次钱相关推荐

  1. java 银行提现接口,学员提现接口

    * 学员提现 >接口说明 :post >注意事项 : * 请求方法 http://entalkj.jiumiwm.com:8762/account/studentwithdraw * 参数 ...

  2. JAVA支付宝和微信(APP支付,提现,退款)

    公共参数图表: 接口 需要参数 通知方式 支付宝APP支付 应用公钥,应用私钥 异步 支付宝APP提现 应用公钥,应用私钥,支付宝公钥 同步 支付宝APP退款 应用公钥,应用私钥,支付宝公钥 同步 微 ...

  3. 提现接口网站 php,API提现接口

    >获取提现积分的类型,在后台可以设置某种积分可被提现,此处获取的数据为可提现积分的类型 ~~~[api] get:/index.php/accounts/Apipoint/member_with ...

  4. 微信开发接口调用(前端+.net服务端)

    微信接口开发,包含服务端(采用.net),前端js//服务端 namespace EatWorld {public partial class Default : System.Web.UI.Page ...

  5. 微信分享接口调用(自测通过可以用)

    微信分享 后台逻辑 import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import ja ...

  6. 微信在线接口调试工具的使用

    2019独角兽企业重金招聘Python工程师标准>>>  微信公众平台为公众号开发者提供了网页版的接口调试工具. 在线测试接口地址:https://mp.weixin.qq.com/ ...

  7. 如何基于微信开放接口开发企业的微信CRM

    业内一直都在传说微信是天生的 CRM,可是没有人看到过微信 CRM 的真容.随着微信最新公众平台的改版和开放接口的微信认证开放,微信 CRM 离企业越来越近.汉拓科技第一时间申请认证并对接了微信开放接 ...

  8. 如何基于微信开放接口开发企业的微信 CRM?

    一直说微信公众平台可以做CRM,但都说得很肤浅,这篇文章比较详细的做了说明,值得一读: 转自:http://www.geekpark.net/read/view/193267 By 黑板报值日生 |  ...

  9. Android_APP 微信支付接口开发

    1.首先说一下我们在开发微信支付接口的时候遇到最多和最疑惑的问题,那就是明明 appid.商户号.API密钥 都对照了好几遍确实是和自己的一样,并且也没有在Log日志中出现签名错误等信息,却始终调不起 ...

最新文章

  1. 并查集 HDOJ 1232 畅通工程
  2. CA certificate
  3. java基础 4 继承(1)访问权限与作用域
  4. linux下的QQ执行玩法:pidgin-lwqq
  5. 深入浅出Python元编程
  6. 深入理解计算机系统(2.3)---整数的表示方式精解无符号与补码编码(重要)...
  7. mysql interval 3 day_Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用
  8. oracle 如何筛选重复,求sql--筛选A字段相同,B字段不同且不重复的记录
  9. Kali Linux 2019.1 发布,Metasploit 更新到 5.0 版本
  10. 要啥网·商信:一款让所有商业活动一步跨入移动互联时代的APP
  11. Flickr.net傻瓜教程(三)--打造自己的图片搜索引擎
  12. CNN已老,GNN来了:重磅论文讲述深度学习的因果推理(附资源)
  13. 投资理财-合理配置资产结构
  14. Python 生成、识别社会统一信用代码
  15. js动态加载div显示主菜单和子菜单+jquery获取动态id
  16. Gson解析json字符串,并封装成ListT
  17. // 和 \\ 都表示什么意思
  18. 交换机工作原理及端口安全配置
  19. 输出一个由*组成的三角形图案_一文带你读懂集成电路的组成与封装形式
  20. 《数字图像处理 冈萨雷斯》绪论——学习笔记

热门文章

  1. html select联动,select标签实现二级联动
  2. 手机红外鸿蒙,实力强劲的四款华为手机:均支持更新鸿蒙系统,你的在内吗?...
  3. Java 调用构造器一定产生新对象吗
  4. 用python对excel进行批量处理(2):将表格中的英文翻译成中文
  5. openssl C++ DSA对指定文件内容签名和解签
  6. flash 场景转换问题
  7. 前端 == Javascript
  8. 记一次群晖7.2使用ssd作为存储池
  9. zcy算法入门笔记002-位图
  10. 以canvas为动态网页背景,添加的标签内容不显示(附源码-----动态背景星空)