Architecture
Site Store Pro uses a pluggable payment processor architecture. The active gateway is selected in Admin → Checkout → Processors (/admin/ecommerce/checkout/processors) and resolved at runtime.
Built-in processors are always registered and fully verified — no file edits are needed to use them.
Custom gateways use IDs 100 and above. IDs 0–99 are reserved for built-in processors.
Built-in Processors
Sandbox vs. Production
Each processor row in the Admin panel includes a Production toggle.
Switch the toggle at any time — no deployment required.
Processor Selection & Randomize Mode
The active processor for a given order is determined in the following order:1
Randomize OFF
The
primary_processor value from order_checkout_options is used directly.2
Randomize ON
A processor is randomly selected from all non-zero configured slots (primary, secondary, and tertiary). Falls back to the primary processor if none of the slots are configured.
3
Fallback
If no configured processor is found, Test Processor (ID 0) is used automatically.
Checkout Display Behavior
The checkout UI adapts automatically based on which processor is active:Two-Step Checkout Flow
Site Store Pro uses a two-step approach that separates payment preparation from order placement, ensuring server-side verification before any order record is committed.1
preparePayment() — Livewire Server Call
Scans the cart for subscription variants and routes to the correct gateway method (
createPaymentIntent, createSubscription, or createTransaction).2
Client-Side JS Initialization
Loads the processor’s JavaScript SDK inline:
- Stripe → Stripe Elements (
PaymentElement+ optionalAddressElement) - Paddle → Paddle.js inline checkout
- PayPal → PayPal Smart Buttons in
#paypal-button-container
3
placeOrder($gatewayToken) — Livewire Server Call
Verifies the payment server-side, records the
authorization_code and transaction_id in order_payments, and places the order.Next Steps
Stripe
Configure API keys, webhooks, and billing address settings for Stripe.
Paddle
Set up Paddle Billing with Price IDs and dynamic non-catalog pricing.
PayPal
Enable PayPal Smart Buttons — no Composer packages required.
Subscriptions
Configure recurring billing intervals, free trials, and mixed-cart rules.
