mohdnazrul / laravel-cbm
此包已被废弃且不再维护。作者建议使用 laravel-cbm 包。
从CBM - 马来西亚信用局系统提取报告的库
v1.0.5
2018-05-28 08:50 UTC
Requires
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- illuminate/support: 5.4.*
- phpunit/phpunit: ^7.0.2
README
此库允许查询CBM - CREDIT BUREAU MALAYSIA - B2B API的注册用户。
您需要提供给您以调用API的访问详情。关于数据数组/XML中的确切参数,请参考您的离线文档。
如果您不知道这一切是什么,那么您可能不需要或想要这个库。
配置
.env文件
目前通过.env文件进行配置允许设置以下变量
- CBM_URL='http://api.endpoint/url/'
- CBM_USERNAME=demouser
- CBM_PASSWORD=demoPassword
可用函数
CBM::generateXMLFromArray($data)
此函数接受CBM API的选项数组,并生成可以通过API调用提交的XML代码。示例
// This is for Commercial Format [ 'SystemID' => 'SCBS', 'Service' => 'My Company Name', 'ReportType' => 'CCR-II', 'MemberID' => '1234567', 'UserID' => '1234567', 'ReqNo' => '', 'SequenceNo' => '001', 'ReqDate' => '05/04/2018', 'PurposeStdCode' => 'CREREV', 'CostCenterStdCode' => '', 'ConsentFlag' => '', 'Subject' => [ 'RegNo' => 'X1234', 'RegName' => 'ABC Sdn Bhd', 'DateBR' => '11/2/1988', 'ConstitutionTypeStdCode' => '24', 'BusinessCouCodeStdCode' => '', 'BusinessStaCodeStdCode' => '', 'EntityCode' => '4130740', 'TradeEntityCode' => '' ] ] // This is for Consumer Format [ 'SystemID' => 'SCBS', 'Service' => 'SMEDTLRPTS', 'ReportType' => 'CCR-II', 'MemberID' => '1234567', 'UserID' => '1234567', 'ReqNo' => '', 'SequenceNo' => '001', 'ReqDate' => '05/04/2018', 'PurposeStdCode' => 'CREREV', 'CostCenterStdCode' => '', 'ConsentFlag' => '', 'Subject' => [ 'IdNo1' => 'IC_NO', 'IdNo2' => 'OLD_IC/PASSPORT_NO', 'Name' => 'ABU BAKAR', 'Dob' => '31/12/1973', 'ConstitutionTypeStdCode' => '011', 'NationalityStdCode' => '', 'EntityCode' => '', 'TradeEntityCode' => '', 'Email' => '', 'MobileNo' => '', ] ]
将生成 // 这是为商业格式
<?xml version="1.0"?> <Request> <SystemID>SCBS</SystemID> <Service>SMEDTLRPTS</Service> <ReportType>CRR-II</ReportType> <MemberID>1234567</MemberID> <UserID>1234567</UserID> <ReqNo/> <SequenceNo>001</SequenceNo> <ReqDate>05/04/2018</ReqDate> <PurposeStdCode>CREREV</PurposeStdCode> <CostCenterStdCode/> <ConsentFlag/> <Subject> <RegNo>X1234</RegNo> <RegName>ABC Sdn Bhd</RegName> <DateBR>11/2/1988</DateBR> <ConstitutionTypeStdCode>24</ConstitutionTypeStdCode> <BusinessCouCodeStdCode/> <BusinessStaCodeStdCode/> <EntityCode>4130740</EntityCode> <TradeEntityCode/> </Subject> </Request>
// 这是为消费者格式
<?xml version="1.0"?> <Request> <SystemID>SCBS</SystemID> <Service>SMEDTLRPTS</Service> <ReportType>CRR-II</ReportType> <MemberID>1234567</MemberID> <UserID>1234567</UserID> <ReqNo/> <SequenceNo>001</SequenceNo> <ReqDate>05/04/2018</ReqDate> <PurposeStdCode>CREREV</PurposeStdCode> <CostCenterStdCode/> <ConsentFlag/> <Subject> <IdNo1>IC_NO</IdNo1> <IdNo2>OLD_IC/PASSPORT_NO</IdNo2> <Name>ABU BAKAR</Name> <Dob>31/12/1973</Dob> <ConstitutionTypeStdCode>011</ConstitutionTypeStdCode> <NationalityStdCode></NationalityStdCode> <EntityCode></EntityCode> <TradeEntityCode></TradeEntityCode> <Email></Email> <MobileNo></MobileNo> </Subject> </Request>
CBM::getReport($requestXML, $sendXML=true)
此函数尝试从CBM检索报告数据并返回XML响应;如果出现连接错误,则返回,
如果请求成功但查询导致数据相关错误,则返回的数组将包含以下字段
code : 包含从CBM接收的错误代码
error : 包含从CBM接收的错误消息
成功的请求返回请求报告的XML
可选参数 $sendXML
如果此参数设置为false,函数将返回数据作为关联数组。XML标签名称是数组的键,XML值显然是数组的数据
- 对于LARAVEL设置配置:-
composer require mohdnazrul/laravel-cbm
- 运行composer require mohdnazrul/laravel-cbm
.... 'providers'=> [ . MohdNazrul\CBMLaravel\CBMServiceProvider::class, . ], 'aliases' => [ . 'CBMApi' => MohdNazrul\CBMLaravel\CBMApiFacade::class, ' ],
- 在config/app.php中添加以下语法
php artisan vendor:publish --tag=cbm
- 按照以下方式进行发布
return [ 'serviceUrl' => env('CBM_URL','https://'), 'username' => env('CBM_USERNAME','username'), 'password' => env('CBM_PASSWORD','password') ];