都说「站在用户角度做产品」到底应该怎么站?

2020-05-26 15:02:09 +08:00
 mmrx

昨天公司群里讨论一个异常流的交互,小小的怼了一下产品。引发了我的这个问题。

都说要「站在用户的角度做产品」那现实中该怎么转换这个思维,尤其是对于程序员来说,感觉还是比较困难的。

这是发布到我的公众号里的 事情经过和我的一点思考 感兴趣的可以点进去看一下,觉得写的不错的话希望点个关注。

下面是整个事情的大概经过

事情的背景是这样。

在一个支付场景中,存在两种支付方式供用户选择,分别是支付宝和银行卡转账。其中银行卡转账是提供一个临时转账账户,由用户在银行 App 中输入这个临时账户进行手动转账。

联调过程中出现了这样一个异常流。

用户选择支付宝支付,应用请求公司的交易服务,获取了一个支付宝签名来调起支付宝 App 进行支付。但是在支付宝支付页面,没有完成最后的支付,返回了应用。此时用户再次选择支付宝支付,接口报错。

报错原因在于用户支付过程中,公司的交易服务产生了一个对应的支付单,但是在支付宝中用户未取消支付且退出支付流程,这个状态交易服务是监听不到的,因此出于保障用户利益的原因,为了避免出现超额支付的情况,这个交易单在几分钟内是处于「锁单」状态的,超时后会自动关闭这个交易单,用户才可以重新发起交易流程

产品在这种情景下,要求展示一句异常提示「订单支付中,请勿重复提交」。

当时在群里讨论,我提出了一个疑问,**用户在这样的情况下看到这句提示,不会感到迷惑么?**对此我得到的回答是:

这是通用提示,其他 App 也是这样做的。用户发起过支付,所以他应该是知道要再次在支付宝付款的。

我回复她:

所以优秀的应用总是与众不同的

我感觉一个异常提示不仅仅要告诉用户为什么出现了异常,更重要的是提供一种或者多种解决办法。

我受够了在使用某些应用的某些功能时,弹出一个莫名其妙的提示语,告诉我出问题了,功能流程进行不下去了,然后我也不知道怎么办,更难受的是我当时还需要用...不知道看到这里的你是否也有同样的感受...

上面这个事情很小,但是引出来一个标题的疑问,产品都这么不专业,作为开发的我们,怎么才能在日常开发中「站在用户角度」做功能?可能我是日常已经有这方面的吐槽,才会在这个场景下能轻易的「做用户」,但是遇到非日常场景或者不太会有代入感的业务场景下呢?

你们是怎么做的?

2927 次点击
所在节点    程序员
37 条回复
imn1
2020-05-26 15:12:07 +08:00
两个都没错
实际上按你的想法,你要做的事更多

例如捕捉异常(说的是一般程序),将所有异常归一处理,是比较方便的,工作量也少
但如果要分清哪个类别的异常,就要做各种判断,而且总有判断不出的情况,例如某 SNS 封号理由是“其他原因”

有心就做细,给你点赞
泛化处理,大部分客户在没有损失的情况下,也不会产生太大厌恶感,这时降低人力成本的做法也不能说错
Achiii
2020-05-26 15:13:34 +08:00
调起时候每次生成的支付单订单号都是不同的,这样就不会报错了。我也不知道这样做对不对哦
marcTTT
2020-05-26 15:18:08 +08:00
提示信息明确告诉用户怎么做比较好,做的越细致体验越好,如果有能力尽量细致吧。
SwimmingDragon
2020-05-26 15:21:21 +08:00
对于自己的订单有一个订单编号,对支付宝的订单编号可以随时改变,然后就可以在未支付成功的前提之下重新唤醒支付宝支付。但是,一定要保存支付宝的支付商户号(好像是这样的名字),这个东西的作用是用来退款的,在支付宝的支付回调里的订单号是自己数据表的订单号来查找自己的订单,这样不用等待支付宝订单结束也可以支付。这个是个人的做法和思路,有更好的解决方案或者思路,可以和我共享一下的。/狗头
hao4857
2020-05-26 15:27:24 +08:00
上家公司以前的做法是:每次调起生成临时的支付订单号,支付成功才生成正式的支付订单和记录;如果支付过程中断,用户重新调起支付过程,创建一个新的临时支付订单。
Chenamy2017
2020-05-26 15:30:11 +08:00
提示一定要告诉用户怎么做才好,要不然你让用户怎么办?
hao4857
2020-05-26 15:37:43 +08:00
创建支付订单时,产品支付页面 loading+全屏遮罩层,新窗口打开支付宝支付页面,用户关闭窗口时系统检测支付状态,如果状态异常提示“支付失败,请联系我们的客服人员”;支付状态成功则直接调整支付记录列表。

