PHPackages                             mancoide/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. [API Development](/categories/api)
4. /
5. mancoide/laravel-bancard

ActiveLibrary[API Development](/categories/api)

mancoide/laravel-bancard
========================

This project has been created for facilitate bancard api integrations

1251PHP

Since Jun 8Pushed 2y ago1 watchersCompare

[ Source](https://github.com/Mancoide/laravel-bancard)[ Packagist](https://packagist.org/packages/mancoide/laravel-bancard)[ RSS](/packages/mancoide-laravel-bancard/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependenciesVersions (1)Used By (0)

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

[](#laravel-bancard)

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

[](#installation)

Install via composer

```
composer require composer require mancoide/laravel-bancard:dev-main
```

Publish config and migrations

```
php artisan vendor:publish --provider="Mancoide\Bancard\BancardServiceProvider" --tag="bancard-configs"
php artisan vendor:publish --provider="Mancoide\Bancard\BancardServiceProvider" --tag="bancard-migrations"
```

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 Mancoide\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 Mancoide\Bancard\Models\SingleBuy;

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

### Cards New

[](#cards-new)

Start the registration process of a card.

```
use Mancoide\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 Mancoide\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 Mancoide\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 Mancoide\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 Mancoide\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 Mancoide\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 Mancoide\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 Mancoide\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 Mancoide\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 Mancoide\Bancard\Models\Confirmation;

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

Credits
-------

[](#credits)

- [Henry Gonzalez](https://github.com/Mancoide)

License
-------

[](#license)

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

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity19

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/6f55920528e8380c69029a0c48c1206a123f2bff6507064563c303c2f8e77498?d=identicon)[Mancoide](/maintainers/Mancoide)

---

Top Contributors

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

### Embed Badge

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

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

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35816.3M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24015.5M18](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172437.8k11](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93452.6k6](/packages/botman-driver-telegram)[pixelant/pxa-social-feed

Add Facebook, Instagram, and Twitter feeds to your site.

2349.3k](/packages/pixelant-pxa-social-feed)

PHPackages © 2026

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