Stripe plugin: option to make it an official plugin?
First of all: thank you so much for Indico! It's amazing π. Also happy 20th birthday π!
We are currently fiddling around with the different community plugins for stripe:
- https://gitlab.gnome.org/Infrastructure/indico-plugin-stripe
- https://github.com/neicnordic/indico-plugin-stripe/
Neither is up-to-date for the current Indico (and python) version. We're able to get it to work but don't feel comfortable using it as we're not 100% sure what we did is ok.
So I just wanted to bring up the question whether the stripe plugin might be useful enough for a broad enough audience to have it centrally maintained (and updated for new indico versions).
Under which circumstances would you be able to consider this?
Cc @insidi @bow @barthalion
I think it would be very useful considering how popular Stripe is, and it looks simple enough that maintaining it would not be particularly hard. Since it's already updated for v3.2, it's probably trivial to adapt it for v3.3 (it may not require any code changes).
I guess Stripe provides sandbox accounts where you don't have to provide lots of data as if you wanted to accept real payments? Because being able to test things is always important with this kind of plugins...
We can only speak for ourselves, but for us it would be a great improvement to have the assurance of this plugin being maintained and up-to-date as part of the official package!
I think it would be very useful considering how popular Stripe is, and it looks simple enough that maintaining it would not be particularly hard. Since it's already updated for v3.2, it's probably trivial to adapt it for v3.3 (it may not require any code changes).
I guess Stripe provides sandbox accounts where you don't have to provide lots of data as if you wanted to accept real payments? Because being able to test things is always important with this kind of plugins...
Stripe provides an testing API and testing cards https://docs.stripe.com/testing
@HeidiSeibold Appreciate the ping ~ though I should probably defer to whoever is currently maintaining the Stripe plugin in @neicnordic.
My commits there were the result of working on it during a conference 5-6 years ago. I have neither used Stripe nor Indico since.
I did remember having a good time figuring out the plugin and making it work ~ so if you do decide to centrally maintain a Stripe plugin, I hope the experience is similar π.
Thanks everyone for the quick and positive responses! π
We have a conference coming (useR! 2025) up and would love to use the plugin soon, if possible. @ThiefMaster, what do you need in order to make the decision and the update with the indico team? Is there any way we could help? I'd be happy to contribute a tutorial on how to test the plugin and on how to use it as a conference organiser (once the plugin is installed).
Apologies for the late reply, we've been quite busy (and still am). But I'm starting to look into this now.
@bow Just one thing I noticed, since there's currently already a package on PyPI: Would you be willing to transfer that to me (same username as here)? If we take over maintenance of the Stripe plugin, we'd also want to have control over the PyPI package (and more importantly, publish it via our CI).
Also, it would be nice to know who to credit.
For the record, these are the contributors according to Git:
40 Wibowo Arindrarto <[email protected]>
6 Claudio Wunder <[email protected]>
6 Wibowo Arindrarto <[email protected]>
5 Amgad Hanafy <[email protected]>
5 Bernard Kolobara <[email protected]>
5 Dmytro Karpenko <[email protected]>
5 Mattias Wadenstein <[email protected]>
4 James Hall <[email protected]>
2 BartΕomiej Piotrowski <[email protected]>
1 maswan <[email protected]>
I assume some made trivial contributions and thus do not need special mention in the authors metadata; my suggestion would be to list those people in the pyproject.toml authors who made significant developments, such as the initial version of the plugin, and porting it to Indico/Python 3.
You can check e.g. the files in payment_sixpay (file headers, readme, pyproject.toml) to see how we did it there.
As you can probably see from the draft PR I created yesterday evening, it was quite easy to get it to work. Still needs a bunch of cleanups, but I think it should be fairly quick to get it released assuming we sort out who needs/wants to be credited (and how) and can take over the PyPI package.
@ThiefMaster That makes sense π. You should (if not already) see the invite for the PyPI package. Once that is confirmed, I will remove myself and effectively transfer the package to you.
As for credit, my memory is really blurry right now so my version is most likely incomplete. But I can say that I remember getting a lot of help from Mattias Wadenstein. Most if not all of the work was done during the hackathon / conference, where we met and talked IRL.
It's really up to you now who to credit ~ if you do decide to include me, my email should be contact-at-[my-last-name].dev (like in this patch). The one in the git history has been inactive for some time now.
Thanks! I already got and accepted the PyPI invitation.
Great π ~ removed myself from the package just now. Thanks for taking this over @ThiefMaster and good luck with the conference @HeidiSeibold.
So cool, thanks everyone! π
We'll be able to use this for many events to come π
@bow can you please add me as an owner on the testpypi package as well?
https://test.pypi.org/project/indico-plugin-payment-stripe/
FYI the plugin is ready. Just waiting for the TestPyPI access to be fixed for our publishing workflow to work. If someone already wants to use it, just download indico_plugin_payment_stripe-3.3-py3-none-any.whl.zip, remove the .zip and pip install it.
@ThiefMaster Ah indeed, the Test PyPI should also be accessible to you as an owner now.
One small thing ~ I do appreciate that my name and email was added to the project manifest. Would you mind using my active email (contact-at-
Thanks!
Just to confirm, the .dev domain of your current email address is arindrarto?
Edit: Looking at some of your recent commits that seems to be indeed the case, so I'm going ahead with it
@ThiefMaster Indeed it is. Thanks again!