HH SaaS电商系统的支付模块设计

文章目录

  • 支付单
  • 支付单状态流转逻辑说明
  • 支付相关实体
  • 支付流水记录
    • 支付方式
    • 支付渠道

支付单

  • 销售订单生成时,同步生成支付单,如果销售订单的应付金额由首付款和尾款组成,那么会生成两个支付单

  • 支付单与销售订单的“联合单号”或者“退款单ID”关联,而销售订单则通过此“联合单号”找到对应的支付单,联合订单可有可无(联合订单的字段:ID、联合单号、应付总金额、状态等)

  • 联合销售订单只能一起付款,所以只会生成一笔支付单。当然你也可以分别生成多笔对应的支付单,但是生成支付流水记录的时候就比较麻烦了,程序要先计算出其中一个支付流水记录的到账金额和手续费,就要先计算出该支付流水记录的支付金额在总支付金额中的占比,通过这个比率计算出大致的手续费,然后再计算到账金额(支付金额-手续费=到账金额),最后再计算另一个支付流水记录的手续费、到账金额。如果联合销售订单一起付款时又允许分期付款,那就更麻烦了。所以联合销售订单一起付款时不建议根据销售主单来分别生成对应的支付单。

支付单状态流转逻辑说明

第三方支付系统反馈支付状态,如果成功,则将支付流水记录的状态转变为“付款成功”,失败则转变为“付款失败”。支付流水的状态转变成“付款成功”后,要判断全部关联的状态为“付款成功”的支付流水的支付金额总和是否等于支付单的应付金额,若相等,则将支付单的状态转变成“付款成功”,如果低于应付金额,则将状态转变成“部分付款”。直到支付单的状态转变成“付款成功”后再通知相关的销售单或者退款单改变相关的状态。

支付相关实体

在这里插入图片描述

支付流水记录

客户端调支付接口付款时,才生成一条支付流水记录,并将生成的支付流水号传给第三方支付接口

支付方式

消费者购物时可以选择线上的支付渠道完成付款也可以选择线下的支付渠道完成付款,线上的支付渠道通常有:微信支付、支付宝、快捷支付、钱包余额等,线下的支付渠道有:信用卡、借记卡、现金。

支付方式支付渠道
线上支付微信支付、支付宝、钱包余额
线下支付现金、POS刷卡、转账、微信支付、支付宝、银联闪付

支付渠道

在订单支付中,订单的“应付金额”是买家实际要支出的成本费用,这个费用已经抵扣了全部优惠金额,已经是固定不变的了,买家可以通过银行卡、现金、支付宝、微信支付、钱包余额等多种渠道来支付这笔费用,那么上述这些方式就是支付渠道。

  • 钱包余额
    这是买家充值后产生的,买家为此承担了相应的成本,所以钱包余额属于支付方式,钱包余额只能1:1充值和提现。
    钱包余额若不足,则选择其它支付方式,不可以选择钱包余额后,余款再选择其它支付方式,每次付款只能选择一种支付方式完成付款。

  • 购买的优惠券
    买家花100元购买到150元的现金券,这种现金券只能在订单支付时使用,所以属于支付方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335676.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java8 guava_Guavate:桥接Guava和Java8的微型库

java8 guavaJava8很棒,并向JDK添加了一些有用的抽象,这些抽象通过Google出色的Guava commons库在Java社区中得到了普及。 小组讨论表明, 不久将有一个需要Java 8的Guava版本,并弥合了Guava和Java8之间的鸿沟。 但是,直…

添加几个手机联系人_One UI 3.0: 更细腻、更好用,这才是手机系统该有的样子

作为全球出货量最多的 Android 手机厂商,三星宣布将于北京时间 1 月 14 日正式召开 2021 年度的新品发布会。伴随着 S21 的即将发售,我想借此机会和大家一起来聊一聊前不久刚刚推送正式版本的 One UI 3.0。One UI 3.0 是三星基于 Android 11.0 打造的新一…

HH SaaS电商系统的商城模块设计

文章目录好获SaaS电商系统层级关系商城实体商城运营模式商城可选子系统创建商城商城管理后台有供应系统和无供应系统的B2C和混合模式的商城系统对比有仓储系统和无仓储系统的B2C和混合模式的商城系统对比有店铺系统和没有店铺系统的商城系统对比商城关闭商家入驻通道B2C模式商城…

autovalue_AutoValue:生成的不可变值类

autovalueGoogle GitHub托管的项目AutoValue之所以有趣,有多种原因。 该项目不仅使为“ 值对象 ”编写更少的Java代码变得容易,而且还为Java注释处理的实际应用提供了概念上简单的演示。 该自动/值项目是由提供谷歌的员工凯文Bourrillion和埃蒙麦克马纳斯…

舱机器人尾巴毛茸茸_毛茸茸的(Fluffy)——欧美有史以来最伟大的机器人战争机器人...

我们精选了部分网友观点:是一个潜在的十大机器人如果它被更可靠。Wouldve been a potential top 10 robot had it been more reliable.毁灭性的一次了!Devastating once it got going!打击101和Terrorhurtz遗忘和猫造成了重大损失,猫是更糟糕的状态没有毛茸茸的分解…

HH SaaS电商系统的物流单设计

