Aeion Commerce + Stripe
The default payment gateway for most commerce deployments. Tokenization via Stripe.js (card numbers never touch your servers), Stripe Radar fraud metadata feeding Aeion's AI fraud scoring, 3DS escalation on AI risk score, Stripe Billing subscriptions, webhook signature verification.
Setup
- Create a Stripe account at
https://dashboard.stripe.com/register
Tokenization Flow — Card Numbers Never Touch Aeion
```typescript
Radar Integration — AI Fraud Score Fed to Stripe ML
Aeion's fraud detection agent runs pre-charge; its score is passed to Stripe Radar's machine-learning model via payment metadata, so the two systems combine their signals instead of working in isolation.
Stripe Billing for Subscriptions
Aeion's subscription engine orchestrates Stripe Billing for recurring revenue.
Webhook Verification + Idempotency
Stripe sends webhooks for every state change. Aeion's webhook handler verifies the signature using your encrypted webhook secret, then checks a 7-day idempotency window (keyed by provider + event id) before processing — Stripe's own retry policy can resend the same event several times over 24 hours, and Aeion guarantees it only processes each one once. Recognized event types include payment_intent.succeeded, payment_intent.payment_failed, payment_intent.canceled, payment_intent.requires_action, charge.refunded, charge.dispute.created/closed, checkout.session.completed/expired, the customer.subscription.* lifecycle events, and invoice.paid/payment_failed — about 20 event types in all, covering payments, refunds, disputes, checkout sessions, and subscriptions.
Common Gotchas
- API version pinning — Stripe's API evolves; Aeion pins a specific API version internally in the Stripe client rather than exposing it as a per-tenant setting, so upgrading it is a platform-level change tested against the sandbox smoke before rollout.
FAQ
Both work. Stripe for modern API + Radar + Billing + better developer experience. PayPal for consumer-trust + brands required to offer "PayPal Express" at checkout. Most deployments enable both.
Stripe Connect supports this on Stripe's side, but Aeion's Stripe adapter doesn't currently wrap Connect (no Express/Standard account or split-payment support today). See Marketplace use case for how Aeion handles marketplace splits with the providers that do support it.
Outside the commerce adapter's scope; integrate via Stripe's separate APIs directly. The commerce adapter focuses on PaymentIntent + Subscriptions + Webhooks.
Yes — your Stripe account is between you and Stripe. Aeion is the integration layer. The Stripe billing relationship stays with you; Aeion never holds your provider funds.
Stripe retries failed webhooks. If your endpoint is down for 24h, Stripe queues retries; once you're back, the queue drains. Aeion's idempotency window catches duplicates from the retry storm.
Stripe.js client-side tokenization keeps you in SAQ-A. If you ever choose to NOT use Stripe.js (e.g., custom card form sending raw card data to your server), you become SAQ-D. Stick with Stripe.js.