海关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(格式)
                    
                
                
            
        
浙公网安备 33010602011771号