商城类项目中遇到的一些问题

1. 前言

  最近负责了一个优点类似美团的商城类微信小程序项目。小程序主要功能为用户能够在小程序中购买商品(门票、餐饮、住宿等),成功购买后能够得到对应商品的消费码,然后在线下实体门店中能够通过消费码来兑换实体商品或实体权利。
  此次项目的体量级本身并不大,只是一个简单的商城类的小程序。基本上所有的产品功能架构都是根据业务方实际中的需要来构建的。所以对于小程序本身就不再赘述。因为是第一次做商城类项目,还是遇到了一些意料之外的问题。本文主要针对项目中遇到的问题以及认为需要着重注意的点进行总结。希望能对首次负责类似产品的同学有所帮助~

2. 目录

  1. 微信支付流程简述
  2. 支付异常的订单处理
  3. 常见锁定库存的2种方式
  4. 退款期间订单状态的处理
  5. 商品的日库存、总库存、日价格、固定价格
  6. 消费码的核销和过期
  7. 提现失败的异常情况
  8. 登录的时效性

2.1 微信支付流程简述

在微信小程序中的支付流程为:用户支付->调用微信支付接口->生成支付订单->鉴权并返回支付结果->更新支付状态(如图)。



图为微信官方文档,相关的链接在文末,感兴趣的同学可以去自己研究一下。

2.2 支付异常的订单处理

  在实际测试中,存在用户下单并成功支付后,管理后台有一定概率无法收到微信的回调。此时会造成用户侧会显示已经支付成功,然后商户侧(管理后台)则会显示订单一直处于支付中的情况。
  内部沟通后我们决定针对用户侧支付成功,而商户侧未获取到微信回调的订单,在限制次数(或规定时间)内通过定时任务的形式重复申请获取回调。因为此类情况是小概率事件,若超过上述条件后仍未收到微信回调,则该笔订单进入异常订单列表并通过站内信进行提醒。通过人工进行处理。

2.3 常见锁定库存的2种方式

  常见的锁定库存的方式一般是2种。①生成订单后即锁定对应库存,若在对应时间内未成功支付即重新释放库存②生成订单时不进行库存锁定,只有成功支付后才会锁定库存。
  由于此次小程序体量较小,业务方担心被友商恶意锁单,故采用了第②种“支付成功后才锁定库存”的方式。但是第②种方式对于销售量较好的商品容易产生支付失败的场景。
  例如当某商品库存为“1”,此时多名用户同时下单进行支付,可能有多个用户都能支付成功,但只有最先收到微信支付回调的用户账号能够锁定剩余库存。而其他用户成功支付的订单将会因为库存不足而自动进入退款流程。
  在这种情况下,系统需要针对此类情况造成的退款,在退款短信提醒中通过文字的形式进行解释说明。

2.4 退款期间订单状态的处理

  用户侧申请退款后,订单将变为“退款中”状态。此时该笔订单对应的消费码无法正常使用(核销)。若用户在退款期间需要使用消费码,点击订单详情页的“取消退款”按钮即可正常使用。
  当申请退款的订单在管理后台审核时选择拒绝退款,需要对应操作人填写(选填)拒绝原因。退款失败后订单会变为“待使用”状态,用户能够继续使用或再次退款。
  在这边需要注意的是,如果用户“退款失败”后,需要在小程序端展示用户的退款记录。

2.5 商品的日库存、总库存、日价格、固定价格

  在商城中商品分为2大类。①商品每一天的库存、价格都是独立存在的,互不影响(如酒店房间、旅游线路等)②一段时间内的库存都是一起的总库存(例如礼品、门票等),但是价格能够针对每日进行分别设置。对于这两种不同的商品,在库存和价格的设置上也会有一点区别。
  为了能够更好的管理商品每日的价格、每日的库存(如需要),我们通过日历视图的形式对商品价格、库存、取消规则等进行管理。下述简称为“日序表”。

2.5.1 日库存商品处理方式
  对于需要设置每日库存的商品,我们在创建商品时需要设置一个标准库存标准价格默认取消规则,用于初始化日序表中的相关字段。
  需要注意的是,考虑到商品创建完成后,商品的每日的库存信息、每日的价格、每日的取消规则会在日序表中进行修改。因此在商品创建完成后在商品详情页中对应字段将变为不可修改状态。管理员只能在日序表中对相关信息进行修改/批量修改。

