核心的表有支付渠道表、交易单表、退款记录表。
支付接口:收到支付请求后请求第三方支付的下单接口,并向交易单表新增记录。
查询交易结果接口:请求第三方支付的查询支付结果并更新交易单表的支付状态。
接收第三方通过支付结果:更新交易单表的支付状态。
退款接口:新增退款记录
更新退款状态:请求第三方退款结果查询接口查询退款状态,并更新退款状态。
1. 支付渠道表(payment_channel
)
1.1 目的
该表存储了所有支持的支付渠道信息。支付渠道表的主要作用是配置和管理不同支付渠道的基本参数(例如:微信、支付宝等),以便在实际支付时根据渠道进行相应的处理。
1.2 关键字段
channel_name
和channel_label
:渠道名称和渠道的唯一标记,用于标识不同的支付通道,如微信、支付宝等。app_id
、public_key
、merchant_private_key
:支付相关的凭证和密钥,存储第三方支付的密钥信息,用于加密和校验支付请求。other_config
:用于保存其他配置信息,可能包括回调地址、签名算法等。encrypt_key
:存储AES加密的密钥,用于支付数据加密。
1.3 示例
CREATE TABLE `pay_channel` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
`channel_name` VARCHAR(32) NOT NULL COMMENT '通道名称',
`channel_label` VARCHAR(32) NOT NULL COMMENT '通道唯一标记',
`domain` VARCHAR(255) NULL COMMENT '域名',
`app_id` VARCHAR(32) NOT NULL COMMENT '商户appid',
`public_key` VARCHAR(2000) COLLATE utf8_bin NOT NULL COMMENT '支付公钥',
`merchant_private_key` VARCHAR(2000) COLLATE utf8_bin NOT NULL COMMENT '商户私钥',
`other_config` VARCHAR(1000) NULL COMMENT '其他配置',
`encrypt_key` VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COMMENT