MySQL项目:银行ATM存取款机系统

article/2025/8/20 16:47:38

1、数据库设计

绘制E-R

 绘制数据库模型

数据库模型图我们可以创建好表和约束之后,点击对象

选中需要绘制模型图的表 

数据库默认是第一个,我们可以选择第三个

 代码段在最下面

可以去看看这三个图案有什么不同,这样比我们一个一个去添加字段设置约束的效率要高很多,一举两得,希望能帮助到大家!

用例2:创建数据库及登录用户并授权

#创建bankDB数据库,如果存在先删除在创建
DROP DATABASE IF EXISTS bankDB;
CREATE DATABASE if not exists bankDB;
 
#创建普通用户bankMaster并授权
grant all on bankdb
to bankMaster@127.0.0.1 identifed by '1234';
登录用户的权限书本上有提到,可以去看看它的解析,这就不多做讲述了。

用例3:创建表、约束

#使用bankDB数据库
use bankDB;
 
 
#客户信息表
DROP TABLE IF EXISTS userInfo;
CREATE TABLE if not exists userInfo(
    customerID INT(8) PRIMARY KEY AUTO_INCREMENT COMMENT'客户编号',
    customerName VARCHAR(10) NOT NULL COMMENT'客户姓名',
    PID CHAR(18) NOT NULL COMMENT '身份证号',
    telephone CHAR(11) NOT NULL COMMENT '手机号码',
    address VARCHAR(50) comment '地址'
)ENGINE=INNODB COMMENT='客户表',
CHARSET=utf8;
 
 
#银行卡信息表
DROP TABLE IF EXISTS cardInfo;
CREATE TABLE if not exists cardInfo(
    cardID VARCHAR(19) PRIMARY KEY NOT NULL COMMENT'银行卡卡号',            
    curID VARCHAR(10) NOT NULL default 'RMB' COMMENT'币种',
    savingID INT(2) NOT NULL COMMENT'存款类型',
    openDate TIMESTAMP NOT NULL COMMENT'开户日期',
    openMoney DECIMAL NOT NULL COMMENT '开户金额',
    balance DECIMAL NOT NULL COMMENT '账户余额', 
    `password` VARCHAR(6) NOT NULL default '888888' COMMENT'密码',
    IsReportLoss BIT NOT NULL default 0 COMMENT '是否挂失',
    customerID INT(8) NOT NULL COMMENT'客户编号'
)ENGINE=INNODB COMMENT='银行卡信息表',
CHARSET=utf8;
 
alter table cardinfo modify openMoney decimal(9,2);
alter table cardinfo modify balance decimal(9,2);
 
#创建外键
alter table cardinfo
add constraint foreign key(customerID) references userinfo(customerID);
alter table cardinfo
add constraint foreign key(savingID) references deposit(savingID);
 
 
#交易信息表
DROP TABLE IF EXISTS tradeInfo;
CREATE TABLE if not exists tradeInfo(
    transDate TIMESTAMP NOT NULL COMMENT'交易日期',
    cardID char(19) NOT NULL NULL COMMENT'卡号',
    transType char(10) NOT NULL COMMENT'交易类型',
    transMoney DECIMAL NOT NULL COMMENT'交易金额',
    remark TEXT COMMENT'交易备注'
)ENGINE=INNODB COMMENT='交易信息表',
CHARSET=utf8;
 
#创建外键
alter table tradeinfo
add constraint foreign key(cardID) references cardinfo(cardID);
 
 
#存款类型表
DROP TABLE IF EXISTS deposit;
CREATE TABLE if not exists deposit(
    savingID INT(2) PRIMARY KEY COMMENT'存款类型',
    savingName VARCHAR(20) NOT NULL COMMENT'存款类型名称',
    curID VARCHAR(10) NOT NULL default 'RMB' COMMENT'存款币种'
)ENGINE=INNODB COMMENT='存款类型表',
CHARSET=utf8
用例4:插入测试数据库

#添加数据
 
#银行客户表数据
INSERT INTO userInfo(customerID,customerName,PID,telephone,address)
VALUES(1,'丁六','567891321242345618','13645667783','北京西城区'),
            (2,'王五','56789132124234567X','13642345112','河北石家庄市'),
            (3,'张三','567891321242345789','13567893246','北京海定区'),
            (4,'丁一','123451321242345618','13056434411','河南新乡'),
            (5,'李四','678911321242345618','13318877954','山东济南市');
 
 
