242 lines
6.3 KiB
SQL
242 lines
6.3 KiB
SQL
-- 支付模块基础表
|
||
CREATE TABLE IF NOT EXISTS `pay_app`
|
||
(
|
||
`id`
|
||
BIGINT
|
||
UNSIGNED
|
||
NOT
|
||
NULL
|
||
AUTO_INCREMENT
|
||
COMMENT
|
||
'应用编号',
|
||
`app_key`
|
||
VARCHAR
|
||
(
|
||
64
|
||
) NOT NULL COMMENT '应用标识',
|
||
`name` VARCHAR
|
||
(
|
||
100
|
||
) NOT NULL COMMENT '应用名称',
|
||
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态:1启用 0停用',
|
||
`remark` VARCHAR
|
||
(
|
||
255
|
||
) DEFAULT NULL COMMENT '备注',
|
||
`order_notify_url` VARCHAR
|
||
(
|
||
255
|
||
) DEFAULT NULL COMMENT '业务回调地址',
|
||
`create_by` BIGINT DEFAULT NULL,
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||
`update_by` BIGINT DEFAULT NULL,
|
||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '0正常 1删除',
|
||
PRIMARY KEY
|
||
(
|
||
`id`
|
||
),
|
||
UNIQUE KEY `uk_pay_app_key`
|
||
(
|
||
`app_key`
|
||
)
|
||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='支付应用';
|
||
|
||
CREATE TABLE IF NOT EXISTS `pay_channel`
|
||
(
|
||
`id`
|
||
BIGINT
|
||
UNSIGNED
|
||
NOT
|
||
NULL
|
||
AUTO_INCREMENT
|
||
COMMENT
|
||
'渠道编号',
|
||
`code`
|
||
VARCHAR
|
||
(
|
||
64
|
||
) NOT NULL COMMENT '渠道编码',
|
||
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态:1启用 0停用',
|
||
`remark` VARCHAR
|
||
(
|
||
255
|
||
) DEFAULT NULL COMMENT '备注',
|
||
`app_id` BIGINT UNSIGNED NOT NULL COMMENT '应用编号',
|
||
`config` LONGTEXT NOT NULL COMMENT '渠道配置(JSON)',
|
||
`create_by` BIGINT DEFAULT NULL,
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||
`update_by` BIGINT DEFAULT NULL,
|
||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '0正常 1删除',
|
||
PRIMARY KEY
|
||
(
|
||
`id`
|
||
),
|
||
UNIQUE KEY `uk_pay_channel_app_code`
|
||
(
|
||
`app_id`,
|
||
`code`
|
||
)
|
||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='支付渠道';
|
||
|
||
CREATE TABLE IF NOT EXISTS `pay_order`
|
||
(
|
||
`id`
|
||
BIGINT
|
||
UNSIGNED
|
||
NOT
|
||
NULL
|
||
AUTO_INCREMENT
|
||
COMMENT
|
||
'支付订单编号',
|
||
`app_id`
|
||
BIGINT
|
||
UNSIGNED
|
||
NOT
|
||
NULL
|
||
COMMENT
|
||
'应用编号',
|
||
`merchant_order_no`
|
||
VARCHAR
|
||
(
|
||
64
|
||
) DEFAULT NULL COMMENT '业务订单号',
|
||
`biz_order_type` VARCHAR
|
||
(
|
||
64
|
||
) DEFAULT NULL COMMENT '业务类型',
|
||
`biz_order_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '业务主键',
|
||
`subject` VARCHAR
|
||
(
|
||
128
|
||
) DEFAULT NULL COMMENT '订单标题',
|
||
`body` VARCHAR
|
||
(
|
||
255
|
||
) DEFAULT NULL COMMENT '订单描述',
|
||
`channel_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '渠道编号',
|
||
`channel_code` VARCHAR
|
||
(
|
||
64
|
||
) DEFAULT NULL COMMENT '渠道编码',
|
||
`notify_url` VARCHAR
|
||
(
|
||
255
|
||
) DEFAULT NULL COMMENT '异步回调地址',
|
||
`return_url` VARCHAR
|
||
(
|
||
255
|
||
) DEFAULT NULL COMMENT '同步跳转地址',
|
||
`price` DECIMAL
|
||
(
|
||
18,
|
||
2
|
||
) NOT NULL COMMENT '支付金额(元)',
|
||
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态:1待支付 2支付中 3成功 4失败 5关闭',
|
||
`user_ip` VARCHAR
|
||
(
|
||
64
|
||
) DEFAULT NULL COMMENT '用户IP',
|
||
`expire_time` DATETIME DEFAULT NULL COMMENT '失效时间',
|
||
`success_time` DATETIME DEFAULT NULL COMMENT '支付成功时间',
|
||
`extension_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '支付成功拓展单编号',
|
||
`no` VARCHAR
|
||
(
|
||
64
|
||
) DEFAULT NULL COMMENT '平台支付订单号',
|
||
`channel_user_id` VARCHAR
|
||
(
|
||
64
|
||
) DEFAULT NULL COMMENT '渠道用户编号',
|
||
`channel_order_no` VARCHAR
|
||
(
|
||
64
|
||
) DEFAULT NULL COMMENT '渠道订单号',
|
||
`create_by` BIGINT DEFAULT NULL,
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||
`update_by` BIGINT DEFAULT NULL,
|
||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '0正常 1删除',
|
||
PRIMARY KEY
|
||
(
|
||
`id`
|
||
),
|
||
UNIQUE KEY `uk_pay_order_no`
|
||
(
|
||
`no`
|
||
),
|
||
KEY `idx_pay_order_biz`
|
||
(
|
||
`biz_order_type`,
|
||
`biz_order_id`
|
||
)
|
||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='支付订单';
|
||
|
||
CREATE TABLE IF NOT EXISTS `pay_order_extension`
|
||
(
|
||
`id`
|
||
BIGINT
|
||
UNSIGNED
|
||
NOT
|
||
NULL
|
||
AUTO_INCREMENT
|
||
COMMENT
|
||
'拓展单编号',
|
||
`no`
|
||
VARCHAR
|
||
(
|
||
64
|
||
) NOT NULL COMMENT '三方侧商户单号',
|
||
`order_id` BIGINT UNSIGNED NOT NULL COMMENT '支付订单编号',
|
||
`channel_id` BIGINT UNSIGNED NOT NULL COMMENT '渠道编号',
|
||
`channel_code` VARCHAR
|
||
(
|
||
64
|
||
) NOT NULL COMMENT '渠道编码',
|
||
`user_ip` VARCHAR
|
||
(
|
||
64
|
||
) DEFAULT NULL COMMENT '用户IP',
|
||
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态:1待支付 2支付中 3成功 4失败 5关闭',
|
||
`channel_extras` LONGTEXT DEFAULT NULL COMMENT '渠道扩展信息',
|
||
`channel_error_code` VARCHAR
|
||
(
|
||
64
|
||
) DEFAULT NULL COMMENT '渠道错误码',
|
||
`channel_error_msg` VARCHAR
|
||
(
|
||
255
|
||
) DEFAULT NULL COMMENT '渠道错误信息',
|
||
`channel_notify_data` LONGTEXT DEFAULT NULL COMMENT '渠道回调原文',
|
||
`create_by` BIGINT DEFAULT NULL,
|
||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||
`update_by` BIGINT DEFAULT NULL,
|
||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '0正常 1删除',
|
||
PRIMARY KEY
|
||
(
|
||
`id`
|
||
),
|
||
UNIQUE KEY `uk_pay_order_extension_no`
|
||
(
|
||
`no`
|
||
),
|
||
KEY `idx_pay_order_extension_order`
|
||
(
|
||
`order_id`
|
||
)
|
||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='支付订单拓展单';
|
||
|
||
ALTER TABLE `hot_fund_recharge_order`
|
||
MODIFY COLUMN `recharge_amount` DECIMAL (18, 2) NULL COMMENT '充值金额(元)',
|
||
MODIFY COLUMN `pay_status` TINYINT NULL DEFAULT 1 COMMENT '支付状态:1待支付 2支付中 3支付成功 4支付失败 5已关闭 6已退款';
|
||
|
||
-- 初始化建议
|
||
-- INSERT INTO pay_app(app_key, name, status, remark) VALUES ('wallet-recharge', '钱包充值', 1, '钱包充值支付应用');
|
||
-- 渠道编码建议:
|
||
-- WECHAT_QR / WECHAT_H5 / WECHAT_APP / ALIPAY_QR / ALIPAY_H5 / ALIPAY_APP
|
||
-- 支付渠道 config 示例:
|
||
-- 支付宝:{"appId":"xxx","privateKey":"-----BEGIN PRIVATE KEY-----...","alipayPublicKey":"-----BEGIN PUBLIC KEY-----...","gateway":"https://openapi.alipay.com/gateway.do"}
|
||
-- 微信:{"appId":"wxxxx","merchantId":"1xxxx","merchantSerialNo":"xxxx","privateKey":"-----BEGIN PRIVATE KEY-----...","apiV3Key":"32位密钥","platformPublicKey":"-----BEGIN PUBLIC KEY-----...","gateway":"https://api.mch.weixin.qq.com"}
|