Skip to content

Latest commit

 

History

History
64 lines (47 loc) · 2.81 KB

payment-service-providers.md

File metadata and controls

64 lines (47 loc) · 2.81 KB

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][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.

Spree::PaymentMethod::CreditCard

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.