AllDotPy / AllDotPy/EasySwitch
🌍 Add new payment provider adapters (by country)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 21
- Forks
- 17
- PR merge metrics
- No merged PRs in 30d
Description
🌍 Context
EasySwitch aims to provide a unified SDK for payment integrations, making it easier to use multiple providers without vendor lock-in.
To achieve this, we want to support as many payment aggregators as possible, especially those that are popular in specific countries/regions.
This issue is open to all contributors who want to add a payment adapter for a provider from their country 🚀
✅ How to contribute
- Pick a provider from the checklist below OR suggest another one from your country.
- Implement a new adapter in
easyswitch/integrators/. - Make sure it follows the
BaseAdapterinterface (seeeasyswitch/adapters/base.py). - Add minimal tests and documentation for the adapter.
- Open a PR referencing this issue.
📋 Suggested providers (feel free to add more!)
- Paystack (Nigeria, Ghana)
- Flutterwave (Africa-wide)
- MTN Mobile Money (MoMo) (West & Central Africa)
- Orange Money (West Africa)
- M-Pesa (Kenya, Tanzania, etc.)
- PayPal (Global)
- Stripe (Global)
- Square (US, Global)
- Klarna (Europe)
- WeChat Pay (China)
- Alipay (China)
💡 Don’t see your provider? Add it!
This checklist is not exhaustive — you are encouraged to propose any aggregator from your country that isn’t yet supported.
📚 Resources
- Base adapter class:
easyswitch/adapters/base.py - Contribution guide: here
🎉 Hacktoberfest-friendly
This issue is perfect for Hacktoberfest contributors:
- Each adapter can be added in a separate PR.
- Contributions can cover code, docs, or tests.
- You don’t need to be an expert — just follow the base adapter structure.
Let’s make EasySwitch the go-to open-source SDK for global payment integrations 💜
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Choose an unsupported payment provider, then read easyswitch/adapters/base.py and CONTRIBUTING.md before examining existing adapters in easyswitch/integrators/. Implement the provider adapter against the BaseAdapter interface, add minimal tests and documentation, and confirm the contribution is ready for a PR referencing this issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend-api-design, payments
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100