序号 表名 描述
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. 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='商户信息表';

支付渠道表

  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='支付渠道表';

支付订单表

  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='支付订单表';

苹果支付凭据表

  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='苹果支付凭据表';

转账订单表

  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='转账订单表';

退款订单表

  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='退款订单表';

商户通知表

  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='商户通知表';

商品订单表

  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='商品订单表';