indico-plugins icon indicating copy to clipboard operation
indico-plugins copied to clipboard

Stripe plugin: option to make it an official plugin?

Open HeidiSeibold opened this issue 1 year ago β€’ 11 comments

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

HeidiSeibold avatar Feb 24 '25 15:02 HeidiSeibold

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...

ThiefMaster avatar Feb 24 '25 17:02 ThiefMaster

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!

EISSeuropa avatar Feb 24 '25 17:02 EISSeuropa

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

insidi avatar Feb 24 '25 20:02 insidi

@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 πŸ™‚.

bow avatar Feb 24 '25 20:02 bow

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).

HeidiSeibold avatar Feb 25 '25 08:02 HeidiSeibold

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).

ThiefMaster avatar Apr 10 '25 18:04 ThiefMaster

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.

ThiefMaster avatar Apr 10 '25 18:04 ThiefMaster

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 avatar Apr 11 '25 15:04 ThiefMaster

@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.

bow avatar Apr 11 '25 21:04 bow

Thanks! I already got and accepted the PyPI invitation.

ThiefMaster avatar Apr 11 '25 21:04 ThiefMaster

Great πŸ™‚ ~ removed myself from the package just now. Thanks for taking this over @ThiefMaster and good luck with the conference @HeidiSeibold.

bow avatar Apr 11 '25 21:04 bow

So cool, thanks everyone! πŸ‘

We'll be able to use this for many events to come πŸ’ƒ

HeidiSeibold avatar Apr 22 '25 06:04 HeidiSeibold

@bow can you please add me as an owner on the testpypi package as well?

https://test.pypi.org/project/indico-plugin-payment-stripe/

ThiefMaster avatar May 15 '25 14:05 ThiefMaster

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 avatar May 15 '25 15:05 ThiefMaster

@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-.dev) instead of the one used now (this latter one is not in use anymore). Thanks!

bow avatar May 18 '25 22:05 bow

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 avatar May 18 '25 22:05 ThiefMaster

@ThiefMaster Indeed it is. Thanks again!

bow avatar May 21 '25 18:05 bow