mohdnazrul/laravel-cbm

此包已被废弃且不再维护。作者建议使用 laravel-cbm 包。

从CBM - 马来西亚信用局系统提取报告的库

v1.0.5 2018-05-28 08:50 UTC

This package is auto-updated.

Last update: 2024-03-04 04:35:12 UTC


README

此库允许查询CBM - CREDIT BUREAU MALAYSIA - B2B API的注册用户。

您需要提供给您以调用API的访问详情。关于数据数组/XML中的确切参数,请参考您的离线文档。

如果您不知道这一切是什么,那么您可能不需要或想要这个库。

配置

.env文件

目前通过.env文件进行配置允许设置以下变量

可用函数

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')
];