在实际的微信和支付宝支付完成时,不仅仅要改变订单的状态。最好记录下当前支付的具体信息,以供后来查验。
一、支付宝
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| CREATE TABLE `site_pay_ali` ( `id` int(11) NOT NULL AUTO_INCREMENT, `pay_scene` tinyint(1) NOT NULL DEFAULT '1' COMMENT '支付场景', `oid` int(11) NOT NULL COMMENT '订单id', `order_number` int(11) NOT NULL COMMENT '订单号', `subject` varchar(100) NOT NULL COMMENT '支付主题', `buyer_id` varchar(20) NOT NULL COMMENT '买家支付宝用户号', `total_amount` varchar(20) NOT NULL COMMENT '总金额', `sign_type` varchar(10) NOT NULL COMMENT '签名类型', `trade_no` varchar(80) NOT NULL COMMENT '支付宝交易号', `app_id` varchar(50) NOT NULL COMMENT '开发者的app_id', `buyer_logon_id` varchar(100) NOT NULL COMMENT '买家支付宝帐号', `notify_time` varchar(100) NOT NULL COMMENT '支付时间', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='支付宝支付记录';
|
二、微信
需要注意的是下面的表结构中“nickname”的 utf8mb4 是需要 MySql5.5+才支持
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| CREATE TABLE `site_pay_wx` ( `id` int(11) NOT NULL AUTO_INCREMENT, `pay_scene` tinyint(1) NOT NULL DEFAULT '1' COMMENT '支付场景', `oid` int(11) NOT NULL COMMENT '订单id', `order_number` int(11) NOT NULL COMMENT '订单号', `attach` varchar(300) NOT NULL COMMENT '支付主题', `bank_type` varchar(20) NOT NULL COMMENT '付款银行', `cash_fee` int(11) NOT NULL COMMENT '现金支付金额', `fee_type` varchar(20) NOT NULL COMMENT '货币种类', `nonce_str` varchar(50) NOT NULL COMMENT '随机字符串', `openid` varchar(300) NOT NULL COMMENT '用户标识', `sign` varchar(50) NOT NULL COMMENT '签名', `is_subscribe` tinyint(1) NOT NULL COMMENT '是否关注公众账号', `time_end` varchar(20) NOT NULL COMMENT '支付时间', `transaction_id` varchar(50) NOT NULL COMMENT '微信支付订单号', `nickname` varchar(300) CHARACTER SET utf8mb4 NOT NULL COMMENT '用户昵称', `sex` tinyint(1) NOT NULL DEFAULT '1' COMMENT '用户性别', `city` varchar(50) DEFAULT NULL COMMENT '用户城市', `province` varchar(50) DEFAULT NULL COMMENT '用户省份', `country` varchar(50) DEFAULT NULL COMMENT '用户国家', `headimgurl` varchar(500) DEFAULT NULL COMMENT '用户头像', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='微信支付信息表';
|