php 海关对接 进口商品_GitHub - baishaok/haiguan: 海关对接 订单申报 php xml加签

这篇博客介绍了如何使用PHP进行海关进口订单的XML加签申报,包括CEB报文的使用、加签步骤、HTTP程序加签方法,以及处理过程中需要注意的问题,如公钥私钥格式转换和客户端配置。
摘要由CSDN通过智能技术生成

海关对接 订单申报 php xml加签

报文介绍

海关申报有进口申报和出口申报等,根据你的业务类型决定需要对接报文,具体可以咨询客服,本文是以进口订单申报来介绍报文加签申报的过程。

报文有两种:一种是CEB开头的这种是总署统一版的报文,例如:CEB311Message 这个是进口电子订单报文;还有一种是KJ开头的这种是公共平台的报文,例如:KJ881111,这个也是进口电子订单报文。

这两种报文都能实现申报电子订单的申报,建议还是选择CEB格式的报文,这个是新版的报文,KJ好像是老版的,对接群里有用KJ报文对接三单对碰有问题转CEB的,所以最好还是用CEB报文。本文的加签也是用CEB报文来加签的。

加签申报步骤

报文申报分两步:第一步是报文加签推送到公共平台,第二步是在在第一步的基础上加海关签来申报。

第一步的报文加签:

海关提供两种加签方式:一种是用他们提供的客户端加签申报;另一种是使用http程序来加签申报。本文是介绍http程序加签申报的。

这个客户端即可以给第一步的报文加签,也可以给第二步的报文加海关签,具体的客户端配置可以看文档,是以报文文件形式来处理的,不如http程序加签灵活。

第二步的海关加签:

配置好海关的客户端插上UKEY,运行客户端,客户端会自动下载你第一步提交到公共平台的报文文件,自动加海关签申报,所以给报文加海关签是不需要我们处理的。当然你也可以用加密机来加海关签,这个要申请的。

加海关签其实也是给报文加签,只不过用的客户端来加签。原理我猜测也是用公钥私钥加签,公钥私钥集成在UKEY中,所以海关签必须用海关提供的客户端或是加密机。

http程序加签

生成对应类型报文,注意一定要按照海关提供的格式来,稍有不同就不对。我的例子是生成的CEB311Message的订单报文是"./xml/CEB311Message.xml"。

转成http申报格式,具体见'./xml/unsigned-ceb.xml',这个是待加签文件。

对待加签内容加签,加签后的文件是'./xml/signed-ceb.xml'。

采用post 方式提交到公共平台。返回的结果只是提交的情况,申报成功与否还要看公共平台的回执信息。

加签说明

海关提供的是java用的pkcs8格式的公钥私钥,要转换成php用的pkcs1格式的公钥私钥。

转换命令:

私钥 openssl rsa -inform DER -in privatekey.key -outform PEM -out privatekey.pem

公钥 openssl rsa -inform DER -in publickey.key -pubin -outform PEM -out publickey.pem

key目录下的privatekey.key、publickey.key 是海关提供的测试环境的pkcs8格式的私钥公钥,privatekey.pem、publickey.pem是我转换后的pkcs1格式私钥公钥。

加签示例运行index.php 文件即可,配置的是测试环境的参数。

测试环境不能加海关签,到http程序申报成功就可以了。正式环境只需要更改参数,更换公钥私钥,开启客户端就行。

注意问题

客户端配置要注意密码,一般有个初始密码,也可以更改。这个一定要配置对,配置错了客户端启动几次会锁卡,好像是4次吧;锁卡后就要到发卡处解卡,解卡费260,别问我是怎么知道的,掉进去过。

查看申报状态可以去公共平台的测试环境查看,状态是转发成功表示提交到公共平台成功了;状态是无需转发表示报文编号或是订单号已经申报过,想要在测试就要更改订单号和报文编号(guid)。

海关加签其实也是给'./xml/CEB311Message.xml'的内容加签,只不过是由客户端来加签,所以http程序加签里是不用对这个文件的内容加签的。

后记

本人对接海关时,也是苦于海关没有提供php加签的demo,在网上查找了好多资料,花了好多的精力才解决的;如果你觉得本文有用,欢迎star,让更多的人能搜到,解决加签的问题。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值