Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Add modular support for additional payment providers #271

Open
proffalken opened this issue Jul 29, 2024 · 2 comments
Open

[Feature] Add modular support for additional payment providers #271

proffalken opened this issue Jul 29, 2024 · 2 comments
Labels
enhancement New feature or request wontfix This will not be worked on

Comments

@proffalken
Copy link
Contributor

Is your feature request related to a problem? Please describe.

Here in the UK, new payment providers seem to be popping up all over the place, with one in particular offering zero transaction fees on cardless payments

If we were able to continue using MemberMatters but switch from Stripe to another, lower/zero-fee provider, this could save us significant amounts of money each month.

Describe the solution you'd like
This proposal is for a "modular payments system", with stripe as the default to ensure backward compatibility.

The solution would enable developers to add modules to the platform and have a common interface for billing regardless of the payment platform chosen.

Describe alternatives you've considered
Add specific payment providers into the main code for each payment provider that is asked for. This is possibly the faster option, but it doesn't give much flexibility in future.

Additional context
Specific payment provider I'm currently looking at is https://www.crezco.com/

@jabelone
Copy link
Member

jabelone commented Aug 4, 2024

Heya! I get the appeal of lower cost options, but Stripe does a significant amount of heavy lifting and adding support for even just another billing platform, let alone a whole modular payments system is not something that's really practical. This is due to the significant amount of work and a complete rewrite of large amounts of MemberMatters required to do so. In addition, every time you increase the complexity of certain parts (and billing is already by far the most complex part of MM) it becomes more time consuming to maintain ongoing when APIs update/change etc.

Happy to leave this here if someone wants to pick it up in the future, but they'll have to convince me it's worth all the hassle and commit to maintaining it into the future. :p

Rough list of changes required for this to work:

  • A brand new modular payments system would have to be added to abstract specific platforms
  • the entire Stripe integration would have to be rewritten
  • a brand new Crezco integration would have to be written
  • we'd have to add new webhook handlers for each platform
  • we'd have to add new frontend UI for each platform
  • create brand new payment flows (e.g. crezco seems to require users to make the payment externally based on these docs)
  • update the billing methods screen for each platform
  • thoroughly test all parts of the signup, cancellation and returning member flows
  • probably other things I have not thought of.

@jabelone jabelone added enhancement New feature or request wontfix This will not be worked on labels Aug 4, 2024
@proffalken
Copy link
Contributor Author

Thanks for the detailed response, and yeah, it's definitely not something to be undertaken lightly.

If you're happy for this to be left open then that's great, hopefully at some point myself or someone else will have time to scope this out fully!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants