Sylius Mollie payment gateway integration.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 72f51c8 Sep 5, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin first commit Apr 5, 2018
doc Update README.md Jun 4, 2018
etc/build first commit Apr 5, 2018
features Add integration with API v2 Jun 4, 2018
spec [WIP] Add integration with API v2 Jun 1, 2018
src Add csrf token Sep 5, 2018
tests Add integration with API v2 Jun 4, 2018
.gitignore first commit Apr 5, 2018
.travis.yml Fix tests Jun 4, 2018
README.md Update README.md Jun 4, 2018
behat.yml.dist Add basic implementation Apr 8, 2018
composer.json [WIP] Add integration with API v2 Jun 1, 2018
easy-coding-standard.neon first commit Apr 5, 2018
node_modules first commit Apr 5, 2018
phpspec.yml.dist Add basic implementation Apr 8, 2018
phpstan.neon first commit Apr 5, 2018
phpunit.xml.dist first commit Apr 5, 2018

README.md


Overview

This plugin allows you to integrate Mollie payment with Sylius platform app. It includes all Sylius and Mollie payment features, including recurring payment and refunding orders.

Support

We work on amazing eCommerce projects on top of Sylius and Pimcore. Need some help or additional resources for a project? Write us an email on mikolaj.krol@bitbag.pl or visit our website! 🚀

Demo

We created a demo app with some useful use-cases of the plugin! Visit demo.bitbag.shop to take a look at it. The admin can be accessed under demo.bitbag.shop/admin link and sylius: sylius credentials.

Installation

$ composer require bitbag/mollie-plugin 

Add plugin dependencies to your AppKernel.php file:

public function registerBundles()
{
    return array_merge(parent::registerBundles(), [
        ...
        
        new \BitBag\SyliusMolliePlugin\BitBagSyliusMolliePlugin(),
    ]);
}

Import required config in your app/config/config.yml file:

# app/config/config.yml

imports:
    ...
    
    - { resource: "@BitBagSyliusMolliePlugin/Resources/config/config.yml" }

Import routing on top of your app/config/routing.yml file:

# app/config/routing.yml

bitbag_sylius_mollie_plugin:
    resource: "@BitBagSyliusMolliePlugin/Resources/config/routing.yml"

Update your database

$ bin/console doctrine:migrations:diff
$ bin/console doctrine:migrations:migrate

Note: If you are running it on production, add the -e prod flag to this command.

Usage

Rendering Mollie credit card form

You can use BitBagSyliusMolliePlugin:DirectDebit:_form.html.twig and @BitBagSyliusMolliePlugin/Grid/Action/cancelSubscriptionMollie.html.twig templates for adding the form to supplementing the direct debit card data from and cancel the subscription form the Twig UI.

For an example on how to do that, take a look at these source files.

Customization

Available services you can decorate and forms you can extend

Run the below command to see what Symfony services are shared with this plugin:

$ bin/console debug:container bitbag_sylius_mollie_plugin

Recurring subscription

State Machine

For a better integration with Mollie’s recurring subscription, you can use state machine callback.

Available states:

  • Processing: Subscription created but not active yet (startdate higher than “now”)
  • Active: Subscription is in progress. Not all payments are done, but we wait until the next payment date
  • Cancelled: The merchant cancelled the subscription
  • Suspended: Mandates became invalid, so the subscription is suspended
  • Completed: All subscription payments are executed according to the timetable

Testing

$ composer install
$ cd tests/Application
$ yarn install
$ yarn run gulp
$ bin/console assets:install web -e test
$ bin/console doctrine:database:create -e test
$ bin/console doctrine:schema:create -e test
$ bin/console server:run 127.0.0.1:8080 -d web -e test
$ open http://localhost:8080
$ bin/behat
$ bin/phpspec run

Contribution

Learn more about our contribution workflow on http://docs.sylius.org/en/latest/contributing/.