AllDotPy / AllDotPy/EasySwitch

🌍 Add new payment provider adapters (by country)

Open
#38 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Adapters enhancement Hactoberfest
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 BaseAdapter interface (see easyswitch/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


🎉 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.