vinicius-noleto/bb-api-cobranca

专注于BB Cobrança API的PHP类

dev-main 2023-06-23 16:37 UTC

This package is auto-updated.

Last update: 2024-09-23 20:50:11 UTC


README

利用率

    $bb = new ViniciusNoleto\BB_API_COBRANCA\BB(
        'app_key',
        'basic',
        'pix_key',
        'convenio',
        'company_id', // CNPJ or Febraban
        'segment_number',
        'T'
    );

    $created_pix_info = $bb->createPIX(
        'Pix Teste',
        [
            'Via_Cobranca_Value' => 'value',
            'Via_Cobranca_ID' => 'id',
            'Cobrado_Name' => 'name',
            'Cobrado_ID' => 'id',
            'Cobrado_Contact' => 'contact'
        ]
    );

    print_r($created_pix_info);


问题

修改和获取请求

我遇到了修改和获取收费途径信息的请求问题。这个问题不仅仅出现在BB类中,当我尝试在Insomnia中测试该路由时也出现了。

我在修改请求和获取“vias de vobrança”信息的请求上遇到了问题。这个问题不仅出现在BB类中,而且在我尝试在Insomnia中测试该路由时也出现了。

条形码

我遇到了生成的条形码问题。我阅读了Febraban关于条形码的完整手册,看起来似乎是正确的。我测试了其他条形码生成代码,它们给出了相同的结果,因此我相信我的逻辑是正确的,但当我尝试使用这个条形码创建一个Pix(无论是在BB类还是在Insomnia中)时,由于条形码无效而出现错误。

我遇到了生成的条形码问题。我阅读了Febraban关于条形码的完整手册,看起来似乎是正确的。我测试了其他条形码生成代码,它们给出了相同的结果,因此我相信我的逻辑是正确的,但当我尝试使用这个条形码创建一个Pix(无论是在BB类还是在Insomnia中)时,由于条形码无效而出现错误。



类文档 pt-br

For the eng-us version go further in the readme

类缓存

这个类负责处理文件的缓存存储。

方法

  • getFileName() (String): 根据提供的路由和名称获取完整文件名。

    • route (String): 文件的路径。
    • name (String): 文件的名称。
  • fileValidTime() (Bool): 根据时间限制检查缓存文件是否仍然有效。

    • file (String): 完整的文件名。
    • limit (Int): 以秒为单位的时间限制。
  • storeCache() (Mixed): 在指定的文件中存储缓存内容。

    • file (String): 完整的文件名。
    • content (Mixed): 要存储在缓存中的内容。
  • getFile() (Mixed): 获取指定文件的缓存内容。

    • file (String): 完整的文件名。
  • getCache() (Mixed): 根据路由和文件名称获取缓存内容。

    • route (String): 文件的路径。
    • name (String): 文件的名称。
    • limit (Int): 以秒为单位的时间限制。
    • content (Mixed): 如果需要,存储在缓存中的内容。
  • getConditionalCache() (Mixed): 根据路由、文件名称和条件函数有条件地获取缓存内容。

    • route (String): 文件的路径。
    • name (String): 文件的名称。
    • limit (Int): 以秒为单位的时间限制。
    • function (Callable): 在缓存失败时执行以获取内容的函数。
    • error_case (Callable): 评估响应是否为错误情况的函数。

类Api

这个类提供了执行API调用和获取数据的方法。

方法

  • postFieldsEncode(): (String|Array): 根据指定的编码类型编码帖子字段。

    • encode (String): 编码类型,可以是“json”或“x-www-form-urlencoded”。
    • input (Array): 需要编码的帖子字段。
  • RUN(): (Array): 使用cURL执行API调用。

    • link (String): API链接。
    • method (String, 可选): 请求方法,默认为 "GET"。
    • headers (Array, 可选): 请求头,默认为一个空数组。
    • post (Array, 可选): 请求帖子字段,默认为一个空数组。
    • send_type (String, 可选): 数据发送类型,可以是 "json" 或 "x-www-form-urlencoded",默认为 "json"。
    • timeout (Int, 可选): 请求超时时间(秒),默认为 180。
  • getOAuth(): (?Array): 使用Cache类条件性地获取OAuth令牌。

    • route (String): 获取OAuth令牌的API路由。
    • authorization (String): 用于认证的授权字符串。
    • grant_type (String): OAuth令牌的授权类型。
    • scope (String): OAuth令牌的作用域。
    • limit (Int, 可选): 令牌在缓存中保持的时间(秒),默认为 475。

类BB

负责与巴西银行API交互的类。

属性

  • const BASIC_P_ROUTE: 生成环境的基路径。
  • const BASIC_T_ROUTE: 测试环境的基路径。
  • const ARRECADACAO_ROUTE: QR码收款的路径。
  • APP_KEY: 应用程序密钥。
  • BASIC: 基础密钥。
  • PIX_KEY: PIX密钥。
  • CONVENIO: 协议。
  • COMPANY_ID: 公司ID。
  • AMBIENT: 环境。
  • SEGMENT: 段。

