artjoker/laravel-ubki

v5.0 2024-01-24 17:06 UTC

README

Latest Version on Packagist Total Downloads

乌克兰信贷历史局(УБКИ)负责收集、存储、处理和提供信贷历史。乌БКИ从银行、保险公司、租赁公司、信贷合作社和其他金融机构获取借款人信息。信息是自愿提供的,并且只有当借款人书面同意时才会提供。

为了自动化与乌БКИ的交互,存在web-сервис,它接受请求、处理并根据请求类型提供响应。

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

迁移到版本3

在这个版本中,我们添加了使用两个UBKI账户的可能性。

要使用此功能,您应更新您的配置文件并添加新的迁移。

在发布配置之前,您应删除以前的配置文件。

$ php artisan vendor:publish --tag="laravelubki.config"
$ php artisan vendor:publish --tag="laravelubki.migrations"

接下来,您需要运行迁移

$ php artisan migrate

添加环境变量(.env)

UBKI_SECOND_ACCOUNT_LOGIN=
UBKI_SECOND_ACCOUNT_PASSWORD=

为了在账户之间切换,您应在参数中添加

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

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

安装

您可以通过Composer安装此包

$ composer require artjoker/laravel-ubki

接下来,您需要运行迁移

$ php artisan migrate

设置环境变量(.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 Artjoker\LaravelUbki\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 Artjoker\LaravelUbki\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()方法。

变更日志

有关最近更改的更多信息,请参阅变更日志

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件