首页 > 编程问答 >向 ZATCA 提交简化发票时出现“生产 CSID 不涵盖简化文档”错误

向 ZATCA 提交简化发票时出现“生产 CSID 不涵盖简化文档”错误

时间:2024-07-25 16:28:47浏览次数:16  
标签:python csr

我正在尝试使用zatca sdk使用我们的公司信息以及有效的增值税号和Fatoora“123345”提供的默认OTP来生成CSR,然后我可以生成CSID和PCSID,我还使用CSID证书签署发票并生成它的哈希值和二维码,我提交给合规性并通过了,但是当尝试使用 PCSID 进行身份验证和 CSID 或 PCSID 进行签名将其提交到报告时,它也总是显示:

{
  "res": {
    "validationResults": {
      "infoMessages": [
        {
          "type": "INFO",
          "code": "XSD_ZATCA_VALID",
          "category": "XSD validation",
          "message": "Complied with UBL 2.1 standards in line with ZATCA specifications",
          "status": "PASS"
        }
      ],
      "warningMessages": [],
      "errorMessages": [
        {
          "type": "ERROR",
          "code": "certificate-permissions",
          "category": "CERTIFICATE_ERRORS",
          "message": "Production CSID does not cover Simplified documents",
          "status": "ERROR"
        }
      ],
      "status": "ERROR"
    },
    "reportingStatus": "NOT_REPORTED"
  }
}

code为了提交报告

def reporting_API(uuid1, hash_value, signed_xmlfile_name, invoice_number, sales_invoice_doc ):
    sdk_settings = SDKSettings.objects.get(id=0)
    payload = load_api_request()
    headers = {
        "accept": "application/json",
        "accept-language": "en",
        "Clearance-Status": "1",
        "Accept-Version": "V2",
        "Authorization": "Basic" + sdk_settings.basic_auth_production,
        "Content-Type": "application/json",
        "Cookie": "TS0106293e=0132a679c0639d13d069bcba831384623a2ca6da47fac8d91bef610c47c7119dcdd3b817f963ec301682dae864351c67ee3a402866",
    }
    response = requests.request(
        "POST",
        url=get_API_url(base_url="invoices/reporting/single"),
        headers=headers,
        data=payload,
    )

我还将证书和私钥放在SDK数据证书文件夹中。

尝试使用CSID和PCSID,尝试使用该网站推荐的一些默认值,但没有帮助:| ||https://www.apizatca.com/post/resolving-product-csid-error-zatca-e-invoicing https://www.apizatca.com/post/resolving-production-csid-error-zatca-e-invoicing


遇到的错误“生产 CSID 不涵盖简化文档”表明用于签署简化发票的 CSID 证书不具备此类文档的权限。尽管似乎已正确生成和提交了发票,但的 CSID 证书可能是为标准发票而不是简化发票而配置的。

以下是可以解决此错误的步骤:

  1. 检查的 ZATCA 门户帐户:

    • 确保的帐户获准发出简化发票。
    • 验证是否已使用正确的证书类型请求了 CSID。应明确提及“简化发票”。
  2. 生成新的 CSID:

    • 如果的帐户设置正确,则生成一个新的 CSID 并明确请求其简化发票功能可能会有所帮助。
    • 使用此新 CSID 签署的简化发票。
  3. 联系 ZATCA 支持:

    • 如果问题仍然存在,请联系 ZATCA 支持部门以获得进一步的帮助。
    • 他们可以检查的帐户配置并提供有关解决错误的具体指导。

其他提示:

  • 仔细检查的 SDK 实现: 确保使用的是 SDK 的最新版本,并且的代码已正确配置为处理标准发票和简化发票。
  • 使用测试环境: 在将集成部署到生产环境之前,请在 ZATCA 的测试环境中彻底测试的集成。

通过执行这些步骤,应该能够解决“生产 CSID 不涵盖简化文档”错误并成功提交的简化发票。