业务说明 物流信息提交后,系统生成物流单,出库单与物流单是一对多的关系 退货时买家填写物流信息,提交后系统生成物流单和入库单,物流单需要保存入库单的id 物流单实体

pcl_openmap_OpenMap教程5 – 3层GIS应用程序

pcl_openmap1.简介 欢迎使用OpenMap系列教程的第5个教程。 OpenMap是一个免费的开源Java GIS库。 这是以前的教程列表: 在第一个教程中,我们创建了一个基本的OpenMap GIS应用程序,该应用程序在JFrame中显示一个从文件系统加载的具有一个形状…

小米登录协议分析_小米温湿度传感器协议分析

博主喜欢玩智能家居的东西,智能家居确实能给家里带了不少的方便。天气热了,博主想做一个:当屋子有人,并温度高于33度时,开空调。博主已有了一套自家的智能家居系统,有网关、人体红外传感器、红外转发器&…

HH SaaS电商系统的商品系统设计

文章目录商品信息结构商品信息总结构商品信息结构图发布商品商品类型虚拟商品服务商品为什么服务商品要分类前端根据服务商品类型来设计不同的界面和交互订单状态和服务类型有关商品档案上下架运营商品上下架(即商品营销上下架)删除商品租户删除自供商品…

jdk170不支持注释_JDK 9 @不建议使用的注释增强功能

jdk170不支持注释在帖子中, Deprecated可能会是什么样子? ,我当时使用JEP 277 (“增强的弃用”)的描述来指导创建增强的自定义Deprecated注释。 但是,自从发布该文章以来,JEP 277进行了重大更改…

对mysql的总结与反思_深入了解MySQL,一篇简短的总结

MySQL的基本语法这里作为MySQL部分模块的深入了解,大部分都是理论方面的笔记,不会写具体用法。具体用法会记录在下面这个随笔分类下,不过暂时还没更新完,等过段时间会更新下事务、存储过程、索引等用法,虽然都很简单&a…

HH SaaS电商系统移动端商城,买家选择商品规格的交互设计

文章目录未完整选择商品规格时商品图如何显示库存如何显示价格如何显示选择规格提示文案如何显示原型图已选完整选择商品规格时商品图如何显示库存如何显示价格如何显示原型图SKU下架后如何显示原型图购买数量如何交互未完整选择商品规格时 商品图如何显示 显示SPU的主图&…

aws lambda_适用于无服务器Java开发人员的AWS Lambda:它为您提供了什么?

aws lambda无服务器计算如何帮助您的生产基础架构? 在过去的几年中,无服务器计算架构一直受到关注,因为它专注于应用程序的主要组件之一:服务器。 这种体系结构采用了不同的方法。 在下面的文章中,我们将解释无服务器…

HH SaaS电商系统的销售订单毛利润模块设计

HH SaaS电商系统的销售订单利润分析,仅是简单分析供运营人员参考而已,所以订单生成后就自动根据商品成本价和实际交易价生成利润表,而不需要等到订单归档后才生成。 销售子单的毛利润最终交易总额-成本总额销售子单的毛利率毛利润/最终交易总…

aes子密钥生成c语言_一种基于流密码算法的子密钥生成方法与流程

本发明涉及一种用于分组加解密算法的子密钥的生成方法。背景技术:随着信息技术的发展,信息安全性的问题却愈来愈显得突出,保证信息安全的一个重要技术就是密码学。密码学在信息安全技术中扮演着基础的角色,是攻击者最难攻破的模块…

学习java很痛苦_Java日期细微的痛苦提醒

学习java很痛苦这些天我不再需要使用java.util.Date了,但是最近选择这样做,这让我想起了使用与Java Date关联的API的痛苦 。 在这篇文章中,我看了弃用的参数化Date构造函数的一些令人惊讶的API期望,该构造函数接受六个整数 。 在…

如何理解程序保存数据就是输出,读取数据就是输入的含义(程序中输入input/输出output的含义如何理解)

文章目录程序是如何保存数据的为什么保存数据的类名称都表达一种输出意思,例如:output程序如何读取数据为什么读取数据的类名称都表达一种输入意思,例如:input总结程序是如何保存数据的 对象的序列化就是持久化,就是把…

hazelcast_HazelCast的Spring-Boot和Cache抽象

hazelcast以前,我们是使用spring提供的默认Cache Manager来开始Spring Cache抽象的。 尽管这种方法可能适合我们对简单应用程序的需求,但是在出现复杂问题的情况下,我们需要使用具有更多功能的其他工具。 Hazelcast就是其中之一。 当涉及到基…

eclipse preference没有server_Java Web开发的前期准备工作,部署Tomcat服务器和Server环境创建...

Java Web: 顾名思义,就是用Java的方式来解决Web开发,我也不讲太多的理论问题,直接将如何上手来进行Java Web开发。那么,我们一般进行Java Web开发,可以使用的工具很多,我这里使用eclipse。选择eclipse的版本…

类似TH养车的电商系统设计思路

平台运营模式B2CO2O,汽车用品全部平台自营,允许线下汽车服务门店入驻,门店运营模式O2O汽车服务全部标准化,由平台创建和维护服务商品根据商品实际使用需要关联服务商品线下汽车服务门店根据自己实际运营的情况选择有能力提供的汽车…