ActiveMerchant Next - activemerchant/active_merchant GitHub Wiki

There are lots of ways ActiveMerchant could improve as a framework, and features it could support in the future. Rather than trying to track those in Issues it seems better to use Issues for active development and put future cross-cutting features/ideas/refactorings/etc. somewhere they can be discussed and maintained without cluttering the Issue tracker. Thus this page.

Of course once someone's ready to actually dig in and make one of these ideas happen, it would move into the Issue tracker for discussion and tracking while it's being implemented. And note that just because something is here doesn't mean it's going to happen, has been agreed to by the ActiveMerchant Core team, etc.

Proposed Framework Improvements

See the last item below for example formatting.

  • Audit SSL usage
    • Rationale: Currently we do not verify SSL peers, which decreases security. Also our cert bundle is perpetually out of date.
    • Related: #114
    • In general just re-open the above task and do what titanous said. Also we should consider removing the bundle from the distribution altogether, though that may impact out of the box usability.
  • Condense integrations and their tests into a single file
    • Rationale: The current file separation doesn't provide value, but rather makes it harder to see how the pieces interact. Also, autoload.
    • Related: #117
  • Have tests for new gateways to verify implementation conforms to AM standards
    • Rationale: Would help implementors check if their new gateway/integration conforms to the interface ActiveMerchant expects. Also makes life much easier for maintainers trying to merge new implementations.
    • Related: #116, #491, ActiveModel::Lint::Tests
    • #116 has some good examples of potential checks that could be done.
    • Could spit out suggestions as well warnings, guiding folks towards better implementations.
  • Rename the project to LlamasForEveryone.
    • Rationale: naming things Active* is so last year
    • Related: issue #666
    • To do this we'll need to rebrand all the things, get everyone to change their code, and make sure no one has a trademark on using Llamas in names. Should be a cinch.