支付系统设计一:支付系统产品化

news2024/11/27 10:37:33

系列文章目录

支付系统设计一:支付系统产品化
支付系统设计二:统一开发框架
支付系统设计三:渠道网关设计01-总览
支付系统设计三:渠道网关设计02-客户端报文解析
支付系统设计三:渠道网关设计03-参数验证
支付系统设计三:渠道网关设计04-渠道数据补全
支付系统设计三:渠道网关设计05-交易持久化
支付系统设计三:渠道网关设计06-业务处理
支付系统设计三:渠道网关设计07-后置处理
支付系统设计三:渠道网关设计08-结果响应


文章目录

  • 系列文章目录
  • 前言
  • 一、产品化概述
    • 1.1 产品化解释
    • 1.2 产品化现状
    • 1.3 如何产品化
  • 二、支付系统产品化
  • 1. 应用架构1.0
  • 2. 分层支撑机制
  • 参考
  • 总结


前言

如果你已将组织的服务转变为现成的解决方案,那么你就已经准备或正在进行“产品化”工作了。这些解决方案经过标准化处理满足目标市场的需求。产品化背后的哲学是产品和服务的交付是可重复的,因此,你可以(并且应该)开发预配置的方法来交付它们,而不必每次都重新开始。

本系列文章将讲解整个支付系统的产品化设计实现思路,最大限度的构建一个可以为不同支付公司或者需要支付环节的公司提供基础通用功能的支付系统。


一、产品化概述

1.1 产品化解释

软件产品化是从开发基于客户的定制软件到可重复使用的标准产品的过程,这是指开发或更改思想、流程、技能或服务以使其可以向公众规模出售的过程。产品化涉及采用内部使用的技能或服务,并发展成为标准的、经过全面测试、包装和销售的产品。

1.2 产品化现状

如果按照客户要求来做,基本上和做项目没啥区别;
如果按照产品方式来做,在客户要求的时间要求上,基本上不可能。
由于项目压力,只好先做出来再说。
所谓产品化,只好先扔在一边。
毕竟公司考核你的是能否完成客户的项目,大家的绩效奖金和此息息相关。
阳春白雪(产品化)虽然好,但关系到切身利益,下里巴人(顾自己腰包)才是实实在在的。

1.3 如何产品化

软件产品化是一件相当困难的事情,企业在各个方面都将面临挑战,并必须作出相应的改变。
首先,企业需要转变经营理念和思路。其实不管是项目化还是产品化,都要坚持客户导向,但是就客户导向的内涵和实现方式上,很多企业往往是被动地满足客户需求,甚至迁就客户五花八门的需求。我们到底选择什么样的客户?这是企业成长中必须作出的回答。即便已经明确了这个问题,对客户各种需求也不是不加区别的满足,而是需要抓住目标客户的核心需求和偏好,并认识到客户只要在核心利益上得到足够的满足,他们愿意牺牲一些个性化的特性——这正是产品化的前提假设。
如果不是通用产品或者系统软件,做某个行业软件想零成本实施不太可能,产品所提供的功能永远无法满足客户的业务要求。

1)找到合适的项目和合适的客户,多做项目;

2)在某一个领域积累行业经验,建立样板工程和成功案例,并将项目产品化;

3)提炼管理理念,并将理念和成功案例结合,整理实施方法论;

4)找到下一个项目,在项目开发过程中将原系统重构。

二、支付系统产品化

1. 应用架构1.0

在这里插入图片描述

2. 分层支撑机制

初衷:希望通过业务场景,丰富平台能力,同时保证内核干净。
在这里插入图片描述
我们选择各种框架、进行各种组织设计,核心是为了提高生产效率。但如果业务逻辑都是case by case地进行实现、缺少复用,那么研发成本是非常高的、投入周期也会非常长。

为了增加复用、缩短业务的落地时间,就需要很多通用的能力、产品。在我们的交付过程中,主要有两个层次:

基础能力:相对原子的能力是基础(域)能力,这个可以较好地支持业务定制。由于比较基础,表达的产品能力范围也是很大的。
payGw系统作为基础能力系统:

1.统一支付出口,提供丰富的支付工具原子能力(代扣、批扣、代付、批付、快捷支付、网关支付、鉴权、银行卡签约等);
2.与业务场景解耦,业务场景的多变特点不会体现在Paygw系统中 ;
3.屏蔽各支付渠道的接入差异(通讯方式差异、加密方式差异、业务报文差异);
4. 快速接入支付渠道的能力(可以达到不停机接入);

平台产品:基础能力的通用性,意味着缺少对场景的理解,缺少了进一步提升生产效率的“基因”。所以在交付的时候,会基于一些高频场景进行抽象,形成平台的产品能力,争取做到“拆箱即用”。业务基于“平台产品”这层进行定制的时候,理解成本会大大减少。
payCore系统作为平台产品系统:

  1. 为公司各业务线提供丰富的且涵盖公司特有业务(如:快捷转代扣,轮询扣款,轮询鉴权)的支付工具
  2. 封装paygw的各原子交易接口,降低业务线对接支付的难度

参考


总结

未完,待续…

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

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

相关文章

在 Windows 上安装 Docker

一、前言 个人主页: ζ小菜鸡大家好我是ζ小菜鸡,让我们一起学习在 Windows 上安装Docker。如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连) 二、 Docker是什么 Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可抑制的…

K8s(Kubernetes)学习(一):k8s概念及组件

Kubernetes中文文档:https://kubernetes.io/zh-cn/docs/home/ Kubernetes源码地址:https://github.com/kubernetes/kubernetes 一:Kubernetes是什么 首先要了解应用程序部署经历了以下几个时代: 传统部署时代:在物理服务器上运…

C语言——表达式求值中类型转换和优先级等问题

目录 1.隐式类型转换 2.算数转换 ​3.操作符的属性 1.隐式类型转换 C的整型算术运算总是至少以缺省整型类型的精度来进行的。 为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升。 整型提升的意义&a…

Sentinel : 服务容错(降级熔断、流量整形)

什么是服务雪崩? 服务雪崩效应是一种因“服务提供者的不可用”(原因)导致“服务调用者不可用”(结果),并将不可用逐渐放大的现象。 我来用一个模拟场景带你感受一下服务雪崩的厉害之处。假设我有一个微服…

小世界网络评估

小世界网络评估 文章目录 小世界网络评估[toc]1、网络小世界定义2、网络评估R代码 1、网络小世界定义 现实中许多网络巨型组件都发现了“小世界特性”。小世界特性是指 网络节点间最短路径通常较小网络聚集系数较高 网络最短路径L计算公式为 L 1 n ( n − 1 ) ∑ i ⩾ j d…

【JZ-7Y-16静态中间继电器 触点容量大、电阻小 抗干扰强 JOSEF约瑟】

系列型号: JZ-7Y-15静态中间继电器; JZ-7J-15静态中间继电器; JZ-7L-15静态中间继电器; JZ-7D-15静态中间继电器; JZ-7Y-16静态中间继电器; JZ-7J-16静态中间继电器; JZ-7L-16静态中间继…

自动化渗透测试自动化挖掘src(2)

文章目录 前言思路ICP备案子域名枚举收集可用服务漏洞攻击 前言 上一谈我们讨论了自动化渗透测试的实验,但是他过于依赖fofa,不得不承认,fofa在资产收集这方面做的确实很厉害,但是就是需要花钱,那有没有不需要花钱都手…

UI GameObject可以在Scene View中显示,但是在Game View不能显示

出现UI GameObject可以在Scene View中显示,但是在Game View不能显示这种问题,可能有很多种原因,例如Layer设定、Camera Clipping设定、font assets等问题。 对于TextMeshPro,还有Material Set的问题,见这篇文章。 而我…

PHP 8.2:它对 WordPress、插件和开发者意味着什么?

