App微信支付验证签名失败失败

合集推荐安卓破解游戏合集
绿茶安卓破解游戏下载合集专区提供安卓破解版游戏大全、破解版手机游戏免费下载,绿茶安卓破解游戏专区致力成为免费的手机破解游戏下载平台专区。为大家提供最新免费的安卓手机游戏破解版免费下载,送元宝,送钻石、...
852.4MB / v1.32.2 安卓版
803.2MB / v1.33.1 最新版
422.7MB / v1.33.1 最新版
507.9MB / v1.33.1 最新版微信app支付:支付权限检查失败,是什么原因?
[问题点数:100分,结帖人u]
微信app支付:支付权限检查失败,是什么原因?
[问题点数:100分,结帖人u]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|如题今天要描述一个问题是:程序在确认订单时拉起第三方支付,支付失败了,引起的问题。
为了能清楚的描述问题,我把场景复现一下,大家肯定都有过APP购物的体会,大家一定知道有一个按钮叫&确认&或者&结算&之类的功能按钮,点击一下弹出一个框让进行微信支付或支付宝支付或银联支付或其他什么支付的。那么这个&确认&或者&结算&功能按钮在背后到底做了哪些事情,成功或失败是怎么处理的,需要怎么处理,这些都是值得讨论的问题。我们在做商城时就遇到了这样的问题,我们的问题是我们第一次点击&确认&按钮时程序报错说支付失败了,第一次失败没问题呀,可能就是支付有问题吧,那么我们再次支付呗,OK,那我们再点,这个时候又报错了,说购物车为空,我们测试的妹妹就晕了。明明页面上购物车里有商品啊,谁说的为空,你自己看嘛,你自己看嘛,谁说的为空。
这就是我们的问题。
那么遇到这样问题怎么办,我们把问题细化,细化,在细化,我们一步一步看每一个步骤。然后我们会看到在订单提交,支付付款时,这里边的过程需要细化的地方就是,先要创建订单把用户购物车里所有的商品、优惠券、积分等所有东西计算好之后把的结果落库,把购物车清空。然后在向微信、支付宝等发起支付。
这里细化出来了两步:
1、创建订单,清空购物车2、向第三方支付平台支付。
既然分出来了两步那么每一步就都会有出错的可能,每一步都可能出错。出错并不可怕,可怕的是出错不认,知错不改,明知故犯。上边的两步必须是顺序的执行,也就是说如果第一步出错,那么第二部不用执行了,而如果第一只执行成功,第二步失败,这个问题就比较麻烦。这就是我们的测试妹妹看到的问题,第一次是真的支付失败了,但是创建订单成功了,所以购物车在后台数据库清空了,而页面没有刷新,第二次呢购物车真的是清空了,在也无法支付了,因为后台会重新检测购物车。
我们先来这样讨论问题
首先我们已经把上边说步骤分成了两步,那么我们就按照两步的方式来思考问题,每一步在一个单独的事务里。为什么要这么看,好像APP的开发人员说支付这一步骤是APP直接调用微信或支付宝不通知服务器端的。那么只有第一步是服务器完全可以控制并且在自己的一个事务里,那么可以给APP一个约定,成功怎么处理,失败怎么处理。如果失败还好,直接说你不用走第二步,当然失败不是我们期望的,我们也不希望失败,所以第一步成功了。那么到第二步怎么办呢,这里按之前所说的这一步是APP直接拉起微信或支付宝的,服务器端根本不知道,那么这里的问题就来了,如果支付成功,当然是我们期望的一个结果,直接写会数据库,支付成功回写,这没有问题,是我们期望的结果。
(这里没有讨论,在支付成功后回写失败怎么办,这也是一个大坑,虽然概率不大,但是不能假设,特别是量大的时候,一旦出了问题,用户可是真的付钱了,非常特别的麻烦。你拿用户钱,告诉用户没有支付,不给用户东西,你抢钱嘛)
那么支付失败怎么办,我们的焦点问题就是如果支付失败了,APP又不刷新,仍然能够看到购物车里有商品,而实际上因为第一步的调用成功,购物车已经被清空,购物车里的商品已经落库成为了订单。这时不能在对购物车进行支付,而实际上是订单。订单的状态是未支付或者支付未成功。
讨论到这里,我们已经非常明确的看到以下内容,首先在显示上混淆了支付的是订单还是购物车,因为在APP上显示的是操作一次,按了一个按钮发起两个调用,让用户感觉到或者给你迷惑的感觉的是我这次是对购物车进行的支付,买的是购物车里的商品嘛,但实际上是由于APP在进行了第一次创建订单调用后,紧接着直接拉起支付,没有通知服务器。这是两个步骤在一起有没有很好的异常处理或回滚机制,看似友好减少用户操作的行为却是给用户造成了极大的麻烦。首先这里一定要明确的是支付的一定是订单,不是购物车。
当然用户是可以不用感知到支付的是购物车或者是订单的,也可以不用感受到有任何变化的,这个时候如果两次调用全部成功或一起失败,都是没有问题的,但我们的问题就是用户没有任何感知的情况下,第一个调用成功了,第二个失败了,APP还没有任何变化,或者没有刷新的意愿,那么第一个数据想回滚,或者有回滚的意愿,或者想有其他的处理,问题就来了。
对于这样的一个分析,上边解决问题是思路相对也比较明确,第一种,那就分成两步,每一步单独处理,从业务流程上给出一个解决方案,就是可以一起提交,但是如果是第一步成功,第二步失败了,那么在这个时候,APP上可以给给提示,比如说:你的订单已经提交但是支付失败请尽快完成支付,等。或者干脆就是直接分成两步,第一步订单提交,并给出提示。第二,订单支付并给出提示。
第二种,我们假设这个支付可以有服务器端发起,把创建订单落库和支付的业务放进一个事务里,同样是一次调用,那么由于事物的支持,可以一起失败,一起成功,这想来是比较棒的解决方案。
第三种可能,是不是可以有APP来发起事务,然后第二调用失败了,让第一次操作取消,那这里就涉及到两种方案,第一种,使用事务,让第一次的提交在第二支付成功时,才真正落库。第二种,可以把第一次是数据库状态变成提交前的状态,相当于回滚,但实际上更加类似又重新了一份数据,或者更改原来的为落库前的状态。或者第三种,让用户先支付成功,然后在写订单,(这种感觉是骚主意吧,还涉及到库存,那一超卖,在那个点上卖完了怎么办)
第四种可能,APP同时把自己拉起支付调用的支付结果在告诉服务器,让服务器来返回APP的这一次行为是最终该怎么办。
其他解决方案,欢迎大家一起吐槽,讨论~
回来散步时又想到一种办法,
第五种办法,在用户点&确认&或&结算&按钮时,在服务器端校验除了校验购物车是不是为空的话,再校验最近的没有支付或者支付失败的订单的,对比一下点击按钮的时间和订单的时间,在某个可允许的范围内,可以假设就是支付的这个订单。(想来这个也是一种不算好的办法,但理论上也可以解决这样情况的大部分问题)
本来我想是非常简单的问题,除了第三种然APP来做事务相对困难,其他的都是业务流程稍微变化一下就能很好的解决问题,但是我反应了几次这样的问题,也是没人理我,感觉世界好悲哀。有人认定了创建订单有问题,有人说支付有问题,支付不成功嘛,我给人解释,但是感觉...就是那种感觉&他人笑我太疯癫,我笑他人看不穿&。
但是就像我上边说的出错不认,知错不改,产品不改进,用户体验差,拼命的让程序员改一些明明流程问题引起的看似是BUG的问题,可怜那些悲催的程序员吧。
阅读(...) 评论()苹果支付失败 账户却被扣钱
市民使用该支付功能注册某网站会员失败,却收到短信提示被扣146元,苹果售后承诺返款却迟迟不兑现
身边事·社会
] 字体:【&&】
&&晨报热线 消息(记者 辛安然 实习生 刘雅萌)昨日上午,市民张先生反映,他使用苹果开通的支付功能注册某网站会员失败,随后收到银行扣款信息,一共被扣掉了146元。向苹果售后反映后,对方承诺返还扣款,但至今快一个月了仍没有动静。&&业务没办成反而倒扣钱&&据张先生介绍,7月初,他使用苹果公司新推出的苹果支付功能,想通过线上支付开通某网站视频的会员。“试图开通会员那次,是我第一次使用这个苹果支付的功能,流程应该没有问题,就是按照要求绑了银行卡,然后填写一些个人信息什么的。”张先生说,他本来是想开通1个月会员的,应该是25元。但是支付完后,会员并没有开通,扣款却开始了。“一共是146元,扣了一次50元,4次24元,我完全不知道这几次扣款是根据什么来扣的。而且如果会员开通了还好一些,可业务并没有办理成功。”张先生说。&&张先生拨打了苹果的官方售后服务电话,“对方让我等待十个工作日,然后查看返还的钱款,还说会拨打回访电话了解服务情况,让我不要担心。”&&承诺返款等一个月未到账&&但是十个工作日过去后,售后服务人员所承诺的返款并没有出现在张先生的账户上,而且他也没有接到任何了解服务进程的回访电话。苹果售后没有音讯,又等了好几天的张先生等不下去了,给苹果公司发了一封邮件。“发第一封邮件没有回信,我觉得是被冷处理了,又发了一封,告诉他们说我是可以投诉的,后来对方就给我回信了,内容就是让我继续去银行查账啊之类的,实际上还是继续冷处理。”&&张先生介绍,前几天,他又按照对方说的去银行查账,可是还没有返款。“到今天都快一个月了,苹果方面一直没有什么实质性的处理。”&&苹果:&&返款时间不能确认,需等待&&昨日下午,记者与苹果售后取得联系,售后人员表示,用苹果支付的平台如果失败,可能存在一些滞后性。如果已从关联的银行卡上扣款,那么按照流程申请后,在规定的工作日内,是会返还到用户银行账户里的。但是,也有一些银行需要业务审核,可能会耽误一些时间。如果想要查询进度,需要提供手机ID号,以及处理此信息的业务号。&&随后,记者根据张先生提供的ID号再次和对方联系,但售后表示,目前依然无法查询到任何进展,具体等待返款的时间也不能确认,只能让张先生继续等待。&&律师:&&苹果公司应按约承担责任&&对此,圆点律师事务所的张孝明律师表示,根据《合同法》的有关规定,依法成立的合同受法律保护,当事人应当严格按照合同履行各自的义务,违反合同约定需要承担相应的违约责任。本案中,苹果公司开发的线上支付软件,在张先生进行注册后,双方即建立了合同关系,苹果公司应当按照合同或者协议的约定,保障张先生的账户安全,因系统漏洞或者非张先生原因,导致支付错误被扣款,张先生有权要求苹果公司按照合同约定承担责任,如果合同无约定,以张先生的损失为限要求苹果公司承担赔偿责任。建议协商处理,协商不成可准备证据诉至法院。
版权声明:
徐州报业传媒集团旗下媒体徐州日报、彭城晚报、都市晨报、中国徐州网所发表之文章与图片,受《中华人民共和国著作权法》的保护,未经书面许可不得转载。
部分网站的侵权行为,如擅自转载、更改消息来源以及抄袭等,徐州报业传媒集团及其旗下媒体已经委托有关部门收集相关证据。
身边事·社会
本版标题列表Apple Pay支付失败钱却被扣 苹果官方迟迟解决不了
新蓝网·浙江网络广播电视台
下载客户端:
核心提示:近日,杭州的陈先生通过苹果支付系统花了198元购买游戏币,结果支付不成功,钱却被扣走了。
新蓝网-中国蓝新闻客户端8月11日讯(浙江教育科技频道记者报道)近日,杭州的陈先生通过苹果支付系统花了198元购买游戏币,结果支付不成功,钱却被扣走了。如今,事情过去了一个多月,陈先生的钱依旧没有退还,而苹果公司昨天给出的答复是:请耐心等待。浙江省消保委投诉与法务部主任韩志斌表示:对于这个案子当中,消费者是没有任何责任和过错的,那应该说,我支付了钱,我可以得到等价的商品,这个是一个公平交易的原则,那么因为是苹果的Apple Pay出现漏洞,或者说有什么故障,而导致消费者交易不能顺利进行,这是苹果公司应该要承担的责任。事实上,苹果之前公司已经承认,这是因为其系统故障导致的问题。而且,遇到问题的,并不仅仅是陈先生一人。尽管责任是明确的,但韩主任说,目前,苹果公司既已明确表达了正在对此事调查并负责,消费者还是要耐心等候... ...
来源:浙江教育科技频道编辑:陈洁

我要回帖

更多关于 支付失败 的文章

 

随机推荐