关于海关179公共的加签数据上报海关 的{"code":"20005","message":"验签失败","total":0,"serviceTime":} 解决办法

js加签一般都没有问题,我就是加签之后上传的问题弄了两个礼拜,最后弄清楚了。
以下是数据上报海关方法,我用的是.net的web方式:
1.添加三个引用,见dll文件夹。
2.加载我写的类:两个cs文件(放到web目录下),修改一下179report.cs里面的参数,有参数说明
3.组织上报数据实体格式如下
  public class payExchangeInfoLists
        {
            public string orderNo { get; set; }//String  订单编号
            public List<goodsInfo> goodsInfo { get; set; }// List 商品信息
            public string recpAccount { get; set; }// String  收款账号
            public string recpCode { get; set; }//   String 收款企业代码
            public string recpName { get; set; }// String  收款企业名称

        }
        public class goodsInfo
        {
            public string gname { get; set; }// String  商品名称
            public string itemLink { get; set; }//    String 商品展示链接地址

        }
        public class payExchangeInfoHead
        {
            public string guid { get; set; }// String  系统唯一序号
            public string initalRequest { get; set; }//   String 原始请求
            public string initalResponse { get; set; }// String  原始响应
            public string ebpCode { get; set; }// String 电商平台代码
            public string payCode { get; set; }//  String  支付企业代码
            public string payTransactionId { get; set; }//    String 交易流水号
            public double totalAmount { get; set; }// double 交易金额
            public string currency { get; set; }// String  币制
            public string verDept { get; set; }//  String 验核机构
            public string payType { get; set; }// String  支付类型
            public string tradingTime { get; set; }// String 交易成功时间
            public string note { get; set; }// String  备注

        }
        public class payExInfoStr
        {
            public string sessionID { get; set; }// string Y   In 海关发起请求时,平台接收的会话ID。
            public payExchangeInfoHead payExchangeInfoHead { get; set; }// String  Y In  支付原始数据表头
            public List<payExchangeInfoLists> payExchangeInfoLists { get; set; }// List Y   In 支付原始数据表体
            public string serviceTime { get; set; }// Long    Y In  返回时的系统时间
            public string certNo { get; set; }// String Y   In 证书编号
            public string signValue { get; set; }// String  Y In  签名结果值
        }
4.调用方法:
按照上面格式建立实体,并初始化为data,调用一下方法
 var reporter = new _179report.CustomsPaymentReport();
CustomsReportHost.AsyncHelper.RunSync(() => reporter.Report(data));//data是数据实体
 

 

代码分享如下:

https://download.csdn.net/download/solososoloso/11138493

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
/api/USB 接口地址 常见错误结果和解决方法: 下面凑字数 {“code”:“20004”,“message”:“企业实时数据获取证书未在服务系统注册”,“total”:0,“serviceTime”:1500000000000} 得到这个结果,说明证书没有注册,测试环境联系管理员,生产环境需要到单一窗口去注册上传。如果已经上传了的,去看看你填的ebpCode是否是你自己的。 {“code”:“20000”,“message”:“上传失败 java.lang.IllegalStateException: xxxx这里是错误信息内容”,“total”:0,“serviceTime”:1500000000000} 这个错误说明上传的数据格式不对,海关系统无法解析,注意看看是否有字段类型或者格式错误,也注意看具体看错误内容,一般都有提示。 {“code”:“20005”,“message”:“失败”,“total”:0,“serviceTime”:1500000000000} 得到这个信息,说明上传的内容格式没问题了,失败,可能过程不对,一般都是字符串或者格式不对导致的,相见部分的细节,注意比对内容的格式和样例是否一致。另外也要看看用得证书什么的有没有问题。 {“code”:“20006”,“message”:“上传失败,入库失败 java.sql.SQLException: ORA-00001: 违反唯一约束条件 (sessionID重复)”,“total”:0,“serviceTime”:1500000000000} 得到这个消息,恭喜你,测试基本成功了:成功、数据格式没有问题了,接下来就可以自己生成模拟数据去测试了。 {“code”:“10000”,“message”:“上传成功”,“total”:0,“serviceTime”:1500000000000} 恭喜,测试成功。
js一般都没有问题,我就是之后上传的问题弄了两个礼拜,最后弄清楚了。 以下是数据上报海关方法,我用的是.net的web方式: 1.添三个引用,见dll文件夹。 2.载我写的类:两个cs文件(放到web目录下) 3.组织上报数据实体格式如下 public class payExchangeInfoLists { public string orderNo { get; set; }//String 订单编号 public List goodsInfo { get; set; }// List 商品信息 public string recpAccount { get; set; }// String 收款账号 public string recpCode { get; set; }// String 收款企业代码 public string recpName { get; set; }// String 收款企业名称 } public class goodsInfo { public string gname { get; set; }// String 商品名称 public string itemLink { get; set; }// String 商品展示链接地址 } public class payExchangeInfoHead { public string guid { get; set; }// String 系统唯一序号 public string initalRequest { get; set; }// String 原始请求 public string initalResponse { get; set; }// String 原始响应 public string ebpCode { get; set; }// String 电商平台代码 public string payCode { get; set; }// String 支付企业代码 public string payTransactionId { get; set; }// String 交易流水号 public double totalAmount { get; set; }// double 交易金额 public string currency { get; set; }// String 币制 public string verDept { get; set; }// String 核机构 public string payType { get; set; }// String 支付类型 public string tradingTime { get; set; }// String 交易成功时间 public string note { get; set; }// String 备注 } public class payExInfoStr { public string sessionID { get; set; }// string Y In 海关发起请求时,平台接收的会话ID。 public payExchangeInfoHead payExchangeInfoHead { get; set; }// String Y In 支付原始数据表头 public List payExchangeInfoLists { get; set; }// List Y In 支付原始数据表体 public string serviceTime { get; set; }// Long Y In 返回时的系统时间 public string certNo { get; set;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值