Payment service providers

Solidus is not built to process payments by itself, and it does not include any integrations for popular payment service providers (PSPs) . You must install a Solidus extension or create your own integration.

Solidus extensions for payment processing

The Solidus extensions listed below give you access to some popular payment service providers:

Sending payments to PSPs

In order for you to successfully process payments, your payment methods need to send information to a payment service provider. You can use the Spree::PaymentMethod and Spree::PaymentMethod::CreditCard classes if you need to build out your own integrations with a PSP.

The Spree::PaymentMethod base class

Typically, PSP integrations use the Spree::PaymentMethod base class to build out to the PSP's specifications and API.

Note that the Spree::PaymentMethod base class also has a similar interface to the active_merchant gem.

For an example, see how the solidus_paypal_braintree gem builds its SolidusPaypalBraintree::Gateway class class: it sets its own preferences and overrides many of the methods originally defined in Spree::PaymentMethod.


Solidus also provides a Spree::PaymentMethod::CreditCard class. While it is not a functional credit card-based payment method, it is a good candidate as a base class for building your own credit card-based payment methods.

You would need to extend or rewrite this class with your preferred PSP integration.


Solidus is an open source platform supported by the community. We encourage everyone using Solidus to contribute back to the documentation and the code.

If you’re interested in contributing to the docs, get started with the contributing guidelines. If you see something that needs fixing and can’t do it yourself, please send us an email.