Closed jordan-brough closed 2 years ago
💯✖️👍
One of the few things preventing this is our use of ActiveMerchant::Billing::Response
. We can probably introduce our own class, which quacks the same way (duplicate the interface it has with duck-typing)
I'm going to take a stab at this
As far as I can see this requires:
Not sure yet what ActiveMerchant::Billing::Base
is used for, I can only find assignments to it, never anything reading from it, including, or extending the module.
If it isn't used and you can remove it from core without anything breaking, remove it.
@mamhoff any thoughts on how to rectify the interface with solidus_gateway?
All results that come back from gateway are handled in core/app/models/spree/payment/processing.rb
, I was thinking of checking the type of the result and presenting a deprecation notice if it's an ActiveMerchant::Billing::Response
.
Thoughts?
I don't see a reason to require ActiveMerchant in Solidus and it seems like it would make other billing integrations easier if we provide our own classes for errors/responses/etc.