PHP 8.2.0于 2022 年 12 月 8 日首次亮相。作为一项重大更新,它带来了性能改进和更简单的语法。PHP 8.2 引入了更高的类型安全性作为一项功能,将null、false和true作为独立类型。可能挑战 WordPress 开发人员的最大变化之一是添加了只读类,它…

基于SSM/Layui框架的火影忍者风格学生宿舍管理系统

目录 1、项目简介 2、使用技术 3、功能介绍 实现的主要功能: 4、所有页面 基于SSM/Layui框架的火影忍者风格学生宿舍管理系统 1、项目简介 本项目是一套基于SSMLayui的高校宿舍管理系统,主要针对计算机相关专业的正在做毕业设计的学生和需要项目实…

搭建动态网站( Discuz论坛)

目录标题 搭建动态网站1.linux平台部署web服务2.配置web服务(1)安装web服务(2)根据配置定义加载网页资源文件的路径(3)根据配置创建资源文件(4)重启服务 3.部署mariadb数据库4.安装P…

【力扣周赛】第345场周赛

【力扣周赛】第345场周赛 6430: 找出转圈游戏输家题目描述解题思路 6431: 相邻值的按位异或题目描述解题思路 6433: 矩阵中移动的最大次数题目描述解题思路 6432: 统计完全连通分量的数量题目描述解题思路 6430: 找出转…

【Hello Algorithm】归并排序及其面试题

作者:小萌新 专栏:算法 作者简介:大二学生 希望能和大家一起进步 本篇博客简介:介绍归并排序和几道面试题 归并排序及其面试题 归并排序归并排序是什么归并排序的实际运用归并排序的迭代写法归并排序的时间复杂度 归并排序算法题小…

STM32F103 晶振问题详解

博主自制开发板,用的 STM32F103RCT6,设计时 8M 晶振并联了个 1M 电阻,实测发现: 1、软件延时 1s ,实际延时 9s,拆掉 1M 电阻问题消失。 2、部分代码下载进去后单片机不工作。(实测晶振不起振 o…

MySQL的高级语句

一、SQL高级语句 1、 SELECT 显示表格中一个或数个栏位的所有资料 语法:SELECT "字段" FROM "表名"; select * from test1; select name from test1; select name,sex from test1;2、DISTINCT 不显示重复的内容 语法:SELECT D…

win11安装java8后,jps、jvisualvm等jdk工具无法使用的问题

文章目录 基础环境1 找不到jps、jvisualvm等命令问题1.1 原因1.2 解决方案 2 jdk工具无法正常使用问题2.1 原因2.2 %TMP%\hsperfdata_username文件夹2.3 解决方案 基础环境 jdk-8u261-windows-x64,一直下一步,安装到d盘下 1 找不到jps、jvisualvm等命令…

华为基于dhcp snooping表的各种攻击防御

所有的前提是必须开启了dhcp snooping功能 一、dhcp 饿死攻击: 接口下或vlan下开启 dhcp snooping check dhcp-chaddr enable 开启二层源mac和chaddr一致性检测 dhcp snooping max-user-number 1 接口上手动配置的绑定成员数量(可选择项) …

C++常用函数语法

C常用函数详解 memset()函数字符串的插入和删除字符串替换解析字符串查询解析substr函数 memset()函数 memset 函数是内存赋值函数,用来给某一块内存空间进行赋值的。 其原型是:void* memset(void *_Dst, int _Val, size_t _Size) _Dst是目标起始地址&…

MySQL的日志管理,备份及恢复

一.MySQL 日志管理 MySQL 的日志默认保存位置为 /usr/local/mysql/data MySQL 的日志配置文件为/etc/my.cnf ,里面有个[mysqld]项 修改配置文件: vim /etc/my.cnf [mysqld] 1、错误日志 错误日志,用来记录当MySQL启动、停止或运行时发生…

chatGPT免费站点分享

下面的应该都能用,试试吧... ChatGPT是一种人工智能聊天机器人,能够生成虚拟语言和交互回复。使用ChatGPT,您可以与机器人进行真实的交互,让机器人根据您提出的问题或请求来生成回复。但是,在使用ChatGPT时&#xff0…