PHPackages                             bancardgateway/laravel-bancard - 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. bancardgateway/laravel-bancard

ActiveLibrary

bancardgateway/laravel-bancard
==============================

0138PHP

Since Apr 29Pushed 1y agoCompare

[ Source](https://github.com/leeofeer/laravel-bancard)[ Packagist](https://packagist.org/packages/bancardgateway/laravel-bancard)[ RSS](/packages/bancardgateway-laravel-bancard/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel Bancard
===============

[](#laravel-bancard)

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

[](#installation)

Install via composer

```
composer require bancardgateway/laravel-bancard
```

Publish config and migrations

```
php artisan vendor:publish --provider="bancardgateway\Bancard\BancardServiceProvider"
```

This is the contents of the file which will be published at config/bancard.php:

```
return [

    /*
    |--------------------------------------------------------------------------
    | Bancard Keys
    |--------------------------------------------------------------------------
    |
    | The Bancard public key and private key give you access to Bancard's
    | API.
    |
    */
    'public' => env('BANCARD_PUBLIC_KEY', ''),

    'private' => env('BANCARD_PRIVATE_KEY', ''),

    /*
    |--------------------------------------------------------------------------
    | Bancard Environment
    |--------------------------------------------------------------------------
    |
    | This value determines if your application is using the
    | staging environment from Bancard's API.
    |
    */
    'staging' => (bool) env('BANCARD_STAGING', true),

    /*
    |--------------------------------------------------------------------------
    | Bancard URL
    |--------------------------------------------------------------------------
    */

    // The return URL for the Single Buy Operation
    'single_buy_return_url' => env('BANCARD_SINGLE_BUY_RETURN_URL', ''),

    // The cancel URL for the Single Buy Operation
    'single_buy_cancel_url' => env('BANCARD_SINGLE_BUY_CANCEL_URL', ''),

    // The return URL for the New Card Operation
    'new_card_return_url' => env('BANCARD_NEW_CARD_RETURN_URL', ''),
];
```

Run migrations

```
php artisan migrate

```

Usage
-----

[](#usage)

The methods listed below return an instance of the class [Illuminate\\Http\\Client\\Response](https://laravel.com/api/8.x/Illuminate/Http/Client/Response.html).

- [singleBuy](#single-buy)
- [newCard](#cards-new)
- [listCards](#users-cards)
- [deleteCard](#delete)
- [tokenCharge](#charge)
- [confirmation](#single-buy-get-confirmation)
- [rollback](#single-buy-rollback)

According to [Laravel Documentation](https://laravel.com/docs/8.x/http-client) these are some of the methods you can use to inspect the response.

```
// Get the body of the response.
$response->body() : string;

// Get the JSON decoded body of the response as an array or scalar value.
$response->json() : array|mixed;

// Determine if the status code is >= 200 and < 300...
$response->successful();

// Determine if the status code is >= 400...
$response->failed();
```

### Single Buy

[](#single-buy)

Start the payment process.

```
use bancardgateway\Bancard\Bancard;

$response = Bancard::singleBuy('Ejemplo de pago', 10330.00);
if ($response->failed()) {
	// Do something here.
}
$data = $response->json();
$processId = $data['process_id'];
$scriptUrl = Bancard::scriptUrl();

return view('your_view_here', compact('processId', 'scriptUrl'));
```

Through the `singleBuy` method an eloquent model called `SingleBuy` is created. You can retrieve the record using the `process_id` value.

```
use Deviam\Bancard\Models\SingleBuy;

$order = SingleBuy::where('process_id', '')->first();
```

### Cards New

[](#cards-new)

Start the registration process of a card.

```
use bancardgateway\Bancard\Bancard;

$response = Bancard::newCard(966389, '09********', 'user@example.com');
if ($response->failed()) {
	// Do something here.
}
$data = $response->json();
$processId = $data['process_id'];
$scriptUrl = Bancard::scriptUrl();

return view('your_view_here', compact('processId', 'scriptUrl'));
```

Through the `newCard` method an eloquent model called `Card` is created. You can retrieve all the cards from an user with the `user_id` value;

```
use Deviam\Bancard\Models\Card;

$cards = Card::where('user_id', '')->get();
```

### Users Cards

[](#users-cards)

Operation that allow you to list the cards registered from an user.

```
use bancardgateway\Bancard\Bancard;

$response = Bancard::listCards(966389);
if ($response->failed()) {
	// Do something here.
}
$data = $response->json();
$cards = $data['cards'];
```

### Delete

[](#delete)

Operation that allow you to delete a registered card.

```
use bancardgateway\Bancard\Bancard;

$response = Bancard::deleteCard(966389, 'c8996fb92427ae41e4649b934ca495991b7852b855');
if ($response->failed()) {
	// Do something here.
}
$data = $response->json();
$status = $data['status'];
```

### Charge

[](#charge)

Operation that allow you to make a payment with a token.

```
use bancardgateway\Bancard\Bancard;

$response = Bancard::tokenCharge('Ejemplo de pago', 10330.00, 'c8996fb92427ae41e4649b934ca495991b7852b855');
if ($response->failed()) {
	// Do something here.
}
$data = $response->json();
$confirmation = $data['confirmation'];
```

Through the `tokenCharge` method two eloquent models are created. These models are `SingleBuy` and `Confirmation`. You can retrieve each record with the `shop_process_id` value that comes in the response.

```
use bancardgateway\Bancard\Models\{SingleBuy, Confirmation};

$order = SingleBuy::where('shop_process_id', '')->first();
$confirmation = Confirmation::where('shop_process_id', '')->first();
```

### Single Buy Rollback

[](#single-buy-rollback)

Operation that allow you to cancel the payment.

```
use bancardgateway\Bancard\Bancard;

$response = Bancard::rollback('12313');
if ($response->failed()) {
	// Do something here.
}
$data = $response->json();
$status = $data['status'];
```

Through the `rollback` method an eloquent model called `Rollback` is created. You can retrieve the record using the `shop_process_id` value.

```
use bancardgateway\Bancard\Models\Rollback;

$record = Rollback::where('shop_process_id', '')->first();
```

### Single Buy Get Confirmation

[](#single-buy-get-confirmation)

Operation that allow you to know if a payment was confirmed or not.

```
use bancardgateway\Bancard\Bancard;

$response = Bancard::confirmation('12313');
if ($response->failed()) {
	// Do something here.
}
$data = $response->json();
$confirmation = $data['confirmation'];
```

Through the `confirmation` method an eloquent model called `Confirmation` is created. You can retrieve the record using the `shop_process_id` value.

```
use bancardgateway\Bancard\Models\Confirmation;

$record = Confirmation::where('shop_process_id', '')->first();
```

Credits
-------

[](#credits)

- [Miguel Chávez](https://github.com/miguelmchavez)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity15

Early-stage or recently created project

 Bus Factor1

Top contributor holds 50% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/49fa74c3c1217fa25a881a28759eec61e95a4865744373abcb6f689237ae6801?d=identicon)[thegentleman](/maintainers/thegentleman)

---

Top Contributors

[![leeofeer](https://avatars.githubusercontent.com/u/21197526?v=4)](https://github.com/leeofeer "leeofeer (12 commits)")[![miguelmchavez](https://avatars.githubusercontent.com/u/6069618?v=4)](https://github.com/miguelmchavez "miguelmchavez (10 commits)")[![mati-v7](https://avatars.githubusercontent.com/u/54145707?v=4)](https://github.com/mati-v7 "mati-v7 (2 commits)")

### Embed Badge

![Health badge](/badges/bancardgateway-laravel-bancard/health.svg)

```
[![Health](https://phpackages.com/badges/bancardgateway-laravel-bancard/health.svg)](https://phpackages.com/packages/bancardgateway-laravel-bancard)
```

PHPackages © 2026

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