海关179对接java,.net,python,node.js,ruby等业务处理逻辑

创建数据表:


– Table structure for paycheck


DROP TABLE IF EXISTS paycheck;
CREATE TABLE paycheck (
id int(10) unsigned NOT NULL AUTO_INCREMENT,
order_no varchar(255) NOT NULL COMMENT ‘海关请求参数:orderNo’,
session_id varchar(255) NOT NULL COMMENT ‘海关请求参数:sessionID’,
status tinyint(1) unsigned NOT NULL COMMENT ‘检查状态:0待上报,1上报成功,2上报失败’,
add_time datetime NOT NULL COMMENT ‘添加时间’,
back_time datetime NOT NULL COMMENT ‘回调时间’,
PRIMARY KEY (id)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
上面的sql是mysql的,sqlserver及其他数据库供参照

1.接口1开发,保存查询数据。

策略是按照订单号覆盖,一个订单号只保留最近一次查询,应验证订单号是否有效,有效才存入数据库,无效的订单号应该抛弃,不入库,对应>>http://wyb.qdhuaxun.cn/179/zhongji.php第一步
select * from paycheck where order_no = “order_no” ;
if(exists){
update paycheck set session_id = “session_id”,add_time =“now”,status = 0 where order_no = “order_no”
}else{
insert into paycheck (order_no,session_id,add_time) values (“order_no”,“session_id”,“now”)
}

//$order_no: 海关请求参数:orderNo

//$session_id: 海关请求参数:sessionID

//$now: 当前时间,1900-01-01 08:00:00(格式)

2.接口2:下发任务

从paycheck表读出最新15条待检查数据,根据格式要求组装数据返回加签客户端,数据需要在>>http://wyb.qdhuaxun.cn/179/zhongji.php第二步检查通过

select order_no, session_id from paycheck where status = 0 order by add_time desc limit 0,15

通过订单号order_no查询订单表,支付原始请求表和支付报关返回表组装json数据返回

3.接口3:处理回调结果

加签客户端在完成海关上报后会回调电商平台,按照>>http://wyb.qdhuaxun.cn/179/zhongji.php第三步数据格式回调,电商平台应接收处理回调数据

update paycheck set status = status,add_time =“now” where order_no = “order_no”

//$status: 1.成功, 2.失败

//$now: 当前时间,1900-01-01 08:00:00(格式)

posted @ 2021-02-01 08:33  weixin_alexyu01  阅读(264)  评论(0)    收藏  举报