记一次支付模块产品设计流程:支付模块怎么设计?

发表于:2018-3-30 13:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Jeffery.Su    来源:51Testing软件测试网采编

#
流程
分享:
  本文作者结合自己的实践经验来分享下支付模块产品的设计流程,enjoy~
  背景
  目前笔者负责的是一款平台类WEB端TO B产品,前期重心放在搭建平台核心功能,同时平台也是免费对客户开放。随着用户数增加,产品本身也考虑从会员分级开始,为不同等级的客户提供不同的服务及平台功能。因此需要引入支付模块,满足客户在线付款和线下银行转账的需求。
  需求调研
  通过和客户沟通,我们发现目前国内客户普遍比较支持银行转账、支付宝/微信、银行卡(借记卡、信用卡)付款,付款之后需要平台可以给开具发票或者支付凭证,他们能够拿去报销即可。基于这点,我决定首先支持国内用户的支付需求,设计了支付模块v1.0版本。
  支付渠道我们选用了国内一家第三方支付厂商,可以提供同时接入支付宝、微信、银联的支持,费率大概是0.6%单笔交易。
  需求梳理
  WEB端的支付流程相较于APP端更为复杂,需要更多的交互细节考虑。从商品选择到订单确认,再到选择支付币种,选择支付渠道,如何给用户比较友好的用户体验尤为重要。
  在产品设计阶段,我将不同等级的会员及所能提供的不同服务差异放在了一个页面,用户可以很清晰的看到每一等级的会员所能享受到的服务差别。这里建议不要设置过多的会员等级,增加用户的学习成本(我们设置了3个级别:免费会员、高级会员、专业会员,同时留下了联系方式可以直接联系我们提供定制化的服务)。
  不同层级的会员一定要有足够吸引用户选购的功能点,或者说你要明确自己的客户分层。比如中小企业客户需要哪些功能?大企业用户需要哪些功能等。关于用户分级的问题,这里先不做赘述。
  线上支付流程
  当用户选择了适合的服务后,进入到确认订单页面。这里我省去了购物车的环节,转而将“选择时长、选择支付币种”等购物车流程,与订单详情合并。让用户做到所选即所得,缩短支付路径。同时可以非常直观的看到自己选择的服务,以及需要支付的金额。
  线上支付下单流程
  当用户下单后,我们在后台自动生成1笔“待支付”状态的订单,同时第三方接口会回传给我们一个URL。通过二维码生成工具,我们会在新弹出来的页面上将URL转成该笔订单所需要的二维码。(期间涉及到我们需要用第三方支付平台的公钥解密文件,当时开发就出现了密钥格式出错导致解密失败的问题,排查了半天原因最后大家也很尴尬??)
  与此同时,后端数据库会执行一个策略是线上支付的订单如果在30分钟内仍旧没有完成支付,我们会将订单强制关闭。前端页面也会通过计时器的方式,告知用户“您的支付已经超时,请重新发起”这类文案提示。这样避免的大量堆积无效的待支付订单,一定要对订单自动处理。
  原支付页面会出现一个手动同步订单状态的弹窗,一旦出现用户完成了支付但是页面状态没有刷新的情况,可以允许用户手动刷新。当然,如果未完成支付的话点击,出现提示“支付尚未完成,请在新弹出的页面完成支付”。
  当用户完成支付后,二维码页面会出现支付成功的弹窗,同时倒计时提醒用户将自动关闭。原有的会员页面刷新,提醒用户“会员已经开通啦,ENJOY!”后端订单状态变更为“支付成功”此时一次线上支付流程结束。
  线下支付下单流程
  TO B产品同样面临着线下支付的环节,此时的业务逻辑是,我们会给用户展示出来需要转账的银行信息,当用户完成转账后,在平台上提交“转账流水单号(或者转账编号)”,同时转账时备注所需要开通的服务及账号信息。我们收到相关业务通知邮件后,运营同学会与财务进行查账核实。如果收到款项则第一时间在后台为此用户开通账号,同时邮件提醒。如果未查收到款项,则会手动关闭此订单(线下订单也会自动关闭,时限设置在72小时)。
  比较理想的方式是可以和财务系统对接,这块会在后续迭代继续优化。
  管理后台
  管理后台我们提供了一系列字段直观的展示给运营同学:例如下单时间、支付渠道、支付金额、支付状态查看,基本的查询功能等。同时允许运营铜同学进行订单状态的修改。后续会考虑加入Dashboard,批量操作等功能。
  数据打点
  对于支付这种重要流程,数据打点必不可少。需要监控到用户跳入“服务选择”页面前的来源页(也就是说哪个功能能触及到用户需求,他有强烈欲望想看看到底如何开通会员),页面访问量,每个按钮点击量,用户再哪个环节跳出率比较高等等,为后续支付环节优化提供数据支撑。
  复盘及后续需要处理的问题
  1. 支付宝/微信官方渠道说支付相关的二维码失效时间为2小时,第三方支付渠道建议在2分钟内完成支付。如果真存在订单有效期内,二维码过期的问题。那么后续需要加入页面轮询,及时请求新的支付URL,替换掉失效的二维码;
  2. 会员续费:后续会加入此功能;
  3. 会员升级:需要制定升级策略,如何补差价,如何计算有效期,是否某些情况下不允许升级等等;
  4. 折扣价:这块我们在后台设计时已经预留了字段,可以满足定额折扣、比例折扣、选择某些套餐时折扣、达到某个值后折扣等需求;
  5. 页面交互:需要优化现有页面交互,让支付流程更加流畅;
  6. 风控环节:因为目前订单量不大,因此采用人工审核的方式。后续会加入机器自动风控的策略,对于一些操作违规的账号第一时间作出限制;
  7. 支付是业务逻辑比较复杂的模块,需要在需求评审前想清楚各个环节的逻辑及可能出现的问题,这样可以一定程度避免因为需求没有考虑清楚导致开发延期的问题。


上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号