PHPackages                             restoore/laravel-systempay - 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. restoore/laravel-systempay

ActiveLibrary[Payment Processing](/categories/payments)

restoore/laravel-systempay
==========================

Easily create a systempay payment form.

1.0.2(7y ago)511.2k6[1 issues](https://github.com/restoore/laravel-systempay/issues)MITPHPPHP &gt;=5.4

Since Jun 21Pushed 7y ago3 watchersCompare

[ Source](https://github.com/restoore/laravel-systempay)[ Packagist](https://packagist.org/packages/restoore/laravel-systempay)[ RSS](/packages/restoore-laravel-systempay/feed)WikiDiscussions master Synced yesterday

READMEChangelog (3)Dependencies (1)Versions (5)Used By (0)

Create Systempay payment form for Laravel 5.x
=============================================

[](#create-systempay-payment-form-for-laravel-5x)

[![Package](https://camo.githubusercontent.com/340e3472d664bef023d40e12b83b88055be05c6969998f2185e60151d7c03008/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5061636b6167652d726573746f6f72652532466c61726176656c2d73797374656d7061792e737667)](https://camo.githubusercontent.com/340e3472d664bef023d40e12b83b88055be05c6969998f2185e60151d7c03008/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5061636b6167652d726573746f6f72652532466c61726176656c2d73797374656d7061792e737667)[![Laravel](https://camo.githubusercontent.com/fa44c508d7e487bb876cc4ba1977214ea22162a1c9dc5b1803c49837634c6f3a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f466f722d4c61726176656c253230254532253839254135253230352e342d79656c6c6f772e737667)](https://camo.githubusercontent.com/fa44c508d7e487bb876cc4ba1977214ea22162a1c9dc5b1803c49837634c6f3a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f466f722d4c61726176656c253230254532253839254135253230352e342d79656c6c6f772e737667)[![Release](https://camo.githubusercontent.com/40ee085ad6199db0fd805b6130ed34ab85f334120165b64e05ce3b8dece18745/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f726573746f6f72652f6c61726176656c2d73797374656d7061792e737667)](https://camo.githubusercontent.com/40ee085ad6199db0fd805b6130ed34ab85f334120165b64e05ce3b8dece18745/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f726573746f6f72652f6c61726176656c2d73797374656d7061792e737667)[![Packagist](https://camo.githubusercontent.com/15134f975f7d6e795d2bd19fb853e3f08b6a2c682cedd42354f92689c3ff5b6d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f726573746f6f72652f6c61726176656c2d73797374656d7061792e737667)](https://camo.githubusercontent.com/15134f975f7d6e795d2bd19fb853e3f08b6a2c682cedd42354f92689c3ff5b6d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f726573746f6f72652f6c61726176656c2d73797374656d7061792e737667)[![MIT License](https://camo.githubusercontent.com/3ace2d6c9379bb3b26b8f3e618a40dfc1afa219f582d000bf8136b47a0c607f0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f726573746f6f72652f6c61726176656c2d73797374656d7061792e737667)](https://camo.githubusercontent.com/3ace2d6c9379bb3b26b8f3e618a40dfc1afa219f582d000bf8136b47a0c607f0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f726573746f6f72652f6c61726176656c2d73797374656d7061792e737667)

What is the point ?
-------------------

[](#what-is-the-point-)

The library provides an easy and fast systempay form creation. She helps to instanciate all required parameters and create the form to access to payment interface. To know required parameters, go to

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

[](#installation)

First you need to add the component to your composer.json

```
composer require restoore/laravel-systempay

```

Update your packages with *composer update* or install with *composer install*. Execute *php artisan vendor:publish --provider="Restoore\\Systempay\\SystempayServiceProvider"* command to copy systempay.php configuration file in your environment

After updating composer, add the ServiceProvider to the providers array in config/app.php

#### For Laravel &gt;= 5.1

[](#for-laravel--51)

```
  'providers' => [
      ...
      Restoore\Systempay\SystempayServiceProvider::class,
  ]
```

#### For Laravel 5.0

[](#for-laravel-50)

```
  'providers' => [
      ...
      Restoore\Systempay\SystempayServiceProvider,
  ]
```

#### For Laravel &gt;= 5.5

[](#for-laravel--55)

It's automatic, thanks to xmoroccan for this update

Configuration
-------------

[](#configuration)

By default, the package comes with an example configuration file : config/systempay.php

```
return [

    'YOUR_SITE_ID' => [
        'key' => 'YOUR_KEY',
        'env' => 'PRODUCTION',
        'params' => [
            //Put here your generals payment call parameters
            'vads_page_action' => 'PAYMENT',
            'vads_action_mode' => 'INTERACTIVE',
            'vads_payment_config' => 'SINGLE',
            'vads_page_action' => 'PAYMENT',
            'vads_version' => 'V2',
            'vads_currency' => '978'
        ]
    ],
    //Systempay's url
    'url' => 'https://paiement.systempay.fr/vads-payment/',

];
```

In this file, you have to put your *site\_id* and your *key*. This two parameters are given by Systempay. As you can see, you can create a configuration array to several shops. In this array, you can also put generals parameters of your transaction.

### Test environment

[](#test-environment)

If you are running your app in a test environment, you can override *key* and *env* parameters using .env file

Use this following constants names : SYSTEMPAY\_&lt;SITE\_ID&gt;*KEY and SYSTEMPAY*&lt;SITE\_ID&gt;\_ENV

Create a payment form
---------------------

[](#create-a-payment-form)

Now we are finally ready to use the package! Here is a little example of code to explain how does it work

```
    //create a Systempay object class with your site id in parameter. Note that it will automatically get your configuration in config/systempay.php
   $systempay = App::make('systempay', ['site_id' => '11111']);
    //add some parameters
    $systempay->set_amount(1500)
        ->set_trans_id(1112441)
        ->set_order_info2('New customer !');
    //create the signature
    $systempay->set_signature();
    //create html systempay call form
    $payment_form = $systempay->get_form('Valider et payer');
```

#### What you have to know about this code

[](#what-you-have-to-know-about-this-code)

1. You can get and set all Systempay parameters using accessor
2. All setters are chainables functions
3. Signature will be automatically calculated and put to the parameters array. Don't use this function before giving all parameters.
4. *get\_form* function takes the form button you want to show in parameter. Don't forget to use {!! !!} for surrounding the variable in your view.

Other useful functions
----------------------

[](#other-useful-functions)

### add\_product

[](#add_product)

Add a product to the order

#### Parameters

[](#parameters)

array $product , must have the following keys : 'label,amount,type,ref,qty

#### Exemples

[](#exemples)

```
    $systempay = App::make('systempay', ['site_id' => '11111']);
    $systempay->add_product(
        [
            'label' => 'Concert Coldplay 2016',
            'amount' => 235.00,
            'type' => 'ENTERTAINMENT',
            'ref' => 'COLD016',
            'qty' => 3
        ]
    );
```

Note : the amount of each products price **must not** be multiplied by 100

### set\_amount

[](#set_amount)

Defines the total amount of the order. If you doesn't give the amount in parameter, it will be automaticly calculated by the sum of products you've got in your basket.

#### Parameters

[](#parameters-1)

\[optional\] int $amount, systempay format. ex : for a product with a price of 150€, give 15000

#### Exemples

[](#exemples-1)

```
   $systempay = App::make('systempay', ['site_id' => '11111']);
   $systempay->add_product(
       [
           'label' => 'Concert Coldplay 2016',
           'amount' => 235.00,
           'type' => 'ENTERTAINMENT',
           'ref' => 'COLD016',
           'qty' => 3
       ]
   );
   $systempay->set_amount();
   echo $systempay->get_amount(); //will display 705.00 (3*235.00)
```

### get\_amount

[](#get_amount)

Get total amount of the order

#### Parameters

[](#parameters-2)

\[optional\] bool $decimal if true, you get a decimal otherwise you get standard systempay amount format (int). Default value is true.

#### Exemples

[](#exemples-2)

```
  $systempay = App::make('systempay', ['site_id' => '11111']);
  $systempay->add_product(
      [
          'label' => 'Concert Coldplay 2016',
          'amount' => 235.00,
          'type' => 'ENTERTAINMENT',
          'ref' => 'COLD016',
          'qty' => 3
      ]
  );
  $systempay->set_amount();
  echo $systempay->get_amount(); //will display 705.00 (3*235.00)
  echo $systempay->get_amount(false); //will display 70500 (3*235.00)
```

### set\_params

[](#set_params)

Method to do massive assignement of parameters

#### Parameters

[](#parameters-3)

array $params associative array of systempay parameters

#### Exemples

[](#exemples-3)

```
   $systempay = App::make('systempay', ['site_id' => '11111']);
   $systempay->set_params(
       [
           'vads_page_action' => 'PAYMENT',
           'vads_action_mode' => 'INTERACTIVE',
           'vads_payment_config' => 'SINGLE',
           'vads_page_action' => 'PAYMENT',
           'vads_version' => 'V2',
           'vads_trans_date' => gmdate('YmdHis'),
           'vads_currency' => '978'
       ]
   );
```

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 85% 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 ~292 days

Total

3

Last Release

2714d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0988c2fd58cb4a3ff1ee8500692d29c66a4297267369c9d5e9e7c3583d019bf4?d=identicon)[restoore](/maintainers/restoore)

---

Top Contributors

[![restoore](https://avatars.githubusercontent.com/u/7040754?v=4)](https://github.com/restoore "restoore (17 commits)")[![CharlieEtienne](https://avatars.githubusercontent.com/u/9772943?v=4)](https://github.com/CharlieEtienne "CharlieEtienne (2 commits)")[![yaayes](https://avatars.githubusercontent.com/u/20878658?v=4)](https://github.com/yaayes "yaayes (1 commits)")

---

Tags

laravelsystempay

### Embed Badge

![Health badge](/badges/restoore-laravel-systempay/health.svg)

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

###  Alternatives

[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[duncanmcclean/statamic-cargo

Comprehensive e-commerce addon for Statamic. Build bespoke e-commerce sites without the complexity.

3416.9k](/packages/duncanmcclean-statamic-cargo)[api-platform/laravel

API Platform support for Laravel

58171.4k14](/packages/api-platform-laravel)[ecotone/laravel

Ecotone for Laravel — CQRS, Event Sourcing, Sagas, Durable Workflows, and Outbox on top of Laravel Queue, via PHP attributes.

21318.6k3](/packages/ecotone-laravel)[codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 13.x projects. It includes FilamentPHP 5.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

3891.8k](/packages/codewithdennis-larament)[glennraya/xendivel

A Laravel package to easily integrate Xendit payment gateway. It supports credit and debit cards, and e-wallet payments and custom invoices, queued notifications, webhook listeners and more.

442.7k](/packages/glennraya-xendivel)

PHPackages © 2026

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