定制 cyborgfinance/fcaregisterlaravel 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

cyborgfinance/fcaregisterlaravel

Composer 安装命令:

composer require cyborgfinance/fcaregisterlaravel

包简介

Financial Conduct Authority (FCA) API Client Library for Laravel.

README 文档

README

Latest Version on Packagist Total Downloads

Financial Conduct Authority (FCA) API Client Library wrapper for Laravel.

The Financial Services Register

The online Financial Services Register (FS Register) is a public record of financial services firms, individuals and other bodies regulated by the FCA.

The online FS Register provides an online search for firms that are or have been regulated by the FCA. It also allows users to search for businesses that are or have been registered with the FCA under the FSMA, the Money Laundering Regulations 2007, the Payment Services Regulations 2009, and the Electronic Money Regulations 2011. Access to the online FS Register is free; it is suitable for ad-hoc searches for authorised and registered firms and individuals.

The Financial Services Register API Service

The FCA API is a new service offered by the Financial Conduct Authority, its in early stages with limited data points. You will first need to Register an Account to get an API Key.

It is a RESTful API based on HTTPS requests and JSON responses, requiring an API username and key for authentication.

The FS Register API currently sets a maximum limit of 10 requests per 10 seconds, which is periodically subject to change.

The FCA offers support for use of the API at RegisterAPISupport@fca.org.uk they will not provide support for use of this 3rd party package.

Installation

This a a Laravel wrapper for the FCA API, you will need a Laravel application to use this package.

1 - Install the Package

You can install the package via composer:

composer require cyborgfinance/fcaregisterlaravel

Add the following to your Environment File:

2 - Add FCA API Credentials to your .env file

FCA_EMAIL="your@email.com"
FCA_KEY="YOUR_FCA_API_KEY"

3 - (optional) Publish the config file

php artisan fcaapi:install

This is the contents of the published config file:

return [
  'email' => env('FCA_EMAIL', 'your@email.com'), // FCA API Email Address
  'key' => env('FCA_KEY', 'YOUR_FCA_API_KEY'), // FCA API KEY
  'api_version' => '0.1', // FCA API VERSION
  'api_url' => 'https://register.fca.org.uk/services/', // FCA API URL
  'api_timeout' => 5, // FCA API TIMEOUT in seconds
];

Usage

namespace App\Http\Controllers;
use Cyborgfinance\Fcaregisterlaravel\Fcaapi;

class Testing extends Controller {

    public function __invoke(Request $request){

      $fcaFrnNumber = 919921; //FCA Firm Reference Number (FRN)

      $fcaApi = new Fcaapi();
      $result = $fcaApi->firmDetails($fcaFrnNumber)->json(); //Queries FCA Register

      dd($result); // Outputs Array

    }
}

or

namespace App\Http\Controllers;
use Cyborgfinance\Fcaregisterlaravel\Fcaapi;

class Testing extends Controller {

    public function __invoke(Request $request){

      $fcaFrnNumber = 919921; //FCA Firm Reference Number (FRN)

      $result = Fcaapi::firmDetails($fcaFrnNumber)->json(); //Queries FCA Register

      dd($result); // Outputs Array

    }
}

Both of these examples will output:

array:4 [▼
  "Status" => "FSR-API-02-01-00"
  "ResultInfo" => array:3 [▼
    "page" => "1"
    "per_page" => "1"
    "total_count" => "1"
  ]
  "Message" => "Ok. Firm Found"
  "Data" => array:1 [▼
    0 => array:21 [▼
      "Name" => "https://register.fca.org.uk/services/V0.1/Firm/919921/Names"
      "Individuals" => "https://register.fca.org.uk/services/V0.1/Firm/919921/Individuals"
      "Requirements" => "https://register.fca.org.uk/services/V0.1/Firm/919921/Requirements"
      "Permission" => "https://register.fca.org.uk/services/V0.1/Firm/919921/Permissions"
      "Passport" => "https://register.fca.org.uk/services/V0.1/Firm/919921/Passports"
      "Regulators" => "https://register.fca.org.uk/services/V0.1/Firm/919921/Regulators"
      "Appointed Representative" => "https://register.fca.org.uk/services/V0.1/Firm/919921/AR"
      "Address" => "https://register.fca.org.uk/services/V0.1/Firm/919921/Address"
      "Waivers" => "https://register.fca.org.uk/services/V0.1/Firm/919921/Waivers"
      "Exclusions" => "https://register.fca.org.uk/services/V0.1/Firm/919921/Exclusions"
      "DisciplinaryHistory" => "https://register.fca.org.uk/services/V0.1/Firm/919921/DisciplinaryHistory"
      "System Timestamp" => "10/04/2021 15:49"
      "Exceptional Info Title" => ""
      "Exceptional Info Body" => ""
      "Status Effective Date" => "24/04/2020"
      "PSD Agent Status" => ""
      "PSD / EMD Status" => ""
      "Status" => "Authorised"
      "Business Type" => "Regulated"
      "Organisation Name" => "CYBORG FINANCE LIMITED"
      "FRN" => "919921"
    ]
  ]
]

