artjoker / laravel-ubki
UBKI集成包
v5.0
2024-01-24 17:06 UTC
Requires
- php: ^7.2|^8.1
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- mockery/mockery: ^1.1|^1.6
- orchestra/testbench: ^4.0|^5.0|^6.0|^7.0|^8.0
- phpunit/phpunit: ^7.5|^8.0|^9.0
- sempro/phpunit-pretty-print: ^1.0|^1.4
README
乌克兰信贷历史局(УБКИ)负责收集、存储、处理和提供信贷历史。乌БКИ从银行、保险公司、租赁公司、信贷合作社和其他金融机构获取借款人信息。信息是自愿提供的,并且只有当借款人书面同意时才会提供。
为了自动化与乌БКИ的交互,存在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)。有关更多信息,请参阅许可证文件。