#银行卡信息数据
INSERT INTO cardInfo(cardID,savingID,openDate,openmoney,balance,`password`,IsReportLoss,customerID)
VALUES('1010357612121004',1,NOW(),1,1001,'888888',0,1),
            ('1010357612121130',1,NOW(),1,1,'888888',0,2),
            ('1010357612125678',3,NOW(),1000,6100,'123456',0,3),
            ('1010357612128284',3,NOW(),1000,1001,'888888',0,4),
            ('1010357612121134',1,NOW(),1,1501,'123123',1,5);
 
 
#交易信息表数据
INSERT INTO tradeInfo(transDate,cardID,transType,transMoney,remark)
VALUES(NOW(),'1010357612125678','支取',900,NOW()),
            (NOW(),'1010357612121130','存入',300,NOW()),
            (NOW(),'1010357612121004','存入',1000,NOW()),
            (NOW(),'1010357612121130','存入',1900,NOW()),
            (NOW(),'1010357612121134','存入',5000,NOW()),
            (NOW(),'1010357612121134','存入',500,NOW()),
            (NOW(),'1010357612121134','支取',2000,NOW()),
            (NOW(),'1010357612125678','存入',2000,NOW()),
            (NOW(),'1010357612121134','支取',2000,NOW()),
            (NOW(),'1010357612125678','存入',2000,NOW()),
            (NOW(),'1010357612125678','存入',2000,NOW());
 
 
#存款类型表数据
INSERT INTO deposit(savingID,savingName)
VALUES(1,"定期一年"),(2,"定期二年"),(3,'活期');
用例5:模拟常规业务

#1.修改客户密码
update cardinfo set `password`='123456' where cardID='1010357612125678';
update cardinfo set `password`='123123' where cardID='1010357612121134';
 
#2.办理银行卡挂失
update cardinfo set IsReportLoss=1 where cardID='1010357612121134';
select c.cardID 卡号,c.curID 货币,d.savingName 储蓄种类,c.openDate 开户日期,c.openMoney 开户金额,c.balance 余额,
             c.`password` 密码,c.IsReportLoss 是否挂失,u.customerName 客户姓名
from cardinfo c
inner join userinfo u
on c.customerID=u.customerID
inner join deposit d
on c.savingID=d.savingID;
 
#3.统计银行总存入金额和总总支取金额
select transType 资金流向,sum(transMoney) 总金额 from tradeInfo
where transType='支取' or transType='存入'
group by transType;
 
#4.查询本周开户信息
select c.cardID 卡号,u.customerName 姓名,c.curID 货币,c.savingID 存款类型,c.openDate 开户日期,c.openMoney 开户金额,
             c.balance 开户余额,c.IsReportLoss 账户状态
from cardinfo c
inner join userinfo u
on c.customerID=u.customerID
where week(c.openDate)=week(NOW());
 
#5.查询本月交易金额最高的卡号
select distinct cardID
from tradeinfo 
where  transMoney=(select MAX(transMoney) from tradeinfo where transType='支出' or transType='存入' 
                                     and MONTH(transDate)=MONTH(NOW()));
 
#6.查询挂失客户
select u.customerName 客户姓名,u.telephone 联系电话,c.cardID 卡号,c.IsReportLoss 是否挂失
from userinfo u
inner join cardinfo c
on u.customerID=c.customerID
where c.IsReportLoss=b'1';
 
 
#7.催款提醒业务
select u.customerName 客户姓名,u.telephone 联系电话,c.balance 存款余额
from userinfo u
inner join cardinfo c
on u.customerID=c.customerID
where c.balance<200;
用例6:创建、使用客户友好信息视图

#创建用户视图
DROP VIEW IF EXISTS view_userInfo;
create view view_userInfo
as
select customerID 客户编号,customerName 客户姓名,PID 身份证号,telephone 手机号码,address 地址
from userinfo u;
 
#创建银行卡视图
DROP VIEW IF EXISTS view_cardinfo;
create view view_cardinfo
as
select cardID 卡号,customerName 客户名,c.curID 货币种类,savingName 存款类型,openDate 开户日期,balance 余额, 
            `password` 密码,IsReportLoss 是否挂失
