序号 表名 描述
1 t_mch_info 商户信息表
2 t_pay_channel 支付渠道表
3 t_pay_order 支付订单表
4 t_iap_receipt 苹果支付凭据表
5 t_trans_order 转账订单表
6 t_refund_order 退款订单表
7 t_mch_notify 商户通知表
8 t_goods_order 商品订单表,演示商城使用的交易表
  1. 商户信息表

    1. CREATE TABLE `t_mch_info` (
    2. `MchId` varchar(30) NOT NULL COMMENT '商户ID',
    3. `Name` varchar(30) NOT NULL COMMENT '名称',
    4. `Type` varchar(24) NOT NULL COMMENT '类型',
    5. `ReqKey` varchar(128) NOT NULL COMMENT '请求私钥',
    6. `ResKey` varchar(128) NOT NULL COMMENT '响应私钥',
    7. `State` tinyint(6) NOT NULL DEFAULT '1' COMMENT '商户状态,0-停止使用,1-使用中',
    8. `CreateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    9. `UpdateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    10. PRIMARY KEY (`MchId`)
    11. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商户信息表';
  2. 支付渠道表

    1. CREATE TABLE `t_pay_channel` (
    2. `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '渠道主键ID',
    3. `ChannelId` varchar(24) NOT NULL COMMENT '渠道ID',
    4. `ChannelName` varchar(30) NOT NULL COMMENT '渠道名称,如:alipay,wechat',
    5. `ChannelMchId` varchar(32) NOT NULL COMMENT '渠道商户ID',
    6. `MchId` varchar(30) NOT NULL COMMENT '商户ID',
    7. `State` tinyint(6) NOT NULL DEFAULT '1' COMMENT '渠道状态,0-停止使用,1-使用中',
    8. `Param` varchar(2048) NOT NULL COMMENT '配置参数,json字符串',
    9. `Remark` varchar(128) DEFAULT NULL COMMENT '备注',
    10. `CreateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    11. `UpdateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    12. PRIMARY KEY (`ID`),
    13. UNIQUE KEY `IDX_MchId_MchOrderNo` (`ChannelId`, `MchId`)
    14. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付渠道表';
  3. 支付订单表

    1. CREATE TABLE `t_pay_order` (
    2. `PayOrderId` varchar(30) NOT NULL COMMENT '支付订单号',
    3. `MchId` varchar(30) NOT NULL COMMENT '商户ID',
    4. `MchOrderNo` varchar(30) NOT NULL COMMENT '商户订单号',
    5. `ChannelId` varchar(24) NOT NULL COMMENT '渠道ID',
    6. `Amount` bigint(20) NOT NULL COMMENT '支付金额,单位分',
    7. `Currency` varchar(3) NOT NULL DEFAULT 'cny' COMMENT '三位货币代码,人民币:cny',
    8. `Status` tinyint(6) NOT NULL DEFAULT '0' COMMENT '支付状态,0-订单生成,1-支付中(目前未使用),2-支付成功,3-业务处理完成',
    9. `ClientIp` varchar(32) DEFAULT NULL COMMENT '客户端IP',
    10. `Device` varchar(64) DEFAULT NULL COMMENT '设备',
    11. `Subject` varchar(64) NOT NULL COMMENT '商品标题',
    12. `Body` varchar(256) NOT NULL COMMENT '商品描述信息',
    13. `Extra` varchar(512) DEFAULT NULL COMMENT '特定渠道发起时额外参数',
    14. `ChannelMchId` varchar(32) NOT NULL COMMENT '渠道商户ID',
    15. `ChannelOrderNo` varchar(64) DEFAULT NULL COMMENT '渠道订单号',
    16. `ErrCode` varchar(64) DEFAULT NULL COMMENT '渠道支付错误码',
    17. `ErrMsg` varchar(128) DEFAULT NULL COMMENT '渠道支付错误描述',
    18. `Param1` varchar(64) DEFAULT NULL COMMENT '扩展参数1',
    19. `Param2` varchar(64) DEFAULT NULL COMMENT '扩展参数2',
    20. `NotifyUrl` varchar(128) NOT NULL COMMENT '通知地址',
    21. `NotifyCount` tinyint(6) NOT NULL DEFAULT 0 COMMENT '通知次数',
    22. `LastNotifyTime` bigint(20) DEFAULT NULL COMMENT '最后一次通知时间',
    23. `ExpireTime` bigint(20) DEFAULT NULL COMMENT '订单失效时间',
    24. `PaySuccTime` bigint(20) DEFAULT NULL COMMENT '订单支付成功时间',
    25. `CreateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    26. `UpdateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    27. PRIMARY KEY (`PayOrderId`),
    28. UNIQUE KEY `IDX_MchId_MchOrderNo` (`MchId`, MchOrderNo)
    29. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付订单表';
  4. 苹果支付凭据表

    1. CREATE TABLE `t_iap_receipt` (
    2. `PayOrderId` varchar(30) NOT NULL COMMENT '支付订单号',
    3. `MchId` varchar(30) NOT NULL COMMENT '商户ID',
    4. `TransactionId` varchar(24) NOT NULL COMMENT 'IAP业务号',
    5. `ReceiptData` TEXT NOT NULL COMMENT '渠道ID',
    6. `Status` tinyint(6) NOT NULL DEFAULT '0' COMMENT '处理状态:0-未处理,1-处理成功,-1-处理失败',
    7. `HandleCount` tinyint(6) NOT NULL DEFAULT 0 COMMENT '处理次数',
    8. `CreateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    9. `UpdateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    10. PRIMARY KEY (`PayOrderId`)
    11. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='苹果支付凭据表';
  5. 转账订单表

    1. CREATE TABLE `t_trans_order` (
    2. `TransOrderId` varchar(30) NOT NULL COMMENT '转账订单号',
    3. `MchId` varchar(30) NOT NULL COMMENT '商户ID',
    4. `MchTransNo` varchar(30) NOT NULL COMMENT '商户转账单号',
    5. `ChannelId` varchar(24) NOT NULL COMMENT '渠道ID',
    6. `Amount` bigint(20) NOT NULL COMMENT '转账金额,单位分',
    7. `Currency` varchar(3) NOT NULL DEFAULT 'cny' COMMENT '三位货币代码,人民币:cny',
    8. `Status` tinyint(6) NOT NULL DEFAULT '0' COMMENT '转账状态:0-订单生成,1-转账中,2-转账成功,3-转账失败,4-业务处理完成',
    9. `Result` tinyint(6) NOT NULL DEFAULT '0' COMMENT '转账结果:0-不确认结果,1-等待手动处理,2-确认成功,3-确认失败',
    10. `ClientIp` varchar(32) DEFAULT NULL COMMENT '客户端IP',
    11. `Device` varchar(64) DEFAULT NULL COMMENT '设备',
    12. `RemarkInfo` varchar(256) DEFAULT NULL COMMENT '备注',
    13. `ChannelUser` varchar(32) DEFAULT NULL COMMENT '渠道用户标识,如微信openId,支付宝账号',
    14. `UserName` varchar(24) DEFAULT NULL COMMENT '用户姓名',
    15. `ChannelMchId` varchar(32) NOT NULL COMMENT '渠道商户ID',
    16. `ChannelOrderNo` varchar(32) DEFAULT NULL COMMENT '渠道订单号',
    17. `ChannelErrCode` varchar(128) DEFAULT NULL COMMENT '渠道错误码',
    18. `ChannelErrMsg` varchar(128) DEFAULT NULL COMMENT '渠道错误描述',
    19. `Extra` varchar(512) DEFAULT NULL COMMENT '特定渠道发起时额外参数',
    20. `NotifyUrl` varchar(128) NOT NULL COMMENT '通知地址',
    21. `Param1` varchar(64) DEFAULT NULL COMMENT '扩展参数1',
    22. `Param2` varchar(64) DEFAULT NULL COMMENT '扩展参数2',
    23. `ExpireTime` datetime DEFAULT NULL COMMENT '订单失效时间',
    24. `TransSuccTime` datetime DEFAULT NULL COMMENT '订单转账成功时间',
    25. `CreateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    26. `UpdateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    27. PRIMARY KEY (`TransOrderId`),
    28. UNIQUE KEY `IDX_MchId_MchOrderNo` (`MchId`, MchTransNo)
    29. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='转账订单表';
  6. 退款订单表

    1. CREATE TABLE `t_refund_order` (
    2. `RefundOrderId` varchar(30) NOT NULL COMMENT '退款订单号',
    3. `PayOrderId` varchar(30) NOT NULL COMMENT '支付订单号',
    4. `ChannelPayOrderNo` varchar(64) DEFAULT NULL COMMENT '渠道支付单号',
    5. `MchId` varchar(30) NOT NULL COMMENT '商户ID',
    6. `MchRefundNo` varchar(30) NOT NULL COMMENT '商户退款单号',
    7. `ChannelId` varchar(24) NOT NULL COMMENT '渠道ID',
    8. `PayAmount` bigint(20) NOT NULL COMMENT '支付金额,单位分',
    9. `RefundAmount` bigint(20) NOT NULL COMMENT '退款金额,单位分',
    10. `Currency` varchar(3) NOT NULL DEFAULT 'cny' COMMENT '三位货币代码,人民币:cny',
    11. `Status` tinyint(6) NOT NULL DEFAULT '0' COMMENT '退款状态:0-订单生成,1-退款中,2-退款成功,3-退款失败,4-业务处理完成',
    12. `Result` tinyint(6) NOT NULL DEFAULT '0' COMMENT '退款结果:0-不确认结果,1-等待手动处理,2-确认成功,3-确认失败',
    13. `ClientIp` varchar(32) DEFAULT NULL COMMENT '客户端IP',
    14. `Device` varchar(64) DEFAULT NULL COMMENT '设备',
    15. `RemarkInfo` varchar(256) DEFAULT NULL COMMENT '备注',
    16. `ChannelUser` varchar(32) DEFAULT NULL COMMENT '渠道用户标识,如微信openId,支付宝账号',
    17. `UserName` varchar(24) DEFAULT NULL COMMENT '用户姓名',
    18. `ChannelMchId` varchar(32) NOT NULL COMMENT '渠道商户ID',
    19. `ChannelOrderNo` varchar(32) DEFAULT NULL COMMENT '渠道订单号',
    20. `ChannelErrCode` varchar(128) DEFAULT NULL COMMENT '渠道错误码',
    21. `ChannelErrMsg` varchar(128) DEFAULT NULL COMMENT '渠道错误描述',
    22. `Extra` varchar(512) DEFAULT NULL COMMENT '特定渠道发起时额外参数',
    23. `NotifyUrl` varchar(128) NOT NULL COMMENT '通知地址',
    24. `Param1` varchar(64) DEFAULT NULL COMMENT '扩展参数1',
    25. `Param2` varchar(64) DEFAULT NULL COMMENT '扩展参数2',
    26. `ExpireTime` datetime DEFAULT NULL COMMENT '订单失效时间',
    27. `RefundSuccTime` datetime DEFAULT NULL COMMENT '订单退款成功时间',
    28. `CreateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    29. `UpdateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    30. PRIMARY KEY (`RefundOrderId`),
    31. UNIQUE KEY `IDX_MchId_MchOrderNo` (`MchId`, MchRefundNo)
    32. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='退款订单表';
  7. 商户通知表

    1. CREATE TABLE `t_mch_notify` (
    2. `OrderId` varchar(24) NOT NULL COMMENT '订单ID',
    3. `MchId` varchar(30) NOT NULL COMMENT '商户ID',
    4. `MchOrderNo` varchar(30) NOT NULL COMMENT '商户订单号',
    5. `OrderType` varchar(8) NOT NULL COMMENT '订单类型:1-支付,2-转账,3-退款',
    6. `NotifyUrl` varchar(2048) NOT NULL COMMENT '通知地址',
    7. `NotifyCount` tinyint(6) NOT NULL DEFAULT 0 COMMENT '通知次数',
    8. `Result` varchar(2048) DEFAULT NULL COMMENT '通知响应结果',
    9. `Status` tinyint(6) NOT NULL DEFAULT '1' COMMENT '通知状态,1-通知中,2-通知成功,3-通知失败',
    10. `LastNotifyTime` datetime DEFAULT NULL COMMENT '最后一次通知时间',
    11. `CreateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    12. `UpdateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    13. PRIMARY KEY (`OrderId`),
    14. UNIQUE KEY `IDX_MchId_OrderType_MchOrderNo` (`MchId`, `OrderType`, `MchOrderNo`)
    15. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商户通知表';
  8. 商品订单表

    1. CREATE TABLE `t_goods_order` (
    2. `GoodsOrderId` varchar(30) NOT NULL COMMENT '商品订单ID',
    3. `GoodsId` varchar(30) NOT NULL COMMENT '商品ID',
    4. `GoodsName` varchar(64) NOT NULL DEFAULT '' COMMENT '商品名称',
    5. `Amount` bigint(20) NOT NULL COMMENT '金额,单位分',
    6. `UserId` varchar(30) NOT NULL COMMENT '用户ID',
    7. `Status` tinyint(6) NOT NULL DEFAULT '0' COMMENT '订单状态,订单生成(0),支付成功(1),处理完成(2),处理失败(-1)',
    8. `PayOrderId` varchar(30) DEFAULT NULL COMMENT '支付订单号',
    9. `ChannelId` varchar(24) DEFAULT NULL COMMENT '渠道ID',
    10. `ChannelUserId` varchar(64) DEFAULT NULL COMMENT '支付渠道用户ID(微信openID或支付宝账号等第三方支付账号)',
    11. `CreateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    12. `UpdateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    13. PRIMARY KEY (`GoodsOrderId`),
    14. UNIQUE KEY `IDX_PayOrderId` (PayOrderId)
    15. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品订单表';