提示语也不是越多越好,多了,toast 时间又不够时,用户没看完就隐藏了,更尴尬。过长的提示语用户又得花时间去理解。小白用户还不一定能理解全部名词。

“当前订单处于支付状态中,请到支付宝中完成未支付订单,或者等待 2 分钟后尝试重新发起支付。”
如果用户把支付宝标签页不小心关了,怎么到“支付宝中完成未支付订单”?另外,“等待 2 分钟后尝试重新发起支付。”用户支付还要拿个秒表记录时间。
vazo
2020-05-26 15:47:29 +08:00
个人感觉这个提示没毛病,这和前方道路维护请绕行差不多.
opengps
2020-05-26 15:57:59 +08:00
作为技术,不要太热心去创新,因为创新带来的业务风险反而可能比抄袭同行盈利更大,别问我为什么这么说,真的深有感触
powerfj
2020-05-26 16:05:10 +08:00
感觉产品方案和后端有问题?
这个体验太差了.
khao
2020-05-26 16:14:09 +08:00
两个都错!
在支付宝里取消了支付,再次支付时重新生成一个支付单不行吗?
fengmumu
2020-05-26 16:55:00 +08:00
为啥不给一个支付倒计时? 这样用户知道没有支付 也知道订单多久会失效。。。
cz5424
2020-05-26 17:14:53 +08:00
楼主举例而已,现在的确是人人都是产品经理的时代。。
站在用户去考虑问题是没错的,作为技术只有两种选择,1.说服产品,2.自己当老板
cz5424
2020-05-26 17:15:40 +08:00
哦还有一个,3.当个工具人,要干嘛就干嘛
mmrx
2020-05-26 17:33:00 +08:00
@imn1 感谢点评。确实我只是单纯在用户角度去评论这个交互,成本方面忽略掉了,作为服务提供者或者开发者,角度不一样确实容易得出不一样的结论,作为结果,可能是很多方面相互权衡得出的,不能简单的说对错
mmrx
2020-05-26 17:37:16 +08:00
@SwimmingDragon 后端给出的原因是,在进入支付宝支付页面,未支付情况下退出,交易服务监听不到这个状态下的支付宝消息,而不等待支付宝订单结束,立马重新创建,会有这样的情况,某一段时间内存在多个同一金额支付宝订单,就会有出息多次支付的可能。所以才有「锁单」这个逻辑
mmrx
2020-05-26 17:39:49 +08:00
@hao4857 你说的没错,提示语的内容确实需要再权衡,内容多少都可能会有弊端。其实我想表达的点是「异常提示语给用户的不仅仅是原因,还应该有解决方案」,具体的内容确实是我考虑少了
mmrx
2020-05-26 17:42:08 +08:00
@opengps 感谢指点,行业内的流行做法肯定是经过好多人验证的,也肯定避过了很多坑,贸然创新很有可能出现问题。我的点其实不是创新,主要是提升个人的产品思维或者学习怎么换位思考。
mmrx
2020-05-26 17:43:47 +08:00
@fengmumu 一个是倒计时对于前端增加了不少工作量,另一个是前后端存在一个时间差,如果做不到精确,我感觉不做可能更稳妥一些
mmrx
2020-05-26 17:46:30 +08:00
@cz5424 哈哈哈哈自己当老板可还行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/675618

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX