PHPackages                             guysolamour/laravel-cinetpay - 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. guysolamour/laravel-cinetpay

ActiveLibrary[Payment Processing](/categories/payments)

guysolamour/laravel-cinetpay
============================

A laravel wrapper for cinetpay

v2.0(3y ago)421.0k↓37.5%1MITPHPPHP ^7.3|^8.0

Since Nov 30Pushed 2y ago1 watchersCompare

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

READMEChangelog (2)Dependencies (4)Versions (3)Used By (0)

Cinetpay
========

[](#cinetpay)

[![Packagist](https://camo.githubusercontent.com/e8a4564c593664974d70622423ee9dfd4f1237e19f1450bfd0cc2bc8c8e6266c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f677579736f6c616d6f75722f6c61726176656c2d63696e65747061792e737667)](https://packagist.org/packages/guysolamour/laravel-cinetpay)[![Packagist](https://camo.githubusercontent.com/335440d65438ad806903a1b1bd5cc90ad903523a3acb6f8a77c1da27e995bea5/68747470733a2f2f706f7365722e707567782e6f72672f677579736f6c616d6f75722f6c61726176656c2d63696e65747061792f642f746f74616c2e737667)](https://packagist.org/packages/guysolamour/laravel-cinetpay)[![Packagist](https://camo.githubusercontent.com/1fed6d419d4f4d789237958df0058a1f39b161753c18c1106674192b59de0d41/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f677579736f6c616d6f75722f6c61726176656c2d63696e65747061792e737667)](https://packagist.org/packages/guysolamour/laravel-cinetpay)

Ce package est un wrapper autour du pour effectuer des paiements en ligne. Vous pouvez visiter leur [site internet](https://cinetpay.com) pour en savoir plus sur leurs différents services.

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

[](#installation)

Install via composer

```
composer require guysolamour/laravel-cinetpay
```

Prerequisites
-------------

[](#prerequisites)

- PHP &gt;= 8
- Laravel &gt;= 8

### Publish package assets

[](#publish-package-assets)

```
php artisan vendor:publish --provider="Guysolamour\Cinetpay\ServiceProvider"
```

Usage
-----

[](#usage)

### Etape 1

[](#etape-1)

Ajoutez les clés api dans le fichier .env

```
CINETPAY_API_KEY="your api key"
CINETPAY_SITE_ID="your site id"
# Ces différentes routes seront automatiquement créés pour vous
CINETPAY_NOTIFY_URL="/cinetpay/notify"
CINETPAY_RETURN_URL="/cinetpay/return"
CINETPAY_CANCEL_URL="/cinetpay/cancel"
```

### Etape 2 : Création des routes de redirection

[](#etape-2--création-des-routes-de-redirection)

Vous devrez mettre le controller responsable de gérer ces routes dans le fichier de configuration *config/cinetpay.php*

```
'controller' => \App\Http\Controllers\PaymentController::class,
```

Exemple de controller

```
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Guysolamour\Cinetpay\Cinetpay;
use Guysolamour\Cinetpay\Http\Controllers\PaymentController as CinetpayPaymentController;

class PaymentController extends CinetpayPaymentController
{
   public function cancel(Request $request)
    {
        // redirect the user where you want
        // return redirect('/'); // or redirect()->home();
    }

    public function return(Request $request, Cinetpay $cinetpay)
    {
        // $cinetpay->getTransactionBuyer();
        // $cinetpay->getTransactionDate()->toDateString();
        // $cinetpay->getTransactionCurrency();
        // $cinetpay->getTransactionPaymentMethod();
        // $cinetpay->getTransactionPaymentId();
        // $cinetpay->getTransactionPhoneNumber();
        // $cinetpay->getTransactionPhonePrefix();
        // $cinetpay->getTransactionLanguage();
        // $cinetpay->isValidPayment();

        if ($cinetpay->isValidPayment()) {
            // success
        } else {
            // fail
        }

        // redirect the user where you want
        // return redirect('/'); // or redirect()->home();
    }

    public function notify(Request $request, Cinetpay $cinetpay)
    {
        // $cinetpay->getTransactionBuyer();
        // $cinetpay->getTransactionDate()->toDateString();
        // $cinetpay->getTransactionCurrency();
        // $cinetpay->getTransactionPaymentMethod();
        // $cinetpay->getTransactionPaymentId();
        // $cinetpay->getTransactionPhoneNumber();
        // $cinetpay->getTransactionPhonePrefix();
        // $cinetpay->getTransactionLanguage();
        // $cinetpay->isValidPayment();

        if ($cinetpay->isValidPayment()){
            // success
        }else {
            // fail
        }

        // redirect the user where you want
        // return redirect('/'); // or redirect()->home();
    }
}
```

Vous pouvez manuellemet créer les routes de redirection depuis votre fichier de route web.php

```
Route::get('/cinetpay/cancel', [PaymentController::class, 'cancel'])->name('cinetpay.cancel');
Route::post('/cinetpay/notify', [PaymentController::class, 'notify'])->name('cinetpay.notify');
Route::post('/cinetpay/return', [PaymentController::class, 'return'])->name('cinetpay.return')
```

ou uliser cette méthode , toujours depuis le fichier web.php

```
/*
* Cette fonction enregistra les routes pour vous
*/
 \Guysolamour\Cinetpay\Facades\Utils::routes();
```

### Etape 3

[](#etape-3)

Afficher le bouton de paiement sur une page.

Depuis le controller, créez une instance de la classe **\\Guysolamour\\Cinetpay\\Cinetpay** en le personnalisant avec l'aide des différentes méthodes existantes sur la classe.

Lorsque la fonction init est appellée, elle récupera les cles apis et les routes de redirection dans le fichier .env et construira l'instance de la classe pour vous avec toutes ces valeurs.

```
$cinetpay = \Guysolamour\Cinetpay\Cinetpay::init();
```

Ajoutez l'identifiant de la transaction, cette valeur devra etre stocke dans votre application afin d'identififier et vérfier le statut de chaque paiement. Cette valeur est obligatoire et il existe plusieurs facons de le générer

```
$cinetpay = \Guysolamour\Cinetpay\Cinetpay::init()
  ->setTransactionId($transactionId) // must be unique
;
```

Il existe une méthode statique au sein de la classe qui génère des identifiants de transaction.

```
$transactionId= \Guysolamour\Cinetpay\Cinetpay::generateTransId(); // cette valeur devra etre stocke dans votre application afin d'identififier et vérfier le statut de chaque paiement
$cinetpay = \Guysolamour\Cinetpay\Cinetpay::init()
  ->setTransactionId($transactionId) // must be unique
;
```

Ajoutez l'identifiant de l'acheteur pour faire la liaison entre le l'acheteur et le paiement. L'identifiant doit etre unique à chaque acheteur.

```
$transactionId= \Guysolamour\Cinetpay\Cinetpay::generateTransId(); // cette valeur devra etre stocke dans votre application afin d'identififier et vérfier le statut de chaque paiement
$user = \App\Models\User::first();

$cinetpay = \Guysolamour\Cinetpay\Cinetpay::init()
  ->setTransactionId($transactionId) // must be unique
  ->setBuyerIdentifiant($user->email ) # or $user->id
;
```

Cette partie n'est pas obligatoire mais vous pouvez ajouter le numéro qui sera utilisé pour pre remplir le formulaire du paiment.

```
$transactionId= \Guysolamour\Cinetpay\Cinetpay::generateTransId(); // cette valeur devra etre stocke dans votre application afin d'identififier et vérfier le statut de chaque paiement
$user = \App\Models\User::first();

$cinetpay = \Guysolamour\Cinetpay\Cinetpay::init()
  ->setTransactionId($transactionId) // must be unique
  ->setBuyerIdentifiant($user->email ) # or $user->id
  ->setPhonePrefixe('225') // for ivory coast
  ->setCelPhoneNum('0102030405')
;
```

Ajouter la désignation ou nom ou description du produit à acheter

```
$transactionId= \Guysolamour\Cinetpay\Cinetpay::generateTransId(); // cette valeur devra etre stocke dans votre application afin d'identififier et vérfier le statut de chaque paiement

$user = \App\Models\User::first();
$cinetpay = \Guysolamour\Cinetpay\Cinetpay::init()
  ->setTransactionId($transactionId) // must be unique
  ->setBuyerIdentifiant($user->email ) # or $user->id
  ->setPhonePrefix('225') // for ivory coast
  ->setCelPhoneNum('0102030405')
  ->setDesignation('Mackbook pro 2021 m1')
;
```

Ajouter le montant total de la transaction, c'est ce montant qui sera facturé au client.

```
$transactionId= \Guysolamour\Cinetpay\Cinetpay::generateTransId(); // cette valeur devra etre stocke dans votre application afin d'identififier et vérfier le statut de chaque paiement

$user = \App\Models\User::first();

$cinetpay = \Guysolamour\Cinetpay\Cinetpay::init()
  ->setTransactionId($transactionId) // must be unique
  ->setBuyerIdentifiant($user->email ) # or $user->id
  ->setPhonePrefix('225') // for ivory coast
  ->setCelPhoneNum('0102030405')
  ->setDesignation('Mackbook pro 2021 m1')
  ->setAmount('950000')
;
```

Enfin passez la variabe à la vue qui sera chargé d'afficher le bouton de paiement.

```
return view('shop.checkout', ['cinetpay' => $cinetpay]);
```

```
$user = \App\Models\User::first();
$cinetpay = \Guysolamour\Cinetpay\Cinetpay::init()
  ->setTransactionId($transactionId) // must be unique
  ->setBuyerIdentifiant($user->email ) # or $user->id
  ->setPhonePrefix('225') // for ivory coast
  ->setCelPhoneNum('0102030405')
  ->setDesignation('Mackbook pro 2021 m1')
  ->setAmount('950000')
;
```

### Etape 4: Personnalisation du bouton

[](#etape-4-personnalisation-du-bouton)

Dans le fichier

```
{!! $cinetpay !!}
```

Pour changer le label du bouton

```
{!! $cinetpay->show('buy quickly with mobile money') !!}
```

Pour changer l'apparence du boutn (css), il faudra retirer les styles par défaut

```
# config/cinetpay.php

return [
  'button' => [
    'use_default_style' => false,
  ]
];
```

Ajouter des classes css au bouton

```
# config/cinetpay.php

return [
  'button' => [
    'class' => 'btn btn-primary ben-block',
  ]
];
```

Ajoutez un identifiant au bouton

```
# config/cinetpay.php

return [
  'button' => [
    'id' => 'paybutton',
  ]
];
```

Ajouter directement du css inline

```
# config/cinetpay.php

return [
  'button' => [
    'style' => 'color: white; font-weight: bold',
  ]
];
```

Ajoutez des attributs html au bouton

```
# config/cinetpay.php

return [
  'button' => [
      'attributes' => [
        'data-button' => 'pay'
      ],
  ]
];
```

ou changer carrement le html du bouton

```
# config/cinetpay.php

return [
  'button' => [
    # :label pour le label du bouton
    # :id pour l'id du bouton
    # :class pour les classes du bouton
      'html' => " ",
  ]
];
```

Security
--------

[](#security)

If you discover any security related issues, please email instead of using the issue tracker.

Credits
-------

[](#credits)

- [All contributors](https://github.com/guysolamour/cinetpay/graphs/contributors)

This package is bootstrapped with the help of [melihovv/laravel-package-generator](https://github.com/melihovv/laravel-package-generator).

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

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

Total

2

Last Release

1178d ago

Major Versions

v1.0.0 → v2.02023-02-26

PHP version history (2 changes)v1.0.0PHP &gt;=7.3

v2.0PHP ^7.3|^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/45a6375d79a9d7c7b3947473bef714f03a02bb0341d06e6c17ca114b82b0b01d?d=identicon)[guysolamour](/maintainers/guysolamour)

---

Top Contributors

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

---

Tags

laravelpaymentcinetpay

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/guysolamour-laravel-cinetpay/health.svg)

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

###  Alternatives

[sebdesign/laravel-viva-payments

A Laravel package for integrating the Viva Payments gateway

4845.9k](/packages/sebdesign-laravel-viva-payments)[henryejemuta/laravel-monnify

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

132.1k](/packages/henryejemuta-laravel-monnify)[dena-a/iran-payment

a Laravel package to handle Internet Payment Gateways for Iran Banking System

312.4k1](/packages/dena-a-iran-payment)

PHPackages © 2026

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