电子支付平台表设计
sql
create table rp_account
(
id int(11) not null,
create_time datetime not null,
edit_time datetime,
version bigint not null,
remark varchar(200),
account_no varchar(50) not null,
balance decimal(20,6) not null,
unbalance decimal(20,6) not null,
security_money decimal(20,6) not null,
status varchar(36) not null,
total_income decimal(20,6) not null,
total_expend decimal(20,6) not null,
today_income decimal(20,6) not null,
today_expend decimal(20,6) not null,
account_type varchar(50) not null,
sett_amount decimal(20,6) not null,
user_no varchar(50),
primary key (id)
) comment '资金账户表';
create table rp_account_history
(
id int(11) not null,
create_time datetime not null,
edit_time datetime,
version bigint not null,
remark varchar(200),
account_no varchar(50) not null,
amount decimal(20,6) not null,
balance decimal(20,6) not null,
fund_direction varchar(36) not null,
is_allow_sett varchar(36) not null,
is_complete_sett varchar(36) not null,
request_no varchar(36) not null,
bank_trx_no varchar(30),
trx_type varchar(36) not null,
risk_day int,
user_no varchar(50),
primary key (id)
) comment '资金账户流水表';
create table rp_pay_product
(
id varchar(50) not null,
create_time datetime not null,
edit_time datetime,
version bigint not null,
status varchar(36) not null,
product_code varchar(50) not null comment '支付产品编号',
product_name varchar(200) not null comment '支付产品名称',
audit_status varchar(45),
primary key (id)
) comment '支付产品表';
create table rp_pay_way
(
id varchar(50) not null comment 'id',
version bigint not null default 0 comment 'version',
create_time datetime not null comment '创建时间',
edit_time datetime comment '修改时间',
pay_way_code varchar(50) not null comment '支付方式编号',
pay_way_name varchar(100) not null comment '支付方式名称',
pay_type_code varchar(50) not null comment '支付类型编号',
pay_type_name varchar(100) not null comment '支付类型名称',
pay_product_code varchar(50) comment '支付产品编号',
status varchar(36) not null comment '状态(100:正常状态,101非正常状态)',
sorts int default 1000 comment '排序(倒序排序,默认值1000)',
pay_rate double not null comment '商户支付费率',
primary key (id)
) comment '支付方式';
create table rp_sett_daily_collect
(
id varchar(50) not null comment 'id',
version int not null default 0 comment '版本号',
create_time datetime not null comment '创建时间',
edit_time datetime not null comment '修改时间',
account_no varchar(20) not null comment '账户编号',
user_name varchar(200) comment '用户姓名',
collect_date date not null comment '汇总日期',
collect_type varchar(50) not null comment '汇总类型(参考枚举:settdailycollecttypeenum)',
total_amount decimal(24,10) not null comment '交易总金额',
total_count int not null comment '交易总笔数',
sett_status varchar(50) not null comment '结算状态(参考枚举:settdailycollectstatusenum)',
remark varchar(300) comment '备注',
risk_day int comment '风险预存期天数',
primary key (id)
) comment '每日待结算汇总';
create table rp_sett_record
(
id varchar(50) not null comment 'id',
version int not null default 0 comment '版本号',
create_time datetime not null comment '创建时间',
edit_time datetime not null comment '修改时间',
sett_mode varchar(50) comment '结算发起方式(参考settmodetypeenum)',
account_no varchar(20) not null comment '账户编号',
user_no varchar(20) comment '用户编号',
user_name varchar(200) comment '用户姓名',
user_type varchar(50) comment '用户类型',
sett_date date comment '结算日期',
bank_code varchar(20) comment '银行编码',
bank_name varchar(100) comment '银行名称',
bank_account_name varchar(60) comment '开户名',
bank_account_no varchar(20) comment '开户账户',
bank_account_type varchar(50) comment '开户账户',
country varchar(200) comment '开户行所在国家',
province varchar(50) comment '开户行所在省份',
city varchar(50) comment '开户行所在城市',
areas varchar(50) comment '开户行所在区',
bank_account_address varchar(300) comment '开户行全称',
mobile_no varchar(20) comment '收款人手机号',
sett_amount decimal(24,10) comment '结算金额',
sett_fee decimal(16,6) comment '结算手续费',
remit_amount decimal(16,2) comment '结算打款金额',
sett_status varchar(50) comment '结算状态(参考枚举:settrecordstatusenum)',
remit_confirm_time datetime comment '打款确认时间',
remark varchar(200) comment '描述',
remit_remark varchar(200) comment '打款备注',
operator_loginname varchar(50) comment '操作员登录名',
operator_realname varchar(50) comment '操作员姓名',
primary key (id)
) comment '结算记录';
create table rp_sett_record_annex
(
id varchar(50) not null,
create_time datetime not null,
edit_time datetime,
version bigint not null,
remark varchar(200),
is_delete varchar(36) not null,
annex_name varchar(200),
annex_address varchar(500) not null,
settlement_id varchar(50) not null,
primary key (id)
);
create table rp_user_bank_account
(
id varchar(50) not null,
create_time datetime not null,
edit_time datetime,
version bigint not null,
remark varchar(200),
status varchar(36) not null,
user_no varchar(50) not null,
bank_name varchar(200) not null,
bank_code varchar(50) not null,
bank_account_name varchar(100) not null,
bank_account_no varchar(36) not null,
card_type varchar(36) not null,
card_no varchar(36) not null,
mobile_no varchar(50) not null,
is_default varchar(36),
province varchar(20),
city varchar(20),
areas varchar(20),
street varchar(300),
bank_account_type varchar(36) not null,
primary key (id)
) comment '用户银行账户表';
create table rp_user_info
(
id varchar(50) not null,
create_time datetime not null,
status varchar(36) not null,
user_no varchar(50),
user_name varchar(100),
account_no varchar(50) not null,
mobile varchar(15);
password varchar(50);
pay_pwd varchar(50) comment '支付密码' default '123456';
primary key (id),
unique key ak_key_2 (account_no)
) comment '该表用来存放用户的基本信息';
create table rp_user_pay_config
(
id varchar(50) not null,
create_time datetime not null,
edit_time datetime,
version bigint not null,
remark varchar(200),
status varchar(36) not null,
audit_status varchar(45),
is_auto_sett varchar(36) not null default 'no',
product_code varchar(50) not null comment '支付产品编号',
product_name varchar(200) not null comment '支付产品名称',
user_no varchar(50),
user_name varchar(100),
risk_day int,
pay_key varchar(50),
fund_into_type varchar(50),
pay_secret varchar(50),
security_rating varchar(20) comment '安全等级' default 'MD5';
merchant_server_ip varchar(200) comment '商户服务器IP';
primary key (id)
) comment '支付设置表';
create table rp_user_pay_info
(
id_ varchar(50) not null,
create_time datetime not null,
edit_time datetime,
version bigint not null,
remark varchar(200),
status varchar(36) not null,
app_id varchar(50) not null,
app_sectet varchar(100),
merchant_id varchar(50),
app_type varchar(50),
user_no varchar(50),
user_name varchar(100),
partner_key varchar(100),
pay_way_code varchar(50) not null comment '支付方式编号',
pay_way_name varchar(100) not null comment '支付方式名称',
offline_app_id varchar(50);
rsa_private_key varchar(100);
rsa_public_key varchar(100);
primary key (id_)
) comment '该表用来存放用户开通的第三方支付信息';
create table rp_account_check_batch
(
id varchar(50) not null,
version int unsigned not null,
create_time datetime not null,
editor varchar(100) comment '修改者',
creater varchar(100) comment '创建者',
edit_time datetime comment '最后修改时间',
status varchar(30) not null,
remark varchar(500),
batch_no varchar(30) not null,
bill_date date not null,
bill_type varchar(30),
handle_status varchar(10),
bank_type varchar(30),
mistake_count int(8),
unhandle_mistake_count int(8),
trade_count int(8),
bank_trade_count int(8),
trade_amount decimal(20,6),
bank_trade_amount decimal(20,6),
refund_amount decimal(20,6),
bank_refund_amount decimal(20,6),
bank_fee decimal(20,6),
org_check_file_path varchar(500),
release_check_file_path varchar(500),
release_status varchar(15),
check_fail_msg varchar(300),
bank_err_msg varchar(300),
primary key (id)
) comment '对账批次表 rp_account_check_batch';
create table rp_account_check_mistake
(
id varchar(50) not null,
version int unsigned not null,
create_time datetime not null,
editor varchar(100) comment '修改者',
creater varchar(100) comment '创建者',
edit_time datetime comment '最后修改时间',
status varchar(30),
remark varchar(500),
account_check_batch_no varchar(50) not null,
bill_date date not null,
bank_type varchar(30) not null,
order_time datetime,
merchant_name varchar(100),
merchant_no varchar(50),
order_no varchar(40),
trade_time datetime,
trx_no varchar(20),
order_amount decimal(20,6),
refund_amount decimal(20,6),
trade_status varchar(30),
fee decimal(20,6),
bank_trade_time datetime,
bank_order_no varchar(40),
bank_trx_no varchar(40),
bank_trade_status varchar(30),
bank_amount decimal(20,6),
bank_refund_amount decimal(20,6),
bank_fee decimal(20,6),
err_type varchar(30) not null,
handle_status varchar(10) not null,
handle_value varchar(1000),
handle_remark varchar(1000),
operator_name varchar(100),
operator_account_no varchar(50),
primary key (id)
) comment '对账差错表 rp_account_check_mistake';
create table rp_account_check_mistake_scratch_pool
(
id varchar(50) not null,
version int unsigned not null,
create_time datetime not null,
editor varchar(100) comment '修改者',
creater varchar(100) comment '创建者',
edit_time datetime comment '最后修改时间',
product_name varchar(50) comment '商品名称',
merchant_order_no varchar(30) not null comment '商户订单号',
trx_no char(20) not null comment '支付流水号',
bank_order_no char(20) comment '银行订单号',
bank_trx_no varchar(30) comment '银行流水号',
order_amount decimal(20,6) default 0 comment '订单金额',
plat_income decimal(20,6) comment '平台收入',
fee_rate decimal(20,6) comment '费率',
plat_cost decimal(20,6) comment '平台成本',
plat_profit decimal(20,6) comment '平台利润',
status varchar(30) comment '状态(参考枚举:paymentrecordstatusenum)',
pay_way_code varchar(50) comment '支付通道编号',
pay_way_name varchar(100) comment '支付通道名称',
pay_success_time datetime comment '支付成功时间',
complete_time datetime comment '完成时间',
is_refund varchar(30) default '101' comment '是否退款(100:是,101:否,默认值为:101)',
refund_times smallint default 0 comment '退款次数(默认值为:0)',
success_refund_amount decimal(20,6) comment '成功退款总金额',
remark varchar(500) comment '备注',
batch_no varchar(50),
bill_date datetime
) comment '差错暂存池';
create table rp_notify_record
(
id varchar(50) not null,
version int not null,
create_time datetime not null,
editor varchar(100) comment '修改者',
creater varchar(100) comment '创建者',
edit_time datetime comment '最后修改时间',
notify_times int not null,
limit_notify_times int not null,
url varchar(2000) not null,
merchant_order_no varchar(50) not null,
merchant_no varchar(50) not null,
status varchar(50) not null comment '100:成功 101:失败',
notify_type varchar(30) comment '通知类型',
primary key (id),
key ak_key_2 (merchant_order_no)
) comment '通知记录表 rp_notify_record';
create table rp_notify_record_log
(
id varchar(50) not null,
version int not null,
editor varchar(100) comment '修改者',
creater varchar(100) comment '创建者',
edit_time datetime comment '最后修改时间',
create_time datetime not null,
notify_id varchar(50) not null,
request varchar(2000) not null,
response varchar(2000) not null,
merchant_no varchar(50) not null,
merchant_order_no varchar(50) not null comment '商户订单号',
http_status varchar(50) not null comment 'http状态',
primary key (id)
) comment '通知记录日志表 rp_notify_record_log';
create table rp_refund_record
(
id varchar(50) not null comment 'id',
version int not null comment '版本号',
create_time datetime comment '创建时间',
editor varchar(100) comment '修改者',
creater varchar(100) comment '创建者',
edit_time datetime comment '最后修改时间',
org_merchant_order_no varchar(50) comment '原商户订单号',
org_trx_no varchar(50) comment '原支付流水号',
org_bank_order_no varchar(50) comment '原银行订单号',
org_bank_trx_no varchar(50) comment '原银行流水号',
merchant_name varchar(100) comment '商家名称',
merchant_no varchar(100) not null comment '商家编号',
org_product_name varchar(60) comment '原商品名称',
org_biz_type varchar(30) comment '原业务类型',
org_payment_type varchar(30) comment '原支付方式类型',
refund_amount decimal(20,6) comment '订单退款金额',
refund_trx_no varchar(50) not null comment '退款流水号',
refund_order_no varchar(50) not null comment '退款订单号',
bank_refund_order_no varchar(50) comment '银行退款订单号',
bank_refund_trx_no varchar(30) comment '银行退款流水号',
result_notify_url varchar(500) comment '退款结果通知url',
refund_status varchar(30) comment '退款状态',
refund_from varchar(30) comment '退款来源(分发平台)',
refund_way varchar(30) comment '退款方式',
refund_request_time datetime comment '退款请求时间',
refund_success_time datetime comment ' 退款成功时间',
refund_complete_time datetime comment '退款完成时间',
request_apply_user_id varchar(50) comment '退款请求,申请人登录名',
request_apply_user_name varchar(90) comment '退款请求,申请人姓名',
refund_reason varchar(500) comment '退款原因',
remark varchar(3000) comment '备注',
primary key (id),
unique key ak_key_2 (refund_trx_no)
) comment '退款记录表';
create table rp_trade_payment_order
(
id varchar(50) not null comment 'id',
version int not null default 0 comment '版本号',
create_time datetime not null comment '创建时间',
editor varchar(100) comment '修改者',
creater varchar(100) comment '创建者',
edit_time datetime comment '最后修改时间',
status varchar(50) comment '状态(参考枚举:orderstatusenum)',
product_name varchar(300) comment '商品名称',
merchant_order_no varchar(30) not null comment '商户订单号',
order_amount decimal(20,6) default 0 comment '订单金额',
order_from varchar(30) comment '订单来源',
merchant_name varchar(100) comment '商家名称',
merchant_no varchar(100) not null comment '商户编号',
order_time datetime comment '下单时间',
order_date date comment '下单日期',
order_ip varchar(50) comment '下单ip(客户端ip,在网关页面获取)',
order_referer_url varchar(100) comment '从哪个页面链接过来的(可用于防诈骗)',
return_url varchar(600) comment '页面回调通知url',
notify_url varchar(600) comment '后台异步通知url',
cancel_reason varchar(600) comment '订单撤销原因',
order_period smallint comment '订单有效期(单位分钟)',
expire_time datetime comment '到期时间',
pay_way_code varchar(50) comment '支付方式编号',
pay_way_name varchar(100) comment '支付方式名称',
remark varchar(200) comment '支付备注',
trx_type varchar(30) comment '交易业务类型 :消费、充值等',
trx_no varchar(50) comment '支付流水号',
pay_type_code varchar(50) comment '支付类型编号',
pay_type_name varchar(100) comment '支付类型名称',
fund_into_type varchar(30) comment '资金流入类型',
is_refund varchar(30) default '101' comment '是否退款(100:是,101:否,默认值为:101)',
refund_times int default 0 comment '退款次数(默认值为:0)',
success_refund_amount decimal(20,6) comment '成功退款总金额',
field1 varchar(500),
field2 varchar(500),
field3 varchar(500),
field4 varchar(500),
field5 varchar(500),
primary key (id),
unique key ak_key_2 (merchant_order_no, merchant_no)
) comment 'roncoo pay 龙果支付 支付订单表';
create table rp_trade_payment_record
(
id varchar(50) not null comment 'id',
version int not null default 0 comment '版本号',
create_time datetime comment '创建时间',
status varchar(30) comment '状态(参考枚举:paymentrecordstatusenum)',
editor varchar(100) comment '修改者',
creater varchar(100) comment '创建者',
edit_time datetime comment '最后修改时间',
product_name varchar(50) comment '商品名称',
merchant_order_no varchar(50) not null comment '商户订单号',
trx_no varchar(50) not null comment '支付流水号',
bank_order_no varchar(50) comment '银行订单号',
bank_trx_no varchar(50) comment '银行流水号',
merchant_name varchar(300) comment '商家名称',
merchant_no varchar(50) not null comment '商家编号',
payer_user_no varchar(50) comment '付款人编号',
payer_name varchar(60) comment '付款人名称',
payer_pay_amount decimal(20,6) default 0 comment '付款方支付金额',
payer_fee decimal(20,6) default 0 comment '付款方手续费',
payer_account_type varchar(30) comment '付款方账户类型(参考账户类型枚举:accounttypeenum)',
receiver_user_no varchar(15) comment '收款人编号',
receiver_name varchar(60) comment '收款人名称',
receiver_pay_amount decimal(20,6) default 0 comment '收款方支付金额',
receiver_fee decimal(20,6) default 0 comment '收款方手续费',
receiver_account_type varchar(30) comment '收款方账户类型(参考账户类型枚举:accounttypeenum)',
order_ip varchar(30) comment '下单ip(客户端ip,从网关中获取)',
order_referer_url varchar(100) comment '从哪个页面链接过来的(可用于防诈骗)',
order_amount decimal(20,6) default 0 comment '订单金额',
plat_income decimal(20,6) comment '平台收入',
fee_rate decimal(20,6) comment '费率',
plat_cost decimal(20,6) comment '平台成本',
plat_profit decimal(20,6) comment '平台利润',
return_url varchar(600) comment '页面回调通知url',
notify_url varchar(600) comment '后台异步通知url',
pay_way_code varchar(50) comment '支付方式编号',
pay_way_name varchar(100) comment '支付方式名称',
pay_success_time datetime comment '支付成功时间',
complete_time datetime comment '完成时间',
is_refund varchar(30) default '101' comment '是否退款(100:是,101:否,默认值为:101)',
refund_times int default 0 comment '退款次数(默认值为:0)',
success_refund_amount decimal(20,6) comment '成功退款总金额',
trx_type varchar(30) comment '交易业务类型 :消费、充值等',
order_from varchar(30) comment '订单来源',
pay_type_code varchar(50) comment '支付类型编号',
pay_type_name varchar(100) comment '支付类型名称',
fund_into_type varchar(30) comment '资金流入类型',
remark varchar(3000) comment '备注',
field1 varchar(500),
field2 varchar(500),
field3 varchar(500),
field4 varchar(500),
field5 varchar(500),
bank_return_msg varchar(2000) comment '银行返回信息',
primary key (id),
unique key ak_key_2 (trx_no)
) comment '支付记录表';