KSHER支付
ksher支付流程:
用户点击支付
⬇️
前端请求pay/order
⬇️
后台请求ksher,ksher返回支付url,后台将url返回给前端
⬇️
前端请求ksher url
⬇️
用户在ksher支付完成
⬇️
ksher重定向到后台接口
⬇️
后台接口检查支付结果,检查完毕重定向到前端页面
admin
1.接口变动:station/create
请求参数:
新增参数:
ksher_pay_info dict O ksher支付配置
参数变动:
prior_pay str O 新增"ksher",表示ksher支付
ksher_pay_info内容:
{
private_key 私钥 str
ksher_app_id ksher app_id str
fee_type 结算的币种(与ksher商户平台保持一致) str
}
2.接口变动:station/update
请求参数:
新增参数:
ksher_pay_info dict O ksher支付配置
参数变动:
prior_pay str O 新增"ksher",表示ksher支付
ksher_pay_info内容:
{
private_key 私钥 str
ksher_app_id ksher app_id str
fee_type 结算的币种(与ksher商户平台保持一致) str
}
3. 接口变动:station/detail
请求参数:不变
返回参数:
新增参数:
ksher_pay_info dict O ksher支付配置
参数变动:
prior_pay str O 新增"ksher",表示ksher支付
ksher_pay_info内容:
{
private_key 私钥 str
ksher_app_id ksher app_id str
fee_type 结算的币种(与ksher商户平台保持一致) str
}
bshop
1. 接口变动:pay/order
请求参数:
原参数不变,下面为新增的参数
page str O 重定向时回传参数
attach str O 重定向时回传参数
返回参数: ksher返回参数与其他支付不同,直接返回ksher的url,由前端去跳转
{
"code":0,
"msg":"ok",
"data":{
"type": "url",
"pay_url":"https://xxxxxxx"
}
}
2. 接口变动:pay/charge
参数变动同pay/order接口相同
3.支付完成之后重定向回前端页面
https://bshop.guanmai.cn/v587/?page=index#/order/pay_immediately?page={}&attach={}type=url
page和attach的内容为pay/order接口的参数内容
只有后端变动
bshop
新增接口:pay/ksher/notify/group_id_xxx
请求方法:GET POST
ksher支付完重定向与通知支付结果都到这个接口,检查完支付结果重定向到前端页面
order
1.接口变动: pay/order
增加ksher的支付方式
2.新增接口:pay/ksher/notify/group_id_xxx
处理支付结果
数据库变动
mongo
库表:xnn_core_product_2-wx_pay_info
增加字段:
"ksher": {
private_key 私钥 str
pub_key 公钥 str
ksher_app_id kser_app_id str
}
mysql
新增表:order-tbl_ksher_trade_flow
字段:
trade_no str 观麦trade_no,也是ksher的商户订单号
status int
channel str 渠道:wechat alipay
channel_order_no str 渠道订单号
ksher_order_no str ksher订单号
fee_type str 币种
total_fee str 支付金额
attach text
CREATE TABLE `tbl_ksher_trade_flow` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`trade_no` varchar(64) NOT NULL COMMENT 'tbl_trade_flow_new中的',
`status` tinyint(4) NOT NULL COMMENT '支付状态',
`channel` varchar(10) NOT NULL COMMENT '支付渠道',
`channel_order_no` varchar(64) NOT NULL COMMENT '支付平台的交易流水号',
`ksher_order_no` varchar(64) NOT NULL COMMENT 'ksher订单号',
`fee_type` varchar(5) NOT NULL COMMENT '支付币种',
`total_fee` varchar(32) NOT NULL COMMENT '金额',
`attach` text NOT NULL COMMENT '回调参数',
`group_id` int(11) NOT NULL COMMENT '组ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`modify_time` datetime NOT NULL COMMENT '修改时间',
`delete_time` datetime NOT NULL DEFAULT '1-1-1 00:00:00' COMMENT '删除时间',
`pstatus` int NOT NULL DEFAULT '0' COMMENT '逻辑删除',
`extra1` int NOT NULL DEFAULT '0',
`extra2` int NOT NULL DEFAULT '0',
`extra3` int NOT NULL DEFAULT '0',
`extra4` varchar(128) NOT NULL DEFAULT '',
`extra5` varchar(128) NOT NULL DEFAULT '',
`extra6` varchar(128) NOT NULL DEFAULT '',
`extra7` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra8` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra9` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra10` decimal(15,4) NOT NULL DEFAULT '0.0000',
PRIMARY KEY (`id`),
KEY `idx_trade_no` (`trade_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;