2.5.2 总库存商品处理方式
  对于不需要设置每日库存的商品,在创建商品时设置的库存即为商品的总库存,并支持在商品详情页中进行修改。标准价格、默认取消规则字段在商品创建成功不允许从商品详情页中进行修改。只能从日序表中对价格、取消规则等信息进行修改/批量修改。

2.6 消费码的核销和过期

2.6.1 消费码的核销
  消费码是用户在小程序端购买商品后获得的相关使用凭证。用户持消费码至线下使用场所使用时需要对消费码进行核销后方能正常使用。
  在核销时遇到的主要问题是核销后自动进行的一系列操作。
  比如核销后给自动给推广员发放奖励金、优惠券等权益。因为考虑到实际操作中可能会存在错误核销、恶意核销、核销后用户要求退票等场景,所以在消费码核销后需要能够在当日24点前对订单进行撤销核销的操作。
  出于用户体验考虑,为了避免出现订单撤销核销后系统发放的奖励金、优惠券等权益失效的情况,我们通过将发放相关权益的时间调整至核销当日的24点之后进行发放的形式来规避上述因为撤销核销操作产生的一系列问题。(24点后无法撤销当日核销的订单)

2.6.2 消费码的过期
  在系统中每种商品的订单是有时效性的,当超过指定时间后对应订单的消费码即会变为“已过期”状态。为了商户的实际利益和用户体验,在商户允许的情况下,已过期状态下的订单在后台仍然能够正常核销,但是在核销时会通过状态强标识和二次确认的形式来提醒操作人员该笔订单是已过期的订单,是否要继续核销。
  关于过期订单核销后相关权益(优惠券、奖励金等)是否正常发放给该笔订单的推广员,需要根据业务部门实际情况来规划。由于本次做的小程序线下门店处于推广阶段,所以过期订单核销后相关权益仍然会正常发给推广员。

2.7 提现失败的异常情况

  在商城中会通过一些活动来给用户发放奖励金。当用户满足一定条件后能够对奖励金进行提现。在微信小程序中我们通过微信商户的转账来实现提现相关的功能。但是在实际操作中偶尔会出现提现失败的情况,主要有以下2种情况:

2.7.1 平台账户金额不足
  如果商户微信商户账号中资金提现后留存资金不足,当用户提现时就会出现提现失败的情况。出于用户体验和企业形象考虑,“平台账户金额不足”造成的提现失败状态不会同步至用户端,而是在管理后台通过站内信或负责人手机短信提醒的形式进行通知。管理员在异常订单模块中能够查看到“提现失败订单”,能够针对金额不足的订单进行“再次提现”操作。
  需要注意的是,管理员在后台进行的“再次提现”操作,用户端都是无感知的。

2.7.2 提现接口报错
  当提现(转账)接口报错时,最直观的展示形式即为支付中心中的转账订单状态一直显示为“转账中/未确认”,从订单创建日期算起,每天都会有定时器去执行5次提现(转账)功能。当订单超过72小时(3天)仍处于“转账中/未确认”的状态,对应订单将会进入异常订单列表。并通过站内信或负责人手机短信提醒的形式进行通知。管理员在异常订单列表中能够对此订单进行手动操作。

2.8 登录的时效性

  用户登录后多久失效,需要重新登录?这个其实是很容易被忽略的小问题,需要根据每个产品自身的具体情况来具体分析。在这边只是提一下,在设计功能时如果有特殊需要的话可以单独提出来~

3. 总结

  以上就是在商城项目中遇到的一些问题,这些问题可能比较基础,但是都是我在实际情况中遇到的没有考虑全面,或者是在进入开发过程中后仍有改动的点。希望对大家有用~

相关资料:微信小程序支付业务流程图:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_4&index=3

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,335评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,895评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,766评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,918评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,042评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,169评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,219评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,976评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,393评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,711评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,876评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,562评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,193评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,903评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,699评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,764评论 2 351