PHPackages                             webumer/bcb-php-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. webumer/bcb-php-sdk

ActiveLibrary[API Development](/categories/api)

webumer/bcb-php-sdk
===================

Unofficial PHP SDK for BCB Group Client API (payments, beneficiaries, virtual IBANs, webhooks).

1.2.5(8mo ago)0213↓50%MITPHPPHP ^8.1CI passing

Since Aug 26Pushed 8mo agoCompare

[ Source](https://github.com/webumer/bcb-php-sdk)[ Packagist](https://packagist.org/packages/webumer/bcb-php-sdk)[ Docs](https://github.com/webumer/bcb-php-sdk)[ RSS](/packages/webumer-bcb-php-sdk/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (4)Versions (10)Used By (0)

BCB PHP SDK
===========

[](#bcb-php-sdk)

[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](https://opensource.org/licenses/MIT)[![PHP Version](https://camo.githubusercontent.com/d26a7a0fe38deb6c0ac89d3a3858c917ed6586acfed1f071f0d054d7675bb112/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f776562756d65722f6263622d7068702d73646b)](https://packagist.org/packages/webumer/bcb-php-sdk)

Unofficial PHP SDK for BCB Group Client API. Provides easy integration for payments, beneficiaries, virtual IBANs, and webhooks.

Features
--------

[](#features)

- 🔐 OAuth2 client credentials authentication with token caching
- 💳 Payment initiation and status checking
- 👥 Beneficiary management (regular and BLINC)
- 🏦 Virtual IBAN creation and management
- 📡 Webhook event parsing helpers
- 🚀 Framework-agnostic (works with Laravel, Symfony, or vanilla PHP)

Installation
------------

[](#installation)

```
composer require webumer/bcb-php-sdk
```

Changelog
---------

[](#changelog)

### v1.2.5 (2025-01-XX)

[](#v125-2025-01-xx)

- **NEW**: Added BLINC beneficiaries support (`listBlinc()`, `getBlincAccount()`, `createBlinc()`)
- **ENHANCED**: Beneficiaries resource now supports both regular and BLINC beneficiaries
- **NOTE**: BLINC beneficiaries are a specific type of beneficiary with additional functionality

### v1.2.4 (2025-01-XX)

[](#v124-2025-01-xx)

- **NEW**: Added `close()` method for virtual account closure using POST endpoint
- **NOTE**: Virtual account closure may be processed asynchronously
- **UPDATED**: `delete()` method marked as legacy (may not work)
- **INFO**: Account closure requests may not immediately remove accounts from the list - webhook notifications may confirm closure on production

### v1.2.3 (2025-01-XX)

[](#v123-2025-01-xx)

- **Fixed**: Removed non-existent webhook management endpoints (`getWebhooks`, `updateWebhooks`)
- **LIMITATION**: Virtual account deletion (`delete()` method) returns 404 errors - not supported via API
- **Updated**: Documentation to reflect actual BCB API capabilities
- **Note**: BCB API does not provide webhook management endpoints - configuration must be done through BCB support team
- **Note**: BCB API does not support virtual account deletion - closure must be requested through BCB support team

### v1.2.1

[](#v121)

- Initial stable release with core BCB API functionality

Quick Start
-----------

[](#quick-start)

### Using Environment Configuration (Recommended)

[](#using-environment-configuration-recommended)

```
use Webumer\Bcb\BcbClient;
use Webumer\Bcb\BcbEnvironment;

// For UAT/Sandbox environment
$client = BcbClient::forEnvironment(
    environment: BcbEnvironment::UAT,
    clientId: 'your_client_id',
    clientSecret: 'your_client_secret'
);

// For Production environment
$client = BcbClient::forEnvironment(
    environment: BcbEnvironment::PRODUCTION,
    clientId: 'your_client_id',
    clientSecret: 'your_client_secret'
);
```

### Manual Configuration

[](#manual-configuration)

```
use Webumer\Bcb\BcbClient;

$client = new BcbClient(
    baseUrl: 'https://api.bcb.group',
    authUrl: 'https://auth.bcb.group',
    clientBaseUrl: 'https://client-api.bcb.group',
    clientId: 'your_client_id',
    clientSecret: 'your_client_secret'
);

// List beneficiaries
$beneficiaries = $client->beneficiaries()->list();

// Create virtual IBAN
$viban = $client->viban()->create($accountId, [
    'correlationId' => 'unique-id',
    'name' => 'John Doe',
    'isIndividual' => true,
    // ... other fields
]);

// Initiate payment
$payment = $client->payments()->authorise([
    'counterparty_id' => 'counterparty-id',
    'beneficiary_account_id' => 'beneficiary-id',
    'ccy' => 'GBP',
    'amount' => '100.00',
    'reference' => 'Invoice 123',
    'preferred_scheme' => 'AUTO'
]);

// Parse webhook events
$webhook = $client->webhooks()->parseVirtualAccountEvent($payload);

// Get virtual account details
$account = $client->viban()->get($accountId, $iban);

// Get virtual account balance
$balance = $client->viban()->getBalance($accountId, $iban);

// Get transaction history
$transactions = $client->viban()->getTransactions($accountId, $iban, [
    'from' => '2024-01-01',
    'to' => '2024-12-31'
]);

// Create beneficiary
$beneficiary = $client->beneficiaries()->create([
    'name' => 'John Doe',
    'account_number' => '12345678',
    'sort_code' => '123456',
    'currency' => 'GBP'
]);

// List payments
$payments = $client->payments()->list(['status' => 'completed']);

// Cancel payment
$result = $client->payments()->cancel($paymentId);
```

API Coverage
------------

[](#api-coverage)

### Payments

[](#payments)

- `authorise()` - Initiate payment
- `get()` - Get payment details
- `list()` - List payments with filters
- `cancel()` - Cancel payment
- `getStatus()` - Get payment status

### Beneficiaries

[](#beneficiaries)

- `list()` - List beneficiaries
- `create()` - Create new beneficiary
- `get()` - Get beneficiary details
- `update()` - Update beneficiary
- `delete()` - Delete beneficiary
- `validate()` - Validate beneficiary details

### Virtual IBANs

[](#virtual-ibans)

- `create()` - Create virtual account
- `get()` - Get single virtual account details
- `getAll()` - List all virtual accounts
- `updateOwnerSwiftDetails()` - Update IBAN/BIC
- `updateOwnerAccountDetails()` - Update account/sort code
- `updateStatus()` - Enable/disable virtual account
- `delete()` - Close/delete virtual account
- `getTransactions()` - Get transaction history
- `getBalance()` - Get account balance
- `getStatements()` - Get account statements
- `getLimits()` - Get transaction limits
- `createBeneficiary()` - Create beneficiary from vIBAN
- `initiatePayment()` - Internal transfer

**Note**: Webhook configuration is not available at virtual IBAN level in BCB API. Webhooks must be configured through BCB support.

### Accounts

[](#accounts)

- `get()` - Get account details
- `list()` - List all accounts
- `balance()` - Get account balance
- `getTransactions()` - Get account transactions
- `getStatements()` - Get account statements

### Webhooks

[](#webhooks)

- `parseVirtualAccountEvent()` - Parse account creation/failure
- `parseTransactionsEvent()` - Parse transaction batches

Environments
------------

[](#environments)

The SDK supports two environments:

### UAT/Sandbox Environment

[](#uatsandbox-environment)

- **Auth URL**: `https://auth.uat.bcb.group/oauth/token`
- **API URL**: `https://api.uat.bcb.group`
- **Client URL**: `https://client-api.uat.bcb.group`
- **API Version**: `v3` (for payments, beneficiaries, accounts)
- **Client API Version**: `v1` (for virtual IBANs)
- **Use for**: Testing and development

### Production Environment

[](#production-environment)

- **Auth URL**: `https://auth.bcb.group/oauth/token`
- **API URL**: `https://api.bcb.group`
- **Client URL**: `https://client-api.bcb.group`
- **API Version**: `v3` (for payments, beneficiaries, accounts)
- **Client API Version**: `v1` (for virtual IBANs)
- **Use for**: Live production applications

### Environment Usage

[](#environment-usage)

```
// UAT Environment
$uatClient = BcbClient::forEnvironment(
    environment: BcbEnvironment::UAT,
    clientId: 'your_uat_client_id',
    clientSecret: 'your_uat_client_secret'
);

// Production Environment
$prodClient = BcbClient::forEnvironment(
    environment: BcbEnvironment::PRODUCTION,
    clientId: 'your_prod_client_id',
    clientSecret: 'your_prod_client_secret'
);
```

Requirements
------------

[](#requirements)

- PHP 8.1+
- Guzzle HTTP 7.8+

License
-------

[](#license)

MIT License. See [LICENSE](LICENSE) file.

Disclaimer
----------

[](#disclaimer)

This is an unofficial SDK. BCB Group is not affiliated with this project.

Contributing
------------

[](#contributing)

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

Support
-------

[](#support)

- GitHub Issues: [Report bugs or request features](https://github.com/webumer/bcb-php-sdk/issues)
- BCB Group API Docs: [client-api.bcb.group](https://client-api.bcb.group/docs)

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance60

Regular maintenance activity

Popularity16

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

9

Last Release

253d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1392475?v=4)[Umer Sulman](/maintainers/webumer)[@webumer](https://github.com/webumer)

---

Top Contributors

[![webumer](https://avatars.githubusercontent.com/u/1392475?v=4)](https://github.com/webumer "webumer (19 commits)")

---

Tags

phpapisdkwebhookspaymentsbcbbcb-groupvirtual-iban

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/webumer-bcb-php-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/webumer-bcb-php-sdk/health.svg)](https://phpackages.com/packages/webumer-bcb-php-sdk)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k7.6M74](/packages/openai-php-laravel)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.5k311.5k5](/packages/theodo-group-llphant)[resend/resend-php

Resend PHP library.

574.7M21](/packages/resend-resend-php)[mozex/anthropic-php

Anthropic PHP is a supercharged community-maintained PHP API client that allows you to interact with Anthropic API.

46365.1k13](/packages/mozex-anthropic-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
