dili-cashier.sql
6.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
-- --------------------------------------------------------------------
-- 商户表
-- 说明:商户表用于维护接入支付的商户
-- --------------------------------------------------------------------
DROP TABLE IF EXISTS `upay_merchant`;
CREATE TABLE `upay_merchant` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`mch_id` BIGINT NOT NULL COMMENT '商户ID',
`name` VARCHAR(60) NOT NULL COMMENT '商户名称',
`param` JSON COMMENT '参数配置',
`address` VARCHAR(128) COMMENT '商户地址',
`linkman` VARCHAR(40) COMMENT '联系人',
`telephone` VARCHAR(20) COMMENT '电话号码',
`state` TINYINT UNSIGNED NOT NULL COMMENT '商户状态',
`created_time` DATETIME COMMENT '创建时间',
`modified_time` DATETIME COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_merchant_mchId` (`mch_id`) USING BTREE
) ENGINE=InnoDB COMMENT '支付商户';
-- --------------------------------------------------------------------
-- 支付订单数据模型
-- --------------------------------------------------------------------
DROP TABLE IF EXISTS `upay_trade_order`;
CREATE TABLE `upay_trade_order` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`mch_id` BIGINT NOT NULL COMMENT '商户ID',
`trade_id` VARCHAR(40) NOT NULL COMMENT '交易ID',
`type` TINYINT UNSIGNED NOT NULL COMMENT '订单类型',
`out_trade_no` VARCHAR(40) COMMENT '外部流水号', -- 商户流水号
`amount` BIGINT NOT NULL COMMENT '金额-分',
`max_amount` BIGINT NOT NULL COMMENT '初始金额-分',
`goods` VARCHAR(128) NOT NULL COMMENT '商品描述',
`timeout` INTEGER UNSIGNED NOT NULL COMMENT '超时间隔时间-秒',
`state` TINYINT UNSIGNED NOT NULL COMMENT '交易状态',
`notify_url` VARCHAR(128) COMMENT '业务回调地址',
`description` VARCHAR(128) COMMENT '交易备注',
`attach` VARCHAR(255) COMMENT '附加数据',
`source` TINYINT UNSIGNED COMMENT '订单来源',
`version` INTEGER UNSIGNED NOT NULL COMMENT '数据版本号',
`created_time` DATETIME COMMENT '创建时间',
`modified_time` DATETIME COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_trade_order_tradeId` (`trade_id`) USING BTREE,
KEY `idx_trade_order_outTradeNo` (`out_trade_no`, `mch_id`) USING BTREE,
KEY `idx_trade_order_createdTime` (`created_time`) USING BTREE
) ENGINE=InnoDB COMMENT '支付订单';
-- --------------------------------------------------------------------
-- 支付申请数据模型
-- --------------------------------------------------------------------
DROP TABLE IF EXISTS `upay_online_payment`;
CREATE TABLE `upay_online_payment` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`out_mch_id` VARCHAR(40) COMMENT '外部商户号',
`trade_id` VARCHAR(40) NOT NULL COMMENT '交易ID',
`type` TINYINT UNSIGNED NOT NULL COMMENT '交易类型',
`payment_id` VARCHAR(40) NOT NULL COMMENT '支付ID',
`channel_id` TINYINT UNSIGNED NOT NULL COMMENT '支付渠道',
`pay_type` TINYINT UNSIGNED NOT NULL COMMENT '支付方式', -- NATIVE MINIPRO
`pipeline_id` BIGINT NOT NULL COMMENT '通道ID',
`goods` VARCHAR(128) NOT NULL COMMENT '商品描述',
`amount` BIGINT NOT NULL COMMENT '申请金额-分',
`object_id` VARCHAR(60) COMMENT '操作对象', -- prepareId,二维码,或退款时的原单号
`payer_id` VARCHAR(128) COMMENT '支付方', -- 比如微信openId,或json格式数据
`finish_time` DATETIME COMMENT '支付时间',
`out_trade_no` VARCHAR(40) COMMENT '通道流水号',
`out_pay_type` TINYINT UNSIGNED NOT NULL COMMENT '实际支付方式', -- 银行聚合支付时使用
`state` TINYINT UNSIGNED NOT NULL COMMENT '申请状态',
`notify_url` VARCHAR(128) COMMENT '业务回调地址',
`description` VARCHAR(256) COMMENT '交易备注',
`version` INTEGER UNSIGNED NOT NULL COMMENT '数据版本号',
`created_time` DATETIME COMMENT '创建时间',
`modified_time` DATETIME COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_online_payment_paymentId` (`payment_id`) USING BTREE,
KEY `idx_online_payment_tradeId` (`trade_id`) USING BTREE,
KEY `idx_online_payment_finishTime` (`finish_time`, `state`) USING BTREE,
KEY `idx_online_payment_outTradeNo` (`out_trade_no`) USING BTREE,
KEY `idx_online_payment_createdTime` (`created_time`) USING BTREE
) ENGINE=InnoDB COMMENT '支付申请';
-- --------------------------------------------------------------------
-- 通道管理配置数据模型
-- --------------------------------------------------------------------
DROP TABLE IF EXISTS `upay_payment_pipeline`;
CREATE TABLE `upay_payment_pipeline` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`mch_id` BIGINT NOT NULL COMMENT '商户ID',
`pipeline_id` BIGINT NOT NULL COMMENT '通道ID',
`channel_id` TINYINT UNSIGNED NOT NULL COMMENT '渠道', -- 建设银行、农业银行、微信、支付宝
`type` TINYINT UNSIGNED NOT NULL COMMENT '通道类型', -- 银企直连通道、聚合支付通道、微信支付通道、支付宝通道
`name` VARCHAR(40) NOT NULL COMMENT '通道名称',
`uri` VARCHAR(60) NOT NULL COMMENT '通道URI',
`param` JSON COMMENT '通道参数',
`state` TINYINT UNSIGNED NOT NULL COMMENT '通道状态',
`created_time` DATETIME COMMENT '创建时间',
`modified_time` DATETIME COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_payment_pipeline_pipelineId` (`pipeline_id`) USING BTREE
) ENGINE=InnoDB COMMENT '通道管理配置';
-- --------------------------------------------------------------------
-- 微信支付通道参数配置数据模型
-- --------------------------------------------------------------------
DROP TABLE IF EXISTS `upay_wechat_param`;
CREATE TABLE `upay_wechat_param` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`pipeline_id` BIGINT NOT NULL COMMENT '通道ID',
`mch_id` VARCHAR(20) NOT NULL COMMENT '商户号', -- 服务商模式下为服务商商户号
`app_id` VARCHAR(30) NOT NULL COMMENT '小程序ID',
`app_secret` VARCHAR(50) NOT NULL COMMENT '小程序密钥',
`serial_no` VARCHAR(50) NOT NULL COMMENT '商户公钥序列号',
`private_key` TEXT NOT NULL COMMENT '商户私钥',
`wechat_serial_no` VARCHAR(50) NOT NULL COMMENT '微信公钥序列号',
`wechat_public_key` TEXT NOT NULL COMMENT '微信公钥',
`api_v3_key` VARCHAR(50) NOT NULL COMMENT '微信apiV3Key',
`type` TINYINT UNSIGNED NOT NULL COMMENT '通道类型', -- 直连通道或服务商通道
`created_time` DATETIME COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_wechat_param_pipelineId` (`pipeline_id`) USING BTREE
) ENGINE=InnoDB COMMENT '微信支付通道参数配置';