Git Product home page Git Product logo

syliusmercanetbnpparibasplugin's Introduction

Mercanet BNP Paribas Plugin for Sylius


Slack Support

At BitBag we do believe in open source. However, we are able to do it just because of our awesome clients, who are kind enough to share some parts of our work with the community. Therefore, if you feel like there is a possibility for us working together, feel free to reach us out. You will find out more about our professional services, technologies and contact details at https://bitbag.io/.

Table of Content


Overwiev


This plugin allows you to integrate Mercanet BNP Paribas payment system with Sylius platform app.

We are here to help

This open-source plugin was developed to help the Sylius community and make Mercanet BNP Paribas payments platform available to any Sylius store. If you have any additional questions, would like help with installing or configuring the plugin or need any assistance with your Sylius project - let us know!

Installation


Requirements

We work on stable, supported and up-to-date versions of packages. We recommend you to do the same.

Package Version
PHP ^7.1
Sylius 1.0

$ composer require bitbag/mercanet-bnp-paribas-plugin

Add plugin dependencies to your AppKernel.php file:

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

Usage


Go to the payment methods in your admin panel. Now you should be able to add new payment method for Mercanet BNP Paribas gateway.

Testing


$ wget http://getcomposer.org/composer.phar
$ php composer.phar install
$ yarn install
$ yarn run gulp
$ php bin/console sylius:install --env test
$ php bin/console server:start --env test
$ open http://localhost:8000
$ bin/behat features/*
$ bin/phpspec run

About us


BitBag is an agency that provides high-quality eCommerce and Digital Experience software. Our main area of expertise includes eCommerce consulting and development for B2C, B2B, and Multi-vendor Marketplaces. The scope of our services related to Sylius includes:

  • Consulting in the field of strategy development
  • Personalized headless software development
  • System maintenance and long-term support
  • Outsourcing
  • Plugin development
  • Data migration

Some numbers regarding Sylius:

  • 20+ experts including consultants, UI/UX designers, Sylius trained front-end and back-end developers,
  • 100+ projects delivered on top of Sylius,
  • Clients from 20+ countries
  • 3+ years in the Sylius ecosystem.

If you need some help with Sylius development, don't be hesitate to contact us directly. You can fill the form on this site or send us an e-mail to [email protected]!


Community


For online communication, we invite you to chat with us & other users on Sylius Slack.

Demo Sylius shop


We created a demo app with some useful use-cases of plugins! Visit b2b.bitbag.shop to take a look at it. The admin can be accessed under https://b2b.bitbag.shop/admin/login link and sylius: sylius credentials. Plugins that we have used in the demo:

BitBag's Plugin GitHub Sylius' Store
ACL PLugin Private. Available after the purchasing. https://plugins.sylius.com/plugin/access-control-layer-plugin/
Braintree Plugin https://github.com/BitBagCommerce/SyliusBraintreePlugin https://plugins.sylius.com/plugin/braintree-plugin/
CMS Plugin https://github.com/BitBagCommerce/SyliusCmsPlugin https://plugins.sylius.com/plugin/cmsplugin/
Elasticsearch Plugin https://github.com/BitBagCommerce/SyliusElasticsearchPlugin https://plugins.sylius.com/plugin/2004/
Mailchimp Plugin https://github.com/BitBagCommerce/SyliusMailChimpPlugin https://plugins.sylius.com/plugin/mailchimp/
Multisafepay Plugin https://github.com/BitBagCommerce/SyliusMultiSafepayPlugin
Wishlist Plugin https://github.com/BitBagCommerce/SyliusWishlistPlugin https://plugins.sylius.com/plugin/wishlist-plugin/
Sylius' Plugin GitHub Sylius' Store
Admin Order Creation Plugin https://github.com/Sylius/AdminOrderCreationPlugin https://plugins.sylius.com/plugin/admin-order-creation-plugin/
Invoicing Plugin https://github.com/Sylius/InvoicingPlugin https://plugins.sylius.com/plugin/invoicing-plugin/
Refund Plugin https://github.com/Sylius/RefundPlugin https://plugins.sylius.com/plugin/refund-plugin/

If you need an overview of Sylius' capabilities, schedule a consultation with our expert.

Additional resources for developers


To learn more about our contribution workflow and more, we encourage ypu to use the following resources:

License


This plugin's source code is completely free and released under the terms of the MIT license.

Contact


If you want to contact us, the best way is to fill the form on our website or send us an e-mail to [email protected] with your question(s). We guarantee that we answer as soon as we can!

syliusmercanetbnpparibasplugin's People

Contributors

bitbager avatar damonsson avatar joelisayas avatar loocos avatar patrick477 avatar rhacini avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

syliusmercanetbnpparibasplugin's Issues

PHP 8 support

Hi,

Would it be possible to add support for PHP 8?

Call to a member function setSecretKey() on string

When i chose the BNP Paribas mercanet solution for payment, it throws this error :

Call to a member function setSecretKey() on string in vendor/bitbag/mercanet-bnp-paribas-plugin/src/MercanetBnpParibasGatewayFactory.php (line 54)

I think that the service defined in $config['payum.http_client'] is not fetched and it's the string '@bitbag.mercanet_bnp_paribas.bridge.mercanet_bnp_paribas_bridge' in the array.

Error when cancelling a payment

Hi,
I'm using SyliusMercanetBnpParibasPlugin 2.2.2 with Sylius 1.4.7.
When making an order, if I cancel my payment on Mercanet site, I get the following error when going back to sylius.

Unknown method getAuthorisationId

The error seems come from bitbag/mercanet-bnp-paribas-plugin/src/Action/CaptureAction.php, at line 93.

$model['authorisationId'] = $this->mercanetBnpParibasBridge->getAuthorisationId();

To remove the error, I have to replace this line with the following:

if ($model['status'] == PaymentInterface::STATE_COMPLETED) {
    $model['authorisationId'] = $this->mercanetBnpParibasBridge->getAuthorisationId();
}

In sylius back-office, cancelled and validated orders seem to be correctly saved.

Can you reproduce the bug? Is it a valid fix?
Thanks for your time.

error on shaCompose

Attempted to call function "shaCompose" from namespace "BitBag\MercanetBnpParibasPlugin\Legacy"

public function shaCompose(array $parameters)
    {
        // compose SHA string
        $shaString = '';
        foreach ($parameters as $key => $value) {
            if ($key != 'keyVersion') {
                if (is_array($value)) {
                    shaCompose($value);
                } else {
                    $shaString .= $value;
                }
            }
        }
        $shaString = str_replace("[", "", $shaString);
        $shaString = str_replace("]", "", $shaString);
        $shaString = str_replace("\",\"", "", $shaString);
        $shaString = str_replace("\"", "", $shaString);
        return $shaString;
    }

missing the $this-> before the shaCompose call;

This issue does not allow multiple payment with the instalment data.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.