Ingenico payment plugin


#1

First of all, I’m not a python developer at all, but I’m trying to upgrade our payment plugin (Ingenico) from 1.2 to 2.0. Cloned the directory ~/.venv/lib/python2.7/site-packages/indico_payment_paypal/ to ~/.venv/lib/python2.7/site-packages/indico_payment_ingenico/, then changed all references to paypal and made some basic changes. Also added the plugin to ~/etc/indico.conf
After restarting I get:
2018-01-23 11:32:16,818 ERROR 0000000000000000 indico.plugins Plugin payment_ingenico does not exist
Browser just gives “Internal Server Error”

What other files or directories do I need to modify to get the plugin working?


Indico payment plugin
#2

If you want to write a new payment plugin, please clone it from Git and use this as a starting point. Just copying files in the virtualenv won’t help.

I would also recommend you to create a Git repo for your plugin and make it Open Source - like this others can provide you with feedback or maybe even use it in their own instance.

FYI, if you are not a developer I think you will need to ask a developer to do this - the plugin API completely changed between 1.x and 2.0, so it’s more rewriting the plugin rather than just adapting it.


#3

Thanks.
Now I got it working after cloning from git and installing it with python setup.py install.
This plugin is really specific to our university, so to me it seems pointless to publish it.


Installing a self made payment plugin
#4

Agreed, if it’s not a provider available to the public it indeed does not make much sense.

BTW, pip install . is the preferred way of installing a package instead of python setup.py install. Ideally, for deployment you would build a Python wheel from it, copy it to your server, and then pip install yourfile.whl there. There is actually a helper script that builds the wheel for you:

./bin/maintenance/build-wheel.py plugin /path/to/your/plugin