spree-payments
Installation
SKILL.md
Spree Payments
Commands below use the Spree CLI form (
spree …, Docker). On a classic Rails app without the CLI (typical pre-5.4), use the native mapping in thespree-projectskill —bin/rails/bundle exec rakefrom the app root, paths without thebackend/prefix.
Payments in Spree are layered:
PaymentMethod — the configured way to pay (Stripe, Adyen, PayPal, store credit, …)
↓
Payment — the actual charge against an Order via a PaymentMethod
↓
source — the Payment's polymorphic source: a CreditCard, StoreCredit, or Spree::PaymentSource (wallets/accounts)
(A PaymentSession is not a payment source — it links to the Payment via the gateway transaction id, response_code/external_id.)
A single Order can have multiple Payments (e.g. store credit or a gift card combined with a card payment), each with its own state. Creating a new non-store-credit payment auto-invalidates any other payment still in the checkout state (store credit payments are spared), so splitting an order across multiple cards at checkout isn't supported.