PHPackages                             alexminza/victoriabank-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. alexminza/victoriabank-sdk

ActiveLibrary[API Development](/categories/api)

alexminza/victoriabank-sdk
==========================

PHP SDK for Victoriabank API

v1.0.2(5mo ago)0181GPL-3.0-or-laterPHPPHP &gt;=7.2.5

Since Jan 14Pushed 5mo agoCompare

[ Source](https://github.com/alexminza/victoriabank-sdk-php)[ Packagist](https://packagist.org/packages/alexminza/victoriabank-sdk)[ Docs](https://github.com/alexminza/victoriabank-sdk-php)[ RSS](/packages/alexminza-victoriabank-sdk/feed)WikiDiscussions main Synced today

READMEChangelog (3)Dependencies (8)Versions (4)Used By (1)

PHP SDK for Victoriabank API
============================

[](#php-sdk-for-victoriabank-api)

[![Victoriabank](https://repository-images.githubusercontent.com/1129513478/029d830d-e668-470d-9c9f-825ad74995bd)](https://repository-images.githubusercontent.com/1129513478/029d830d-e668-470d-9c9f-825ad74995bd)

- Victoriabank e-Commerce Gateway Instructions
- GitHub project
- Composer package

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

[](#installation)

To easily install or upgrade to the latest release, use `composer`:

```
composer require alexminza/victoriabank-sdk
```

To enable logging add the `monolog` package:

```
composer require monolog/monolog
```

Getting started
---------------

[](#getting-started)

Import SDK:

```
require_once __DIR__ . '/vendor/autoload.php';

use Victoriabank\Victoriabank\VictoriabankClient;
```

Add project configuration:

```
$DEBUG = getenv('DEBUG');

$VB_BASE_URI = getenv('VB_BASE_URI') ?: VictoriabankClient::TEST_BASE_URL;
$VB_MERCHANT_ID = getenv('VB_MERCHANT_ID');
$VB_TERMINAL_ID = getenv('VB_TERMINAL_ID');
$VB_MERCHANT_PRIVATE_KEY  = getenv('VB_MERCHANT_PRIVATE_KEY') ?: 'file://key.pem';
$VB_MERCHANT_PRIVATE_KEY_PASSPHRASE = getenv('VB_MERCHANT_PRIVATE_KEY_PASSPHRASE');
$VB_MERCHANT_PUBLIC_KEY = getenv('VB_MERCHANT_PUBLIC_KEY') ?: 'file://pubkey.pem';
$VB_BANK_PUBLIC_KEY = getenv('VB_BANK_PUBLIC_KEY') ?: 'file://victoria_pub.pem';
```

Initialize client:

```
$options = [
    'base_uri' => $VB_BASE_URI,
    'timeout' => 30
];

if ($DEBUG) {
    $logName = 'victoriabank_guzzle';
    $logFileName = "$logName.log";

    $log = new \Monolog\Logger($logName);
    $log->pushHandler(new \Monolog\Handler\StreamHandler($logFileName, \Monolog\Logger::DEBUG));

    $stack = \GuzzleHttp\HandlerStack::create();
    $stack->push(\GuzzleHttp\Middleware::log($log, new \GuzzleHttp\MessageFormatter(\GuzzleHttp\MessageFormatter::DEBUG)));

    $options['handler'] = $stack;
}

$guzzleClient = new \GuzzleHttp\Client($options);
$vbClient = new VictoriabankClient($guzzleClient);

$vbClient
    ->setMerchantId($VB_MERCHANT_ID)
    ->setTerminalId($VB_TERMINAL_ID)
    ->setMerchantName('TEST COMPANY SRL')
    ->setMerchantUrl('https://www.example.com')
    ->setMerchantAddress('Chisinau, Moldova')
    ->setTimezone('Europe/Chisinau')
    ->setMerchantPrivateKey($VB_MERCHANT_PRIVATE_KEY, $VB_MERCHANT_PRIVATE_KEY_PASSPHRASE)
    ->setBankPublicKey($VB_BANK_PUBLIC_KEY)
    ->setSignatureAlgo(VictoriabankClient::P_SIGN_HASH_ALGO_SHA256);
```

SDK usage examples
------------------

[](#sdk-usage-examples)

### Generate payment authorization request form

[](#generate-payment-authorization-request-form)

```
$authorizeRequest = $vbClient->generateOrderAuthorizeRequest(
    '123',
    123.45,
    'MDL',
    'Order #123',
    'example@example.com',
    'https://www.example.com',
    'ro'
);

$html = $vbClient->generateHtmlForm($VB_BASE_URI, $authorizeRequest);
echo $html;
```

### Validate bank notification callback signature

[](#validate-bank-notification-callback-signature)

```
try {
    $isValid = $vbClient->validateResponse($_POST);
    if ($isValid) {
        // Payment authorized/completed successfully
        // Process the order (e.g. update status)

        $rrn     = $_POST['RRN'];
        $int_ref = $_POST['INT_REF'];
    } else {
        // Handle invalid signature or response data
        echo 'Error: Invalid response';
    }
} catch (\Exception $e) {
    // Handle other errors (e.g. log error, invalid data, duplicate transaction, declined)
    echo 'Error: ' . $e->getMessage();
}
```

### Complete authorized payment

[](#complete-authorized-payment)

```
$completeResponse = $vbClient->orderComplete(
    '123',
    123.45,
    'MDL',
    $rrn,
    $int_ref
);
```

### Refund payment

[](#refund-payment)

```
$reverseResponse = $vbClient->orderReverse(
    '123',
    123.45,
    'MDL',
    $rrn,
    $int_ref
);
```

### Check order payment status

[](#check-order-payment-status)

```
$checkResponse = $vbClient->orderCheck('123', VictoriabankClient::TRTYPE_AUTHORIZATION);
```

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance73

Regular maintenance activity

Popularity6

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity32

Early-stage or recently created project

 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 ~9 days

Total

3

Last Release

153d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/149919?v=4)[Alexander Minza](/maintainers/alexminza)[@alexminza](https://github.com/alexminza)

---

Top Contributors

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

---

Tags

apisdkpaymentsMoldovavisamastercardvictoriabank

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/alexminza-victoriabank-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/alexminza-victoriabank-sdk/health.svg)](https://phpackages.com/packages/alexminza-victoriabank-sdk)
```

###  Alternatives

[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

273.0k](/packages/eslazarev-wildberries-sdk)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3741.3M46](/packages/tencentcloud-tencentcloud-sdk-php)[resend/resend-php

Resend PHP library.

617.2M43](/packages/resend-resend-php)[checkout/checkout-sdk-php

Checkout.com SDK for PHP

563.6M13](/packages/checkout-checkout-sdk-php)[files.com/files-php-sdk

Files.com PHP SDK

2481.1k](/packages/filescom-files-php-sdk)[transbank/transbank-sdk

Transbank SDK

62676.5k14](/packages/transbank-transbank-sdk)

PHPackages © 2026

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