from cardinfo c
inner join userinfo u
on c.customerID=u.customerID
inner join deposit d
on c.curID=d.curID;
 
 
#创建交易信息视图
DROP VIEW IF EXISTS view_transInfo;
create view view_transInfo
as
SELECT transDate 交易日期,transType 交易类型,cardID 卡号, transMoney 交易金额, remark 备注
FROM tradeinfo;
用例7:使用事务完成转账

#使用事务完成转账
#从卡号为“1010357612121134”的账户中转出300元给卡号为“1010357612345678”的账户,即李四转账300元给张三。
#先关闭自动提交状态
set autocommit=0;
 
#开启事务
begin;
update cardinfo set balance=balance-300 where cardID='1010357612121134';
update cardinfo set balance=balance+300 where cardID='1010357612125678';
 
#提交事务
commit;
 
#遇到问题回滚数据到原来的状态
rollback;
 
#恢复自动提交
set autocommit=1;
可以根据书本上的提示完成项目……
 

可以去看看这三个图案有什么不同,这样比我们一个一个去添加字段设置约束的效率要高很多,一举两得,希望能帮助到大家!用例2:创建数据库及登录用户并授权#创建bankDB数据库,如果存在先删除在创建
DROP DATABASE IF EXISTS bankDB;
CREATE DATABASE if not exists bankDB;#创建普通用户bankMaster并授权
grant all on bankdb
to bankMaster@127.0.0.1 identifed by '1234';
登录用户的权限书本上有提到,可以去看看它的解析,这就不多做讲述了。用例3:创建表、约束#使用bankDB数据库
use bankDB;#客户信息表
DROP TABLE IF EXISTS userInfo;
CREATE TABLE if not exists userInfo(customerID INT(8) PRIMARY KEY AUTO_INCREMENT COMMENT'客户编号',customerName VARCHAR(10) NOT NULL COMMENT'客户姓名',PID CHAR(18) NOT NULL COMMENT '身份证号',telephone CHAR(11) NOT NULL COMMENT '手机号码',address VARCHAR(50) comment '地址'
)ENGINE=INNODB COMMENT='客户表',
CHARSET=utf8;#银行卡信息表
DROP TABLE IF EXISTS cardInfo;
CREATE TABLE if not exists cardInfo(cardID VARCHAR(19) PRIMARY KEY NOT NULL COMMENT'银行卡卡号',            curID VARCHAR(10) NOT NULL default 'RMB' COMMENT'币种',savingID INT(2) NOT NULL COMMENT'存款类型',openDate TIMESTAMP NOT NULL COMMENT'开户日期',openMoney DECIMAL NOT NULL COMMENT '开户金额',balance DECIMAL NOT NULL COMMENT '账户余额', `password` VARCHAR(6) NOT NULL default '888888' COMMENT'密码',IsReportLoss BIT NOT NULL default 0 COMMENT '是否挂失',customerID INT(8) NOT NULL COMMENT'客户编号'
)ENGINE=INNODB COMMENT='银行卡信息表',
CHARSET=utf8;alter table cardinfo modify openMoney decimal(9,2);
alter table cardinfo modify balance decimal(9,2);#创建外键
alter table cardinfo
add constraint foreign key(customerID) references userinfo(customerID);
alter table cardinfo
add constraint foreign key(savingID) references deposit(savingID);#交易信息表
DROP TABLE IF EXISTS tradeInfo;
CREATE TABLE if not exists tradeInfo(transDate TIMESTAMP NOT NULL COMMENT'交易日期',cardID char(19) NOT NULL NULL COMMENT'卡号',transType char(10) NOT NULL COMMENT'交易类型',transMoney DECIMAL NOT NULL COMMENT'交易金额',remark TEXT COMMENT'交易备注'
)ENGINE=INNODB COMMENT='交易信息表',
CHARSET=utf8;#创建外键
alter table tradeinfo
add constraint foreign key(cardID) references cardinfo(cardID);#存款类型表
DROP TABLE IF EXISTS deposit;
CREATE TABLE if not exists deposit(savingID INT(2) PRIMARY KEY COMMENT'存款类型',savingName VARCHAR(20) NOT NULL COMMENT'存款类型名称',curID VARCHAR(10) NOT NULL default 'RMB' COMMENT'存款币种'
)ENGINE=INNODB COMMENT='存款类型表',
CHARSET=utf8
用例4:插入测试数据库#添加数据#银行客户表数据
INSERT INTO userInfo(customerID,customerName,PID,telephone,address)
VALUES(1,'丁六','567891321242345618','13645667783','北京西城区'),(2,'王五','56789132124234567X','13642345112','河北石家庄市'),(3,'张三','567891321242345789','13567893246','北京海定区'),(4,'丁一','123451321242345618','13056434411','河南新乡'),(5,'李四','678911321242345618','13318877954','山东济南市');#银行卡信息数据
INSERT INTO cardInfo(cardID,savingID,openDate,openmoney,balance,`password`,IsReportLoss,customerID)
VALUES('1010357612121004',1,NOW(),1,1001,'888888',0,1),('1010357612121130',1,NOW(),1,1,'888888',0,2),('1010357612125678',3,NOW(),1000,6100,'123456',0,3),('1010357612128284',3,NOW(),1000,1001,'888888',0,4),('1010357612121134',1,NOW(),1,1501,'123123',1,5);#交易信息表数据
INSERT INTO tradeInfo(transDate,cardID,transType,transMoney,remark)
VALUES(NOW(),'1010357612125678','支取',900,NOW()),(NOW(),'1010357612121130','存入',300,NOW()),(NOW(),'1010357612121004','存入',1000,NOW()),(NOW(),'1010357612121130','存入',1900,NOW()),(NOW(),'1010357612121134','存入',5000,NOW()),(NOW(),'1010357612121134','存入',500,NOW()),(NOW(),'1010357612121134','支取',2000,NOW()),(NOW(),'1010357612125678','存入',2000,NOW()),(NOW(),'1010357612121134','支取',2000,NOW()),(NOW(),'1010357612125678','存入',2000,NOW()),(NOW(),'1010357612125678','存入',2000,NOW());#存款类型表数据
INSERT INTO deposit(savingID,savingName)
VALUES(1,"定期一年"),(2,"定期二年"),(3,'活期');
用例5:模拟常规业务#1.修改客户密码
update cardinfo set `password`='123456' where cardID='1010357612125678';
update cardinfo set `password`='123123' where cardID='1010357612121134';#2.办理银行卡挂失
update cardinfo set IsReportLoss=1 where cardID='1010357612121134';
select c.cardID 卡号,c.curID 货币,d.savingName 储蓄种类,c.openDate 开户日期,c.openMoney 开户金额,c.balance 余额,c.`password` 密码,c.IsReportLoss 是否挂失,u.customerName 客户姓名
from cardinfo c
inner join userinfo u
on c.customerID=u.customerID
inner join deposit d
on c.savingID=d.savingID;#3.统计银行总存入金额和总总支取金额
select transType 资金流向,sum(transMoney) 总金额 from tradeInfo
where transType='支取' or transType='存入'
group by transType;#4.查询本周开户信息
select c.cardID 卡号,u.customerName 姓名,c.curID 货币,c.savingID 存款类型,c.openDate 开户日期,c.openMoney 开户金额,c.balance 开户余额,c.IsReportLoss 账户状态
from cardinfo c
inner join userinfo u
on c.customerID=u.customerID
where week(c.openDate)=week(NOW());#5.查询本月交易金额最高的卡号
select distinct cardID
from tradeinfo 
where  transMoney=(select MAX(transMoney) from tradeinfo where transType='支出' or transType='存入' and MONTH(transDate)=MONTH(NOW()));#6.查询挂失客户
select u.customerName 客户姓名,u.telephone 联系电话,c.cardID 卡号,c.IsReportLoss 是否挂失
from userinfo u
inner join cardinfo c
on u.customerID=c.customerID
where c.IsReportLoss=b'1';#7.催款提醒业务
select u.customerName 客户姓名,u.telephone 联系电话,c.balance 存款余额
from userinfo u
inner join cardinfo c
on u.customerID=c.customerID
where c.balance<200;
用例6:创建、使用客户友好信息视图#创建用户视图
DROP VIEW IF EXISTS view_userInfo;
create view view_userInfo
as
select customerID 客户编号,customerName 客户姓名,PID 身份证号,telephone 手机号码,address 地址
from userinfo u;#创建银行卡视图
DROP VIEW IF EXISTS view_cardinfo;
create view view_cardinfo
as
select cardID 卡号,customerName 客户名,c.curID 货币种类,savingName 存款类型,openDate 开户日期,balance 余额, `password` 密码,IsReportLoss 是否挂失
from cardinfo c
inner join userinfo u
on c.customerID=u.customerID
inner join deposit d
on c.curID=d.curID;#创建交易信息视图
DROP VIEW IF EXISTS view_transInfo;
create view view_transInfo
as
SELECT transDate 交易日期,transType 交易类型,cardID 卡号, transMoney 交易金额, remark 备注
FROM tradeinfo;
用例7:使用事务完成转账#使用事务完成转账
#从卡号为“1010357612121134”的账户中转出300元给卡号为“1010357612345678”的账户,即李四转账300元给张三。
#先关闭自动提交状态
set autocommit=0;#开启事务
begin;
update cardinfo set balance=balance-300 where cardID='1010357612121134';
update cardinfo set balance=balance+300 where cardID='1010357612125678';#提交事务
commit;#遇到问题回滚数据到原来的状态
rollback;#恢复自动提交
set autocommit=1;
可以根据书本上的提示完成项目……


