Stripe Integration
Stripe is the primary payment provider for Spectra — storefront checkout, gift cards, kiosk in-person, and refunds.
Setup
- Sign up at stripe.com (opens in a new tab)
- In admin → Settings → Payment:
- Enter your publishable key (
pk_live_...orpk_test_...) - Enter your secret key (
sk_live_...orsk_test_...) - Toggle Sandbox mode for testing
- Enter your publishable key (
- Configure webhooks in Stripe dashboard:
- Endpoint:
https://your-domain.com/commerce-api/v1/webhooks/stripe - Subscribe to:
payment_intent.succeeded,payment_intent.payment_failed,charge.refunded,charge.dispute.created - Copy the webhook signing secret → paste into admin settings
- Endpoint:
What Stripe handles
- Checkout payments — card / Apple Pay / Google Pay
- Kiosk Terminal — in-person chip + contactless
- Gift card purchases — separate PaymentIntent for gift card amount
- Refunds — triggered by return processing or manual refund
- Subscriptions — not currently used (Stripe Billing)
Stripe Connect
For multi-tenant setups, each tenant has their own Connect account. Payments route through the tenant's account with platform fees optional.
Testing
Use sk_test_... keys with Stripe's test card numbers (opens in a new tab):
4242 4242 4242 4242— success4000 0000 0000 0002— declined- Use any future expiry, any CVC
API keys prefixed spk_test_ route through Stripe test mode automatically.
PCI compliance
Card data never touches your servers:
- Storefront uses Stripe.js / Stripe Elements
- Kiosk uses Stripe Terminal reader
- API receives only the PaymentIntent ID, not card details
This keeps Spectra deployments PCI DSS SAQ-A.