当前位置:网站首页>Talk about the design and implementation logic of payment process
Talk about the design and implementation logic of payment process
2022-07-07 23:13:00 【Cicada smiled】
Novices are afraid of the business that veterans have a headache ;
One 、 Business background
Usually in the business system , Will more or less involve payment related functions ; For some inexperienced students , The most important thing is to face the logic of this kind of payment and settlement , Because of any details in the process , May cause reconciliation exceptions ;
After the error occurs , Then I want to repair the process , The time cost is high , It also involves the leveling of wrong data , Eventually, it is likely to lead to disorderly accounts and unclear results , Then manual intervention is needed ;
In the payment scenario , It not only involves many complex businesses , Settlement rules , Long process , Third party docking , Among them, many technical details are involved , such as : Business management 、 Asynchronous processing 、 Retry mechanism 、 Lock, etc ; Let's analyze the specific detail logic .
Two 、 Payment business
1、 Process disassembly
When facing complex business , The most basic ability is to understand the process into modules , Manage each module , Then consider how to connect the whole process , So as to form ideas and experience to solve problems ;
The figure below is a common decomposition of trading scenarios , It can be roughly divided into four modules :
- Book management : For users who have opened the payment function , Must have clear management information ; For example, available , frozen , Bills, etc ;
- Transaction flow : The running records of the whole fund management , Not limited to trading scenarios , And recharge , Withdrawal , Refund, etc ;
- Payment docking : Usually, the payment function in the process is realized by connecting with the third-party payment platform , So make a good record of requests and messages ;
- Order structure : For example, in e-commerce transactions , Order model management , Split order strategy, etc , Specifications of goods paid, etc ;
Here is just an analysis from a conventional transaction process , The actual detailed description will be much more complicated than the legend , Although the business details vary , But the treatment ideas are generally the same ; Then design the flow sequence diagram according to each module , Plan the connection and cooperation between nodes ;
2、 Process sequence
Through the design of sequence diagram , To analyze how each node should handle when connecting and cooperating , In payment business , It is usually divided into before payment 、 Payment docking 、 There are three core stages after payment :
- Before payment : When placing an order , Build order model , Check the inventory according to the splitting rules 、 Commodity status, etc , Then freeze the account funds , Generate transaction flow , At this time, the status is to be paid ;
- Payment docking : After the business model is initialized successfully before payment , Build a third-party payment docking request , Initiate payment process , And record the corresponding request actions and parameters , Waiting for notification of payment results ;
- After payment : According to the success of the payment results , Perform the corresponding business model status update , If the payment is successful, the transaction is recorded 、 Frozen funds 、 Order structure and inventory need to be updated ;
In fact, after having a clear understanding of the business and splitting , Then do a good job in the design of timing process , This has made a complex scene look much simpler , Then it is to design the data structure of each node ;
3、 The structure design
Based on the above business scenario analysis and disassembly , And the presentation of process sequence diagram , It is easy to output a structural design of basic dimensions , The following figure can be used as a reference :
- Book management : Three core dimensions , Amount of account , Available balance , Freezing amount ;
- Transaction records : Store users' transaction actions , However, multiple transaction details may be generated , A typical scenario is to place an order in a shopping cart ;
- Transaction details : Usually because the order is split , As a result, the transaction is split into multiple details , And then pay the funds to different businesses ;
- Payment docking : When requesting a third-party payment platform , Need to record request parameters , And the message of the third party callback notification ;
- Order records : There may be multiple split sub orders in an order , There are also many splitting strategies , Like the warehouse , merchants , Category, etc ;
- The order details : Manage the information of each sub order , Goods ordered 、 specifications 、 round turn 、 The unit price 、 Number 、 Amount, etc. ;
Even if you just look at the simple design above , Can feel the complexity of payment business , What's more, it will be superimposed after preferential rules such as red envelopes or full discounts , Its complexity can be imagined ;
Of course, if there is a clear development specification , In complex versions , All development must output business decomposition ideas , Timing and structure design , Code after unified Review , In this way, even complex businesses will have great quality assurance .
3、 ... and 、 Related business
The above list analyzes the process from the main logic of payment , In fact, the business involved is far more than those mentioned in the process , Take common e-commerce scenarios as an example , There is also commodity management in the transaction 、 Inventory management 、 Physical distribution management , Payment docking will also involve preferential rule embedding and so on ;
Commodity management
- Commodity subject : Maintain the information of each dimension of goods , And provide various specifications and options , And the basic pricing ladder , Build product details ;
- Warehouse management : After the order is split , You need to verify the storage information according to the commodity number , Carry out corresponding inventory freezing and warehouse delivery after payment ;
Coupon rules
- Coupon subject : In order to adapt to more business scenarios , There need to be many designs for preferential rules , Such as full reduction or discount ratio 、 Price ladder discount 、 Validity limit, etc ;
- Distribution rules : Support daily operational activities , Maintenance of user life cycle , And the transformation of channel flow , Provide the basic ability of user group marketing ;
Here is a brief description of the commodity and coupon business , Are closely related to the payment process , For example, the inventory is insufficient after splitting , This item needs to be removed ; The use strategy of coupons in payment , And how to handle the refund ;
Four 、 practice
Finally, from the perspective of technical implementation , Summarize some key issues in the payment process :
- business model : Have a clear understanding of the business , And can split the core nodes , Design the corresponding process sequence and data structure ;
- Business management : Commonly used in the transaction process TCC Transaction mechanism , namely Try( Preprocessing )、Confirm( confirm )、Cancel( Cancel ) Pattern ;
- Lock and retry : Send the message of successful payment after payment , Then update the business , It is usually necessary to lock the processed order number , Avoid data problems caused by message retry mechanism ;
- Capital settlement : Calculation of amount involved , The problem of accuracy loss cannot occur naturally , In a transaction, it must be ensured that each fund can be verified by reconciliation ;
- Process maintenance : The process itself is difficult to ensure that there are no errors , It needs to be developed , Provide a visual interface of the process , And support the mechanism of manual maintenance ;
Many complex business scenario management , Both need a long-term iterative process , But the premise needs to firmly grasp the core logic ; Understanding business is a process from complexity to simplicity , The realization of business is a process from shallow to deep , Analysis and understanding , To the ground , Then to exploration and innovation .
END
边栏推荐
- There is another problem just online... Warm
- GEE(四):计算两个变量(影像)之间的相关性并绘制散点图
- Introduction to anomaly detection
- 数字藏品加速出圈,MarsNFT助力多元化文旅经济!
- Cascade-LSTM: A Tree-Structured Neural Classifier for Detecting Misinformation Cascades-KDD2020
- Microbial health network, how to restore microbial communities
- The author of LinkedList said he didn't use LinkedList himself
- 一次搞明白 Session、Cookie、Token,面试问题全稿定
- Wechat forum exchange applet system graduation design completion (7) Interim inspection report
- What is ADC sampling rate (Hz) and how to calculate it
猜你喜欢
Cascade-LSTM: A Tree-Structured Neural Classifier for Detecting Misinformation Cascades-KDD2020
ArcGIS: field assignment_ The attribute table field calculator assigns values to fields based on conditions
Interview questions: how to test app performance?
What does the model number of asemi rectifier bridge kbpc1510 represent
【刷题记录】3. 无重复字符的最长子串
微信论坛交流小程序系统毕业设计毕设(8)毕业设计论文模板
高级程序员必知必会,一文详解MySQL主从同步原理,推荐收藏
微信论坛交流小程序系统毕业设计毕设(1)开发概要
今日创见|企业促进创新的5大关键要素
Gbu1510-asemi power supply special 15A rectifier bridge gbu1510
随机推荐
USB (十八)2022-04-17
Comparison of various development methods of applets - cross end? Low code? Native? Or cloud development?
JMeter interface automated test read case, execute and write back result
微信论坛交流小程序系统毕业设计毕设(1)开发概要
Microbial health network, how to restore microbial communities
Mitsubishi PLC SLmP (MC) protocol
聊聊支付流程的设计与实现逻辑
Network security - Eternal Blue
USB (十七)2022-04-15
DTC社群运营怎么做?
ArcGIS: field assignment_ The attribute table field calculator assigns values to fields based on conditions
leetcode-520. 检测大写字母-js
Installing vmtools is gray
Quelles sont les similitudes et les différences entre les communautés intelligentes et les villes intelligentes?
定位到最底部[通俗易懂]
【刷题记录】3. 无重复字符的最长子串
U盘拷贝东西时,报错卷错误,请运行chkdsk
网络安全-对操作系统进行信息查询
微信论坛交流小程序系统毕业设计毕设(5)任务书
Wechat forum exchange applet system graduation design completion (8) graduation design thesis template