FCA Register Lookup Methods

Company Records

//Get information about a specific firm using its Firm Reference Number
$request = Fcaapi::firmDetails($fcaFrnNumber);
//Get information about the Individuals associated with a firm using its Firm Reference Number
$request = Fcaapi::firmIndividuals($fcaFrnNumber);
//Get information about the other names used by the firms using its Firm Reference Number
$request = Fcaapi::firmName($fcaFrnNumber);
//Get information about the requirements associated with a specific firm using its Firm Reference Number
$request = Fcaapi::firmRequirements($fcaFrnNumber);
//Get information about the activities and permissions associated with a specific firm using its Firm Reference Number
$request = Fcaapi::firmPermissions($fcaFrnNumber);
//Get information about a passport details by using its Firm Reference Number
$request = Fcaapi::firmPassports($fcaFrnNumber);
//Get information about a passport permission by using its Firm Reference Number and Country
$request = Fcaapi::firmPassportCountry($fcaFrnNumber, $country);
//Get information about a regulator on a firm using its Firm Reference Number
$request = Fcaapi::firmRegulators($fcaFrnNumber);
//Get information about the Appointed Representatives associated with a firm using its Firm Reference Number
$request = Fcaapi::firmAppointedRepresentatives($fcaFrnNumber);
//Get information about a specific firm using its Firm Reference Number
$request = Fcaapi::firmAddress($fcaFrnNumber);
//Get information about a Waiver on a firm using it's Firm Reference Number
$request = Fcaapi::firmWaivers($fcaFrnNumber);
//Get information about an Exclusion on a firm using it's Firm Reference Number
$request = Fcaapi::firmExclusions($fcaFrnNumber);
//Get information about a DisciplinaryHistory on a firm using it's Firm Reference Number
$request = Fcaapi::firmDisciplinaryHistory($fcaFrnNumber);

Individual Records

//Get information about the Individuals associated with its Individual Reference Number
$request = Fcaapi::individualDetails($fcaIrnNumber);
//Get information about all the firms, the Individual has a control function using their Individual Reference Number
$request = Fcaapi::individualFunctions($fcaIrnNumber);

Search Records

//Search the FS register using this API
$request = Fcaapi::search($search);
//Search the FS register using this API
$request = Fcaapi::searchRm();

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

Testing

Unit Tests

composer test

Live Tests

The package includes a comprehensive live test suite to verify real API integration:

Setup:

  1. Get FCA API credentials from RegisterAPISupport@fca.org.uk
  2. Add to your .env file:
    FCA_EMAIL=your-email@example.com
    FCA_KEY=your-fca-api-key

Run live tests:

# Using Pest with groups
./vendor/bin/pest --group=live

# Run specific live test file
./vendor/bin/pest tests/Feature/Live/FcaApiLiveTest.php

TODO

Name - Service provider uses 'fcaapi' but package name is 'fcaregisterlaravel'

  1. Full Test Coverage
  2. Update package name in service provider to match composer.json
  3. Rename config file from fcaapi.php to fcaregisterlaravel.php
  4. Update all config references throughout codebase
  5. Add tests for package discovery and installation
  6. Test config file publishing
  7. Verify all Laravel package tool features work correctly

cyborgfinance/fcaregisterlaravel 适用场景与选型建议

cyborgfinance/fcaregisterlaravel 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3.35k 次下载、GitHub Stars 达 6, 最近一次更新时间为 2021 年 04 月 10 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「laravel」 「laravel package」 「CyborgFinance」 「fcaregisterlaravel」 「FCA」 「FCA REGISTER」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 cyborgfinance/fcaregisterlaravel 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 cyborgfinance/fcaregisterlaravel 我们能提供哪些服务?
定制开发 / 二次开发

基于 cyborgfinance/fcaregisterlaravel 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 3.35k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 12
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 6
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-04-10