arttiger/laravel-ubki

UBKI集成Laravel包

v1.1.0 2023-04-10 10:06 UTC

This package is auto-updated.

Last update: 2024-09-10 13:21:43 UTC


README

StyleCI Status Total Downloads Latest Stable Version License

乌克兰信用历史局 (УБКИ) 负责收集、存储、处理和提供信用历史。УБКИ从银行、保险公司、融资租赁公司、信贷合作社和其他金融机构获取借款人信息。信息基于自愿原则,并且仅在有借款人书面同意的情况下传输。

为了自动化与УБКИ的交互,存在一个 web-сервис,该服务接收请求,根据请求类型进行处理并返回响应。

此包允许您简单方便地与UBKI的web服务交互。

安装

使用composer安装包

$ composer require arttiger/laravel-ubki

接下来,您需要运行迁移

$ php artisan migrate

配置

为了编辑默认配置,您可以执行

php artisan vendor:publish --provider="Arttiger\Ubki\UbkiServiceProvider"

之后,将创建 config/ubki.php

环境

设置环境变量(.env

UBKI_TEST_MODE=true
UBKI_ACCOUNT_LOGIN=
UBKI_ACCOUNT_PASSWORD=
UBKI_AUTH_URL=https://secure.ubki.ua/b2_api_xml/ubki/auth
UBKI_REQUEST_URL=https://secure.ubki.ua/b2_api_xml/ubki/xml
UBKI_UPLOAD_URL=https://secure.ubki.ua/upload/data/xml
UBKI_TEST_AUTH_URL=https://secure.ubki.ua:4040/b2_api_xml/ubki/auth
UBKI_TEST_REQUEST_URL=https://secure.ubki.ua:4040/b2_api_xml/ubki/xml
UBKI_TEST_UPLOAD_URL=https://secure.ubki.ua:4040/upload/data/xml

用法

IntegratorUbki-trait 添加到包含客户数据的模型中

    use Arttiger\Ubki\Traits\IntegratorUbki;

    class Loan extends Model
    {
        use IntegratorUbki;
        ...
    }

config/ubki.php 中设置必要的映射变量

'model_data' => [
  'okpo'  => 'inn',           // ИНН
  'lname' => 'lastName',      // Фамилия
  'fname' => 'firstName',     // Имя
  'mname' => 'middleName',    // Отчество
  'bdate' => 'birth_date',    // Дата рождения (гггг-мм-дд)
  'dtype' => 'passport_type', // Тип паспорта (см. справочник "Тип документа")
  'dser'  => 'passport_ser',  // Серия паспорта или номер записи ID-карты
  'dnom'  => 'passport_num',  // Номер паспорта или номер ID-карты
  'ctype' => 'contact_type',  // Тип контакта (см. справочник "Тип контакта")
  'cval'  => 'contact_val',   // Значение контакта (например - "+380951111111")
  'foto'  => 'foto',          // <base64(Фото)>
],

此映射建立了您的模型属性与UBKI所需查询字段之间的对应关系。

在类中添加新的方法 ubkiAttributes(),以添加必要的属性并填充数据

    use Arttiger\Ubki\Traits\IntegratorUbki;

    class Loan extends Model
    {
        use IntegratorUbki;
        ...
        
        public function ubkiAttributes($params = [])
        {
            $client_data = json_decode($this->attributes['client_data']);
            $this->attributes['inn']        = trim($client_data->code); 
            $this->attributes['lastName']   = trim($client_data->lastName); 
            ...
        }
    }

您可以使用其他方法来创建在 'model_data'config/ubki.php)中指定的自定义属性。

现在,您可以获取来自UBKI的数据

$loan = Loan::find(1); 
$result = $loan->ubki();

$result['response'] - UBKI的xml响应(标准报告)。

您也可以传递参数

$result = $loan->ubki($params);
  • $params['report'] - 报告别名,如果您需要其他报告;
  • $params['request_id'] - 您的请求ID(如果需要);
  • $params['lang'] - 搜索语言;
  • $params['delete_all_history'] - 如果您想删除所有历史记录,则设置为true;

您可以发送贷款数据到UBKI

$result = $loan->ubki_upload($params);

$params 将传递到模型的 ubkiAttributes() 方法中。

为了在账户间切换,您应该在params中添加

  • 选择第二个账户
$params = [
    'test' => false,
    'use_second_account_login' => true
];
  • 选择主要账户
$params = [
    'test' => false,
    'use_second_account_login' => false
];

如果您没有选择要使用的账户,则将执行最后使用的账户。

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

安全

如果您发现任何安全问题,请通过作者电子邮件联系,而不是使用问题跟踪器。

致谢

Volodymyr Farylevych

许可证

请参阅许可证文件以获取更多信息。