http://chatgpt.dhexx.cn/article/W0BClYnP.shtml

相关文章

银行ATM机系统

模拟Atm机的一些简单功能 UserInfo类 public class UserInfo {private int id; //idprivate String name; //姓名private String password; //密码private String idCard; //卡号private String bank; //银行名称private double money; //余额Overridepu…

Java实现ATM银行模拟系统(含完整代码)

目录 引言 功能简介 登录和注册 1、注册 2、登录 具体功能实现 1、存款功能 2、取款功能 3、转账功能 4、查询功能 5、注销账号 6、修改密码 7、退出 完整代码 引言 &#x1f3e7;&#x1f3e7;&#x1f3e7;本文主要介绍了如何通过Java实现ATM银行模拟系统&…

ATM系统

ATM系统 1、简介 ATM系统包含两个菜单栏&#xff0c;一个是登录、注册菜单栏&#xff0c;一个时是功能菜单栏。 ATM系统共有四个功能&#xff1a;   充值功能&#xff1a;用户登录成功后可以为本账户充值&#xff08;存款&#xff09;。   转账功能&#xff1a;用户登录后可…

银行卡在哪个银行都能取款吗?

银行卡要想取款&#xff0c;分两种情况。 第一种情况是在银行窗口取款&#xff0c;你是哪个银行的银行卡&#xff0c;就得在哪个银行取款&#xff0c;在不同的银行窗口是办理不了的&#xff0c;比如你的卡是工商银行的&#xff0c;你去建设银行窗口是取不了现金的。 第二种情况…

ATM取款机系统

模拟银行实现ATM机取款系统 该系统使用( ( (SQLServer) ) )数据库 功能介绍&#xff1a; 开户&#xff08;到银行填写开户申请单&#xff09;取钱存钱查询余额转账 根据需求设计相对应的数据库概念模型 流程分步详解 1 创建数据库Bank_db --创建数据库 CREATE DATABASE B…

银行ATM活动图

一、 图形文档 1. 密码验证活动图 2. 取款活动图 3. 存款活动图 4. 转账活动图 5. 查询活动图 6. 改密活动图 7. ATM管理员操作活动图 二、 文字说明 1、密码验证活动图 描述银行主机密码验证的过程&#xff0c;包含的动作有&#xff1a;插卡、提示输入密码、输入密码、密…

银行ATM系统——分析类图及文档

一、图形文档 从不同角度出发&#xff0c;可以得出的分析类图有以下两种&#xff1a; 基于类的责任得出的分析类图 基于用况驱动得出的分析类图 二、 文字说明 1、 类图综述 银行ATM分析类类图主要包括实体类&#xff0c;描述了类与类之间的关系&#xff0c;以及说明类有何…

支付平台--清结算流程详解及对账详解

图为清算对账流程 在第三方支付平台拿到银行&#xff08;应该走专线&#xff09;给的对账文件后&#xff0c;会有手动对账和自动对账功能。 手动对账是对自动对账的补充&#xff0c;在自动对账出现问题或者出现差错时再人工介入进行重新对账的操作。 而在很多的情况下&#xf…

数商云采购管理系统支付结算功能详解,实现建筑工程企业采购业务智能化管理

建筑工程行业企业过去受技术、场地等限制&#xff0c;一直采用传统的采购方式&#xff0c;再加上整个行业内部信息相对割裂、采购面临层层传播、中间沟通亦面临多层税费等问题&#xff0c;为建筑工程采购工作增添了不少困难。随着互联网时代的发展&#xff0c;在大数据、云计算…

【支付架构】跨境支付

目录 1 业务介绍 1.1 什么是跨境支付 1.2 跨境支付发展历程 2 技术实现 2.1 业务流程 2.2 交互设计 简单地说&#xff0c;跨境支付指的是两个或两个以上的国家或地区因国际贸易所产生的债券&#xff0c;再借助一定的支付方式与结算工具&#xff0c;实现资金能够跨国…

国际业务结算

国际结算 国际结算(International Settlement)&#xff1a;指处于两个不同国家的当事人&#xff0c;&#xff08;因为商品买卖、服务供应、资金调拨、国际借贷&#xff09;通过银行办理的两国间货币收付业务。 信用证 信用证是一种有条件的银行付款承诺&#xff0c;是开证行…

支付清结算之账户和账务处理(详解)

本文重点介绍清结算中的账户和账务的处理。正文开始前可复习《支付清结算之基本概念和入门》和《支付清结算之渠道侧处理》&#xff0c;以便理解这里的流程。 目录 一、账户体系 1、资产类账户 2、负债类账户 3、所有者权益类账户 4、损益类账户 5、成本类账户 6、共同…

电商平台资金结算流程是什么样的?

&#xff08;图源&#xff1a;pexels网站&#xff09; 在疫情的影响下&#xff0c;越来越多的传统企业开始转向电商&#xff0c;希望通过互联网来拓展业务&#xff0c;开拓新市场。同时&#xff0c;也有越来越多的新兴企业从事电子商务&#xff0c;利用互联网的优势快速发展壮…

支付清结算之账户和账务处理

这是清结算系列的第四篇文章&#xff0c;本文重点介绍清结算中的账户和账务的处理。 请务必阅读这几篇文章以便理解这里的流程。 支付清结算之基本概念和入门支付清结算之渠道侧处理支付清结算之电商侧处理 一、账户体系 在设计清结算系统前&#xff0c;首先需要完成账户体系…

经济法基础(2020年)——第三章 支付结算法律制度

第一节 支付结算概述 支付结算概述 未经中国人民银行批准的非银行金融机构和其他单位不得作为中介机构办理支付结算业务 支付结算工具和原则 传统的人民币非现金支付工具 三票一卡 汇票、本票、支票和银行卡结算方式 汇兑、托收承付和委托收款 原则 恪守信用、履行付款原…

电子支付与结算总结

电子支付与结算总结 第一章 电子支付概述名词解释简答题选择判断题 第二章 支付工具与支付方式名词解释简答题 第三章 网上银行支付名词解释简答题 第四章 电话支付名词解释简答题 第五章 移动支付名词解释简答题讨论题视频 第六章 自助银行支付名词解释简答题讨论题 第七章 跨…

中国支付结算系统发展简史

中国支付结算系统发展史 1949年到今天&#xff0c;中国支付结算系统经历了3个重要的阶段&#xff0c;从无到有&#xff0c;从简单到完善。今天中国的现代支付系统加上各个商业银行内部系统作为基础设计&#xff0c;支撑着第三方支付系统&#xff0c;让我们享受着不需要现金以及…

一张美团外卖的小票看透支付清结算架构!

见字如面&#xff0c;我是军哥&#xff01; 我很少推荐别人的公众号&#xff0c;因为我能看上的原创公众号并不多&#xff0c;让我主动推荐就更难了。 今天这位朋友叫宇宙&#xff0c;认识有两年了&#xff0c;在支付行业里非常有名气&#xff0c;最近闲着无聊翻了他多篇原创文…

支付 VS 清算 VS 结算

概念 标准定义 支付&#xff1a; 完成付款人向收款人转移可以接受的货币债权的过程&#xff0c;包括交易过程、清算过程和结算过程等三个过程&#xff08;一个完整的支付过程&#xff0c;清算和结算都属于支付的某个环节&#xff09;&#xff1b;清算&#xff1a; 包含了在收…

第三方支付平台结算流程是什么样的?

在电商发展的初期曾遇到过一个瓶颈&#xff0c;那就是买卖双方对彼此互不信任&#xff0c;互联网市场中的交易是无形的&#xff0c;大家对对方的信息一无所知&#xff0c;买家害怕自己给了钱没收到货&#xff0c;卖家害怕自己给了货没收到钱&#xff0c;由于缺少这种信任&#…