PHPackages                             zgabievi/tbc - 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. [Payment Processing](/categories/payments)
4. /
5. zgabievi/tbc

AbandonedArchivedLibrary[Payment Processing](/categories/payments)

zgabievi/tbc
============

TBC Payment System

0.2.1(8y ago)145335MITPHPPHP &gt;=5.3.0

Since Jan 14Pushed 8y ago3 watchersCompare

[ Source](https://github.com/zgabievi/laravel-tbcpay)[ Packagist](https://packagist.org/packages/zgabievi/tbc)[ Docs](https://github.com/zgabievi/tbc)[ RSS](/packages/zgabievi-tbc/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (4)Versions (9)Used By (0)

laravel-tbcpay
==============

[](#laravel-tbcpay)

> Some great updates are comming soon...

[![Latest Stable Version](https://camo.githubusercontent.com/e1fc8c3db7c2679b46265fdc7a70ff42a8af5356854f5e5b4fc2a74094d11987/68747470733a2f2f706f7365722e707567782e6f72672f7a676162696576692f5442432f76657273696f6e3f666f726d61743d666c61742d737175617265)](https://packagist.org/packages/zgabievi/tbc)[![Total Downloads](https://camo.githubusercontent.com/be5692ad73aab2d063c6f513339a440f8ea1e9220001d702ca66d3cb27fbb32a/68747470733a2f2f706f7365722e707567782e6f72672f7a676162696576692f5442432f642f746f74616c3f666f726d61743d666c61742d737175617265)](https://packagist.org/packages/zgabievi/tbc)[![License](https://camo.githubusercontent.com/dfc9185ad9fe648dfd8d8021a5babe3f9d2d0c085e36e19741daf354612c1a33/68747470733a2f2f706f7365722e707567782e6f72672f7a676162696576692f5442432f6c6963656e73653f666f726d61743d666c61742d737175617265)](https://packagist.org/packages/zgabievi/tbc)[![StyleCI](https://camo.githubusercontent.com/7be05ac6c4d95b9ba41164a632a2cd287f0b98fe2e1564959f01bd8022e97014/68747470733a2f2f7374796c6563692e696f2f7265706f732f34393635333937392f736869656c64)](https://styleci.io/repos/49653979)[![Codacy Badge](https://camo.githubusercontent.com/15ef7704dfab2239bbc21c4846e2ca991dc32c7c9fa74c2bcbcec16f570f9324/68747470733a2f2f6170692e636f646163792e636f6d2f70726f6a6563742f62616467652f47726164652f6362373634636565313038353437303639343532393236663861623831343335)](https://www.codacy.com/app/zgabievi/laravel-tbcpay?utm_source=github.com&utm_medium=referral&utm_content=zgabievi/laravel-tbcpay&utm_campaign=Badge_Grade)

TBC Payment[![TBC Payment](https://camo.githubusercontent.com/e88aa5e0c8fa573fc691e78a288059f3be19b1063720d27fe26381f1b60e619b/68747470733a2f2f692e696d67736166652e6f72672f666262653363653230662e706e67)](https://github.com/zgabievi/laravel-tbcpay)"TBC" payment integration for [Laravel 5.\*](http://laravel.com/), created for Georgian developers. 💡 Inspired by [tbcpay-php](https://github.com/wearede/tbcpay-php) from [Sandro Dzneladze](https://github.com/sandrodz) 🎉 Pull requests are welcome.Table of Contents
-----------------

[](#table-of-contents)

- [Installation](#installation)
    - [Composer](#composer)
    - [Laravel](#laravel)
- [Documentation](#documentation)
- [Usage](#usage)
- [Examples](#examples)
- [Codes](#codes)
- [Config](#config)
- [License](#license)

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

[](#installation)

### Composer

[](#composer)

Run composer command in your terminal.

```
composer require zgabievi/tbc

```

### Laravel

[](#laravel)

Open `config/app.php` and find the `providers` key. Add `TBCServiceProvider` to the array.

```
Gabievi\TBC\TBCServiceProvider::class
```

Find the `aliases` key and add `Facade` to the array.

```
'TBC' => Gabievi\TBC\TBCFacade::class
```

Documentation
-------------

[](#documentation)

There are two types of transaction within this system:

1. **SMS** is direct payment, where money is charged in 1 event.
2. **DMS** is delayed payment, requires 2 events:
    - First event blocks money on the card
    - Second event takes money (It can be carried out when product is shipped to the customer, for example)

In every 24 hour the merchant must send the close the business day request to bank server

Usage
-----

[](#usage)

There are several methods you need to know:

- `SMSTransaction($amount, $currency = 981, $description = '', $language = 'GE')`
- `DMSAuthorization($amount, $currency = 981, $description = '', $language = 'GE')`
- `DMSTransaction($txn_id, $amount, $currency = 981, $description = '', $language = 'GE')`
- `getTransactionResult($txn_id)`
- `reverseTransaction($txn_id, $amount = '', $suspected_fraud = '')`
- `refundTransaction($txn_id)`
- `creditTransaction($txn_id, $amount = '')`
- `closeDay()`

Examples
--------

[](#examples)

In your `routes.php` create route:

```
Route::get('payment/{status}', function($status) {
    if ($status == 'success') {
        return TBC::getTransactionResult(request('trans_id'));
    }

    return 'FAIL!';
})->where('status', 'success|fail');

Route::get('pay', function() {
    return view('payment.tbc', [
        'start' => TBC::SMSTransaction(1)
    ]);
});
```

Create `payment/tbc.blade.php`. It should look like:

```

    TBC

@if(isset($start['error']))
    Error:
    {{ $start['error'] }}
@elseif(isset($start['TRANSACTION_ID']))

            Please click the submit button below.

        window.onload = document.forms.Pay.submit;

@endif

```

Codes
-----

[](#codes)

KeyValueDescription000ApprovedApproved001Approved with IDApproved, honour with identification002ApprovedApproved for partial amount003ApprovedApproved for VIP004ApprovedApproved, update track 3005ApprovedApproved, account type specified by card issuer006ApprovedApproved for partial amount, account type specified by card issuer007ApprovedApproved, update ICC100DeclineDecline (general, no comments)101DeclineDecline, expired card102DeclineDecline, suspected fraud103DeclineDecline, card acceptor contact acquirer104DeclineDecline, restricted card105DeclineDecline, card acceptor call acquirer's security department106DeclineDecline, allowable PIN tries exceeded107DeclineDecline, refer to card issuer108DeclineDecline, refer to card issuer's special conditions109DeclineDecline, invalid merchant110DeclineDecline, invalid amount111DeclineDecline, invalid card number112DeclineDecline, PIN data required113DeclineDecline, unacceptable fee114DeclineDecline, no account of type requested115DeclineDecline, requested function not supported116Decline, no fundsDecline, not sufficient funds117DeclineDecline, incorrect PIN118DeclineDecline, no card record119DeclineDecline, transaction not permitted to cardholder120DeclineDecline, transaction not permitted to terminal121DeclineDecline, exceeds withdrawal amount limit122DeclineDecline, security violation123DeclineDecline, exceeds withdrawal frequency limit124DeclineDecline, violation of law125DeclineDecline, card not effective126DeclineDecline, invalid PIN block127DeclineDecline, PIN length error128DeclineDecline, PIN kay synch error129DeclineDecline, suspected counterfeit card180DeclineDecline, by cardholders wish200Pick-upPick-up (general, no comments)201Pick-upPick-up, expired card202Pick-upPick-up, suspected fraud203Pick-upPick-up, card acceptor contact card acquirer204Pick-upPick-up, restricted card205Pick-upPick-up, card acceptor call acquirer's security department206Pick-upPick-up, allowable PIN tries exceeded207Pick-upPick-up, special conditions208Pick-upPick-up, lost card209Pick-upPick-up, stolen card210Pick-upPick-up, suspected counterfeit card300Call acquirerStatus message: file action successful301Call acquirerStatus message: file action not supported by receiver302Call acquirerStatus message: unable to locate record on file303Call acquirerStatus message: duplicate record, old record replaced304Call acquirerStatus message: file record field edit error305Call acquirerStatus message: file locked out306Call acquirerStatus message: file action not successful307Call acquirerStatus message: file data format error308Call acquirerStatus message: duplicate record, new record rejected309Call acquirerStatus message: unknown file400AcceptedAccepted (for reversal)499ApprovedApproved, no original message data500Call acquirerStatus message: reconciled, in balance501Call acquirerStatus message: reconciled, out of balance502Call acquirerStatus message: amount not reconciled, totals provided503Call acquirerStatus message: totals for reconciliation not available504Call acquirerStatus message: not reconciled, totals provided600AcceptedAccepted (for administrative info)601Call acquirerStatus message: impossible to trace back original transaction602Call acquirerStatus message: invalid transaction reference number603Call acquirerStatus message: reference number/PAN incompatible604Call acquirerStatus message: POS photograph is not available605Call acquirerStatus message: requested item supplied606Call acquirerStatus message: request cannot be fulfilled - required documentation is not available680List readyList ready681List not readyList not ready700AcceptedAccepted (for fee collection)800AcceptedAccepted (for network management)900AcceptedAdvice acknowledged, no financial liability accepted901AcceptedAdvice acknowledged, finansial liability accepted902Call acquirerDecline reason message: invalid transaction903Call acquirerStatus message: re-enter transaction904Call acquirerDecline reason message: format error905Call acquirerDecline reason message: acqiurer not supported by switch906Call acquirerDecline reason message: cutover in process907Call acquirerDecline reason message: card issuer or switch inoperative908Call acquirerDecline reason message: transaction destination cannot be found for routing909Call acquirerDecline reason message: system malfunction910Call acquirerDecline reason message: card issuer signed off911Call acquirerDecline reason message: card issuer timed out912Call acquirerDecline reason message: card issuer unavailable913Call acquirerDecline reason message: duplicate transmission914Call acquirerDecline reason message: not able to trace back to original transaction915Call acquirerDecline reason message: reconciliation cutover or checkpoint error916Call acquirerDecline reason message: MAC incorrect917Call acquirerDecline reason message: MAC key sync error918Call acquirerDecline reason message: no communication keys available for use919Call acquirerDecline reason message: encryption key sync error920Call acquirerDecline reason message: security software/hardware error - try again921Call acquirerDecline reason message: security software/hardware error - no action922Call acquirerDecline reason message: message number out of sequence923Call acquirerStatus message: request in progress950Not acceptedDecline reason message: violation of business arrangementXXXUndefinedCode to be replaced by card status code or stoplist insertion reason codeConfig
------

[](#config)

Publish TBC config file using command:

```
php artisan vendor:publish

```

Created file `config\tbc.php`. Inside you can change configuration as you wish.

License
-------

[](#license)

laravel-tbcpay is licensed under a [MIT License](https://github.com/zgabievi/laravel-tbcpay/blob/master/LICENSE).

TODO
----

[](#todo)

- Take response codes from README and put somewhere else
- Create some tests to check full functionality
- Make TBC facade more Model like
- Create payment view in vendor, so that developer won't have to do it manually

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 79.1% 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 ~275 days

Total

4

Last Release

2941d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/97b2001280ff47bbc67e542074e290919291715cd6c9f694e6787b50d67c60ad?d=identicon)[zgabievi](/maintainers/zgabievi)

---

Top Contributors

[![zgabievi](https://avatars.githubusercontent.com/u/1515299?v=4)](https://github.com/zgabievi "zgabievi (34 commits)")[![DoodZel](https://avatars.githubusercontent.com/u/12815087?v=4)](https://github.com/DoodZel "DoodZel (6 commits)")[![R2lv](https://avatars.githubusercontent.com/u/20943622?v=4)](https://github.com/R2lv "R2lv (2 commits)")[![dependenci-bot](https://avatars.githubusercontent.com/u/28104467?v=4)](https://github.com/dependenci-bot "dependenci-bot (1 commits)")

---

Tags

paymenttbczgabievi

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/zgabievi-tbc/health.svg)

```
[![Health](https://phpackages.com/badges/zgabievi-tbc/health.svg)](https://phpackages.com/packages/zgabievi-tbc)
```

###  Alternatives

[shetabit/payment

Laravel Payment Gateway Integration Package

944330.1k5](/packages/shetabit-payment)[sebdesign/laravel-viva-payments

A Laravel package for integrating the Viva Payments gateway

4845.9k](/packages/sebdesign-laravel-viva-payments)[021/laravel-wallet

Reliable and flexible wallet system for Laravel

2785.2k](/packages/021-laravel-wallet)[tzsk/payu

PayU India Payment Gateway Integration with Laravel

47108.8k6](/packages/tzsk-payu)[henryejemuta/laravel-monnify

A laravel package to seamlessly integrate monnify api within your laravel application

132.1k](/packages/henryejemuta-laravel-monnify)

PHPackages © 2026

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