方法

  • __construct(APP_KEY, BASIC, PIX_KEY, CONVENIO, COMPANY_ID, SEGMENT, AMBIENT = 'T'): BancoDoBrasilAPI类的构造函数。

    • APP_KEY (String): 应用程序密钥。
    • BASIC (String): 基础密钥。
    • PIX_KEY (String): PIX密钥。
    • CONVENIO (String): 协议。
    • COMPANY_ID (String): 公司ID。
    • SEGMENT (String): 段。
    • AMBIENT (String): 环境(默认: 'T')。
  • setAppKey(APP_KEY) (Void): 设置应用程序密钥。

    • APP_KEY (String): 应用程序密钥。
  • setBasic(BASIC) (Void): 设置基础密钥。

    • BASIC (String): 基础密钥。
  • setPixKey(PIX_KEY) (Void): 设置PIX密钥。

    • PIX_KEY (String): PIX密钥。
  • setConvenio(CONVENIO) (Void): 设置协议。

    • CONVENIO (String): 协议。
  • validateCNPJ(CNPJ) (Void): 验证CNPJ。

    • CNPJ (String): 要验证的CNPJ。
  • validateFebranID(FEBRAN) (Void): 验证Febran ID。

    • FEBRAN (String): 要验证的Febran ID。
  • setCompanyID(COMPANY_ID) (Void): 设置公司ID。

    • COMPANY_ID (String): 公司ID。
  • setSegment(AMBIENT) (Void): 设置环境。

    • AMBIENT (String): 环境。
  • setAmbient(SEGMENT) (Void): 设置段。

    • SEGMENT (String): 段。
  • getAmbientRoute() (String): 获取当前环境的路径。

  • getOAuth() (String): 返回OAuth认证令牌。

    • scope (String): 认证令牌的作用域(默认: 'pix.arrecadacao-requisicao pix.arrecadacao-info')。
  • getBarCodeMod10ValidateNumber() (String): 使用模10返回条形码验证码。

    • bar (String): 要验证的条形码。
  • getBarCode() (String): 从收费值和ID返回条形码。

    • valor (Float): 收费值。
    • id (Int): 收费ID。
  • validateDebtInfo() (Mixed): 验证债务信息。

    • debt_info (Array): 债务信息。
    • needed (Array): 债务信息中必填字段。
  • SEND() (Mixed): 向征收API发送请求。

    • link (String): 请求链接。
    • method (String): 请求的HTTP方法。
    • title (String): 请求标题。
    • debt_info (Array): 债务信息。
    • exp (Int): 以秒为单位的过期时间(默认:0)。
  • RECIVE() (Mixed): 发送请求到征收API并接收响应。

    • link (String): 响应链接。
    • method (String): 响应的HTTP方法。
    • debt_info (Array): 债务信息。
  • requestPix() (Mixed): 对征收API执行Pix请求。

    • funciton (Callable): 执行Pix请求的函数。
  • createPIX() (Mixed): 创建Pix交易。

    • title (String): 交易标题。
    • debt_info (Array): 债务信息。
  • modifyPIX() (Mixed): 修改Pix交易。

    • title (String): 交易标题。
    • debt_info (Array): 债务信息。
    • exp (Int): 以秒为单位的过期时间。
  • getPIX() (Mixed): 获取Pix交易信息。

    • debt_info (Array): 债务信息。

异常

  • set 方法在值无效时可能会抛出异常。
  • validateDebtInfo 方法在债务信息不完整时可能会抛出异常。


类文档 eng-us (由chat-gpt翻译)

类缓存

此类负责处理文件缓存。

方法

  • getFileName() (String): 根据提供的路由和名称检索完整的文件名。

    • route (String): 文件路由。
    • name (String): 文件名。
  • fileValidTime() (Bool): 根据时间限制检查缓存的文件是否仍然有效。

    • file (String): 完整的文件名。
    • limit (Int): 以秒为单位的时间限制。
  • storeCache() (Mixed): 将缓存内容存储到指定的文件中。

    • file (String): 完整的文件名。
    • content (Mixed): 要存储在缓存中的内容。
  • getFile() (Mixed): 从指定的文件中检索缓存内容。

    • file (String): 完整的文件名。
  • getCache() (Mixed): 根据文件路由和名称检索缓存内容。

    • route (String): 文件路由。
    • name (String): 文件名。
    • limit (Int): 以秒为单位的时间限制。
    • content (Mixed): 如有需要,要存储在缓存中的内容。
  • getConditionalCache() (Mixed): 根据文件路由、名称和条件函数有条件地检索缓存内容。

    • route (String): 文件路由。
    • name (String): 文件名。
    • limit (Int): 以秒为单位的时间限制。
    • function (Callable): 在缓存失败的情况下检索内容时要执行的函数。
    • error_case (Callable): 评估响应是否为错误情况的函数。

类Api

此类提供了进行API调用和检索数据的方法。

