242 lines
6.3 KiB
MySQL
242 lines
6.3 KiB
MySQL
|
|
-- 支付模块基础表
|
|||
|
|
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"}
|