PHPackages                             bnzo/laravel-fintecture - 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. bnzo/laravel-fintecture

ActiveLibrary[API Development](/categories/api)

bnzo/laravel-fintecture
=======================

An opinionated Fintecture wrapper for Laravel apps.

v0.2.4(3mo ago)0903↓50%[1 PRs](https://github.com/bnzo/laravel-fintecture/pulls)MITPHPPHP ^8.3CI passing

Since Aug 25Pushed 1mo agoCompare

[ Source](https://github.com/bnzo/laravel-fintecture)[ Packagist](https://packagist.org/packages/bnzo/laravel-fintecture)[ Docs](https://github.com/bnzo/laravel-fintecture)[ GitHub Sponsors](https://github.com/bnzo)[ RSS](/packages/bnzo-laravel-fintecture/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (17)Versions (18)Used By (0)

[![Laravel Telemaque](/art/logo.png)](/art/logo.png)

Laravel Fintecture
==================

[](#laravel-fintecture)

An opinionated Fintecture wrapper for Laravel apps.

[![Latest Version on Packagist](https://camo.githubusercontent.com/7efc3b37f04cbad52f9698088fe986d4a1947748dd7af612ea89ac7bc3215406/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f626e7a6f2f6c61726176656c2d66696e746563747572652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/bnzo/laravel-fintecture)[![GitHub Tests Action Status](https://camo.githubusercontent.com/98985c3f9c500370db6de4c8e1ab98a681b24df6896a4dda118dbffcb76dc85f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f626e7a6f2f6c61726176656c2d66696e746563747572652f74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/bnzo/laravel-fintecture/actions/workflows/tests.yml)[![GitHub Tests Action Status](https://camo.githubusercontent.com/00c1ded45f3a41ad31803f32699523e6417201c3dee786929dfd2b06293cc349/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f626e7a6f2f6c61726176656c2d66696e746563747572652f7374617469632d616e616c797369732e796d6c3f6272616e63683d6d61696e266c6162656c3d7374617469632d616e616c79736973267374796c653d666c61742d737175617265)](https://github.com/bnzo/laravel-fintecture/actions/workflows/static-analysis.yml)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/65afb6244942317f4ae008a1fa94069286e887645cd5684b97931d6f7c9c91d6/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f626e7a6f2f6c61726176656c2d66696e746563747572652f636f64696e672d7374616e64617264732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64696e672532307374616e6461726473267374796c653d666c61742d737175617265)](https://github.com/bnzo/laravel-fintecture/actions/workflows/coding-standards.yml)[![Total Downloads](https://camo.githubusercontent.com/02c7b6b0fecd3733eba69cf42170f3e973f8ae1c27b16620ba597b042da399f6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f626e7a6f2f6c61726176656c2d66696e746563747572652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/bnzo/laravel-fintecture)

⚠️ Package under developement, do not use it in production. ⚠️
--------------------------------------------------------------

[](#️-package-under-developement-do-not-use-it-in-production-️)

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

[](#installation)

You can install the package via composer:

```
composer require bnzo/laravel-fintecture
```

You can publish the config file with:

```
php artisan vendor:publish --tag="laravel-fintecture-config"
```

This is the contents of the published config file:

```
return [
    'app_id' => env('FINTECTURE_APP_ID'),
    'app_secret' => env('FINTECTURE_APP_SECRET'),
    'base_url' => env('FINTECTURE_BASE_URL'),
    'environement' => env('FINTECTURE_ENVIRONMENT', 'sandbox'), // sandbox or production
    'private_key' => env('FINTECTURE_PRIVATE_KEY') // base64 encoded private key
];
```

Usage
-----

[](#usage)

### Create a RequestToPay URL

[](#create-a-requesttopay-url)

This is a simple call using a basic PaymentRequestData object.
Please refer to the next section if you need more payment parameters such as currency, expiration time, and method ( link, sms, email ).

```
use Bnzo\Fintecture\Data\PaymentRequestData;
use Bnzo\Fintecture\Facades\Fintecture;

$paymentData = new PaymentData(
        new AttributesData(
            amount: '272.00',
            communication: 'test'
        ),
        new CustomerData(
            email: 'julien.lefebre@my-business-sarl.com',
            name: 'Julien Lefebvre'
        )
    );

$sessionData = Fintecture::generate(
    paymentData: $paymentData
);

$sessionData->sessionId; //d2e30e2c0b9e4ce5b26f59dc386b21b2
$sessionData->url; //https://fintecture.com/v2/85b0a547-5c18-4a16-b93b-2a4f5f03127d
```

### Create a PaymentRequestData

[](#create-a-paymentrequestdata)

Not all data fields are mandatory, please refer to each Data classes to see what you can use and what are default values.

```
use Bnzo\Fintecture\Data\PaymentData;

$paymentRequestData = new PaymentData(
    new AttributesData(
        amount: '272.00',
        communication: 'Order #1',
        currency: Currency::EUR, // default Currency::EUR
        language: 'en' //default App::getLocale()
        state: "1" //default null
    ),
    new CustomerData(
        email: 'julien.lefebre@my-business-sarl.com',
        name: 'Julien Lefebvre',
        address: new AddressData(
            street: '1 rue de la paix',
            zip: '75000',
            city: 'Paris',
            country: 'FR',
        ),
    ),
    new SettingsData(
        dueAt: now()->addDay(), // default 24h
        expiresAt: now()->addDay(), // default 24h
        method: Method::Link // default Link
        permanent: false, // default false
        redirectUri: "https://myapp.test/finctecture/callback" //default null
        scheduled_expiration_policy: ScheduledExpirationPolicy::Immediate, // default Immediate
    ),
);
```

### Webhooks

[](#webhooks)

Webhooks can be receive at this url `/finctecure/webhook`

1. First, make sure to configure the webhook endpoint in your fintecture app:

[![Screenshot 2025-09-02 at 15 13 12](https://private-user-images.githubusercontent.com/17174973/484589931-f06a936b-a5ca-428b-a8b8-baa108e4be8a.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM4MjE3MzMsIm5iZiI6MTc3MzgyMTQzMywicGF0aCI6Ii8xNzE3NDk3My80ODQ1ODk5MzEtZjA2YTkzNmItYTVjYS00MjhiLWE4YjgtYmFhMTA4ZTRiZThhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzE4VDA4MTAzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTlhYzQzOWMxNWQzMDgwZmQ3ZTE0OWIyN2FkZjA1OGY2MDI1N2IyYmI3MTZiYzhiZGMxYjMyNmI3NGE5ZjI5NmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.TBK1PMRM2nSJMfY93B8FGhElwmDfigi1pLI6Zv4YQb0)](https://private-user-images.githubusercontent.com/17174973/484589931-f06a936b-a5ca-428b-a8b8-baa108e4be8a.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM4MjE3MzMsIm5iZiI6MTc3MzgyMTQzMywicGF0aCI6Ii8xNzE3NDk3My80ODQ1ODk5MzEtZjA2YTkzNmItYTVjYS00MjhiLWE4YjgtYmFhMTA4ZTRiZThhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzE4VDA4MTAzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTlhYzQzOWMxNWQzMDgwZmQ3ZTE0OWIyN2FkZjA1OGY2MDI1N2IyYmI3MTZiYzhiZGMxYjMyNmI3NGE5ZjI5NmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.TBK1PMRM2nSJMfY93B8FGhElwmDfigi1pLI6Zv4YQb0)2. Disable CSRF tokens for this route in you bootstrap app.php file:

```
//bootstrap/app.php
    ...
    ->withMiddleware(function (Middleware $middleware) {
        $middleware->validateCsrfTokens(except: [
            '/fintecture/webhook',
        ]);
    })
    ...
```

3. You can create a listener like so:

```
php artisan make:listener -e \\Bnzo\\Fintecture\\Events\\PayementCreated
```

```
// app/Listeners/ValidateBankTransfer.php
namespace App\Listeners;
use Bnzo\Fintecture\Events\PaymentCreated;

class ValidateBankTransfer
{
    public function handle(PaymentCreated $event): void
    {
        return "payment created for session {$event->sessionId}";
    }
}
```

For now, you can create listeners for the following events, but more can be added in the route file `web.php`

`PaymentCreated` and `PaymentUnsuccessful`

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

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

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [bnzo](https://github.com/17174973+bnzo)
- [All Contributors](../../contributors)

License
-------

[](#license)

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

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance86

Actively maintained with recent releases

Popularity19

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.9% 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 ~12 days

Recently: every ~36 days

Total

15

Last Release

93d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/308d3d03f4717f9c1bb177133f7b3e26b50a56b0db38d3695544ac508b16fb3d?d=identicon)[bnzo](/maintainers/bnzo)

---

Top Contributors

[![bnzo](https://avatars.githubusercontent.com/u/17174973?v=4)](https://github.com/bnzo "bnzo (187 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (5 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (1 commits)")

---

Tags

laravelbnzolaravel-fintecture

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/bnzo-laravel-fintecture/health.svg)

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

###  Alternatives

[scalar/laravel

Render your OpenAPI-based API reference

6183.9k2](/packages/scalar-laravel)[ryangjchandler/bearer

Minimalistic token-based authentication for Laravel API endpoints.

8129.8k](/packages/ryangjchandler-bearer)[combindma/laravel-facebook-pixel

Meta pixel integration for Laravel

4956.9k](/packages/combindma-laravel-facebook-pixel)[stechstudio/laravel-hubspot

A Laravel SDK for the HubSpot CRM Api

2971.0k](/packages/stechstudio-laravel-hubspot)[njoguamos/laravel-plausible

A laravel package for interacting with plausible analytics api.

208.8k](/packages/njoguamos-laravel-plausible)[tapp/filament-webhook-client

Add a Filament resource and a policy for Spatie Webhook client

1120.2k](/packages/tapp-filament-webhook-client)

PHPackages © 2026

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