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.
The Solidus extensions listed below give you access to some popular payment service providers:
solidus_braintree
    
  
 (Braintree v.zero)solidus_paypal_braintree
    
  solidus_adyen
    
  solidus_affirm
    
  solidus_klarna_payments
    
  solidus_paybright
    
  solidus_culqi
    
  solidus_payu_latam
    
  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 as a
reference for building out your own PSP integrations.
Typically, PSP integrations use the Spree::PaymentMethod base class to build
out to the PSP's specifications and API. When you model out payment methods
using Spree::PaymentMethod as a base class, you can get Solidus admin panel
functionality with very little effort.
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.
After switching payment service provider, there may be Spree::PaymentMethod 
records referencing a type class that does not exist anymore. Trying to 
retrieve these records through an ActiveRecord query raises a 
Spree::PaymentMethod::UnsupportedPaymentMethod error.
If you cannot delete these records, you can deactivate them running 
rake payment_method:deactivate_unsupported_payment_methods. 
This way, their type will be set to Spree::PaymentMethod, allowing for 
records retrieval without errors. Also, their real type value will be stored
in the type_before_removal attribute.
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.