方法

  • postFieldsEncode(): (String|Array):根据指定的编码类型编码POST字段。

    • encode (String):编码类型,可以是“json”或“x-www-form-urlencoded”。
    • input (Array): 要编码的帖子字段。
  • RUN(): (Array): 使用cURL执行API调用。

    • link (String): API链接。
    • method (String, 可选): 请求方法,默认为"GET"。
    • headers (Array, 可选): 请求头,默认为空数组。
    • post (Array, 可选): 请求POST字段,默认为空数组。
    • send_type (String, 可选): 数据提交类型,可以是"json"或"x-www-form-urlencoded",默认为"json"。
    • timeout (Int, 可选): 请求超时时间(秒),默认为180。
  • getOAuth(): (?Array): 使用Cache类有条件地检索OAuth令牌。

    • route (String): 检索OAuth令牌的API路由。
    • authorization (String): 认证授权字符串。
    • grant_type (String): OAuth令牌的授权类型。
    • scope (String): OAuth令牌的作用域。
    • limit (Int, 可选): 缓存令牌的时间限制(秒),默认为475。

类BB

负责与巴西银行API交互的类。

属性

  • const BASIC_P_ROUTE: 生产环境的基路由。
  • const BASIC_T_ROUTE: 测试环境的基路由。
  • const ARRECADACAO_ROUTE: 二维码收款路由。
  • APP_KEY: 应用程序密钥。
  • BASIC: 基密钥。
  • PIX_KEY: PIX密钥。
  • CONVENIO: 协议。
  • COMPANY_ID: 公司ID。
  • AMBIENT: 环境。
  • SEGMENT: 段。

方法

  • __construct(APP_KEY, BASIC, PIX_KEY, CONVENIO, COMPANY_ID, SEGMENT, AMBIENT = 'T'): BancoDoBrasilAPI类的构造函数。

    • APP_KEY (String): 应用程序密钥。
    • BASIC (String): 基密钥。
    • PIX_KEY (String): PIX密钥。
    • CONVENIO (String): 协议。
    • COMPANY_ID (String): 公司ID。
    • SEGMENT (String): 段。
    • AMBIENT (String): 环境(默认: 'T')。
  • setAppKey(APP_KEY) (Void): 设置应用程序密钥。

    • APP_KEY (String): 应用程序密钥。
  • setBasic(BASIC) (Void): 设置基本密钥。

    • BASIC (String): 基密钥。
  • setPixKey(PIX_KEY) (Void): 设置PIX密钥。

    • PIX_KEY (String): PIX密钥。
  • setConvenio(CONVENIO) (Void): 设置协议。

    • CONVENIO (String): 协议。
  • validateCNPJ(CNPJ) (Void): 验证CNPJ。

    • CNPJ (String): 要验证的CNPJ。
  • validateFebranID(FEBRAN) (Void): 验证Febran ID。

    • FEBRAN (String): 要验证的Febran ID。
  • setCompanyID(COMPANY_ID) (Void): 设置公司ID。

    • COMPANY_ID (String): 公司ID。
  • setSegment(AMBIENT) (Void): 设置环境。

    • AMBIENT (String): 环境。
  • setAmbient(SEGMENT) (Void): 设置段。

    • SEGMENT (String): 段。
  • getAmbientRoute() (String): 获取当前环境路由。

  • getOAuth() (String): 返回OAuth认证令牌。

    • scope (String): 认证令牌作用域(默认: 'pix.arrecadacao-requisicao pix.arrecadacao-info')。
  • getBarCodeMod10ValidateNumber() (String): 使用模10返回条形码的验证数字。

    • bar (String): 要验证的条形码。
  • getBarCode() (String): 从值和集合ID返回条形码。

    • valor (Float): 集合值。
    • id (Int): 集合ID。
  • validateDebtInfo() (Mixed): 验证债务信息。

    • debt_info (Array): 债务信息。
    • needed (Array): 债务信息中的必填字段。
  • SEND() (Mixed): 向集合API发送请求。

    • link (String): 请求链接。
    • method (String): 请求HTTP方法。
    • title (String): 请求标题。
    • debt_info (Array): 债务信息。
    • exp (Int): 秒数内的过期时间(默认:0)。
  • RECIVE() (Mixed): 向集合API发送请求并接收响应。

    • link (String): 响应链接。
    • method (String): 响应HTTP方法。
    • debt_info (Array): 债务信息。
  • requestPix() (Mixed): 向集合API发起Pix请求。

    • funciton (Callable): 执行Pix请求的函数。
  • createPIX() (Mixed): 创建Pix交易。

    • title (String): 交易标题。
    • debt_info (Array): 债务信息。
  • modifyPIX() (Mixed): 修改Pix交易。

    • title (String): 交易标题。
    • debt_info (Array): 债务信息。
    • exp (Int): 秒数内的过期时间。
  • getPIX() (Mixed): 获取Pix交易信息。

    • debt_info (Array): 债务信息。

异常

  • 如果值无效,set方法可能会抛出异常。
  • 如果债务信息不完整,validateDebtInfo方法可能会抛出异常。