标签:python,csr
From: 77890930

相关文章

  • 如何在Mac电脑上安装Python 2
    Python是一种高级编程语言,广泛应用于数据科学、网络开发、人工智能等领域。本文将介绍如何在Mac电脑上安装Python2,帮助初学者快速入门。一、下载Python2安装包在Python官网上下载Python2的安装包,网址为https://www.python.org/downloads/release/python-2718/ 。下载完......
  • 我的 python 抓取数据是空的,不确定我的代码出了什么问题
    我的结果是空的,不确定我的代码出了什么问题:这里是我的代码:#尝试从该网站获取数据https://www.watsons.com.sg/health/c/2100000?currentPage=1importrequestsfrombs4importBeautifulSoupimportpandasaspd#Settingdisplayoptionsforpandaspd.......
  • Chrome 浏览器更新后,我的 python tagui 代码工作不稳定。问题的解决方法是什么
    我编写了一个pythontagui脚本来在chrome中操作Intranet网页。它运行良好。但是在chrome浏览器更新后,脚本每次都会在某个时刻随机停止,并且也不会抛出错误。请帮忙。我尝试重新启动电脑,但这并没有解决问题。Chrome浏览器更新后,TagUI脚本工作不稳定的问题可能由以......
  • 如何从另一个文件运行 python 文件
    我正在尝试从另一个名为LoginOrReg的文件运行一个名为HabitTracker的python文件,但是当我这样做时,它会重新运行LoginOrReg文件。我已经尝试过这个classLoginOrReg:def__init__(self,db,cursor,login_username,data):self.db=mysql.connector.......
  • Python的字典和集合
    一、字典1.定义字典字典和列表虽然类似,但是字典是无序的可变序列,并且可以像查字典一样去查找。字典的元素都是成对出现的,每个元素都是由冒号“:”和键值对(“:”左边的称为键或者Key,“:”右边的称为值或者Value)构成的,用“{}”标识,元素之间用逗号“‘,”分隔。字典的键必须是唯一......
  • 在Python中字典是如何通过哈希表实现的以及哈希冲突是如何解决的
    哈希表(散列表)的工作原理哈希表是一种使用哈希函数组织数据,以支持快速插入和搜索的数据结构。它通过哈希函数将输入的键(key)映射到表中的一个位置(即索引或槽位),从而以接近常数时间复杂度进行查找、插入和删除操作。哈希表的基本工作流程如下:哈希函数:哈希函数接受一个输入(键),并......
  • python cobs协议编解码算法demo
    1.SummaryCOBS(ConsistentOverheadByteStuffing)是一种算法,直译为一致的开销字节填充。简而言之,无论数据包的内容如何,都能通过产生高效可靠明确的数据包帧,从而使接受端能够从损坏的包中恢复。通常使用0x00来作为数据包的分隔符,即切割数据包的片分隔符。当使用0x00作为......
  • 如何将unicode编码为字节,以便可以检索到原始字符串?在Python 3.11中
    在python3.11中,我们可以对字符串进行编码,如:string.encode('ascii','backslashreplace')这对于说:hellö=>hell\\xf6但是当我插入时hellöw\\xf6rldIgethell\\xf6w\\xf6rld(注意第二个有一个看起来像字符转义序列的文字部分)......
  • python flask允许跨域
    flask接口支持跨域设置方法在Flask中,可以通过安装flask-cors扩展来支持跨域请求。下面是使用flask-cors扩展的示例代码:fromflaskimportFlaskfromflask_corsimportCORS#ipinstallflask-corsapp=Flask(__name__)CORS(app)可以通过CORS扩展的origins参数......
  • 在 Python 中动态定义文字字符串排列的并集
    我有一个字符串列表:strings=['a','b','c']我想声明列表中所有可能的有序对的Union类型。硬编码,这看起来像:Literal我如何动态定义CustomType=Literal['ab','ac','aa','ba','bb','bc�......