Payments
Create Stripe Integration
Creates a new Stripe integration instance (a placeholder before OAuth).
Show Integration Instance
Returns a single Stripe integration instance with connection status, capabilities and account snapshot.
Start Authorization (OAuth)
Begins the Stripe Connect OAuth flow. Returns an `authorize_url` that the merchant should be redirected to in order to grant access. Stripe will redirect back to `/api/stripe/oauth/callback`.
Disconnect Integration
Disconnects the Stripe integration — revokes the OAuth token at Stripe and clears the local access token. Past pay links continue to function, but new ones cannot be created until reconnected.
Send Invoice
Creates, finalizes, and sends a Stripe Invoice for a sales order. Stripe emails the customer the hosted invoice link automatically. If a payable open invoice already exists for the sales order it is returned instead of creating a new one (idempotent).
Show Invoice
Returns a single Stripe Invoice with its linked Sales Order number (when set) and integration instance.
Get Invoice Activity Log
Returns the chronological list of Stripe webhook events linked to this invoice via `related_object_id` matching the invoice's `stripe_invoice_id`, `stripe_payment_intent_id`, or `stripe_charge_id`.
Void Invoice
Voids an open Stripe Invoice. Voiding marks the invoice uncollectable at Stripe so the customer cannot pay it anymore. Only valid for invoices in `open` or `draft` status — paid invoices cannot be voided (issue a refund instead).
List Invoices by Instance
Returns a paginated list of all Stripe Invoices for a Stripe integration instance, newest first.
List Invoices for Sales Order
Returns all Stripe Invoices linked to a sales order across all Stripe integration instances, newest first. Used by the sales order detail page to render the Stripe Invoices panel.
Issue Refund
Issues a partial or full refund against the charge backing a paid Stripe Invoice. Requires admin or power-user privileges. Throttled to 20 requests/minute.
List Webhook Events
Returns a paginated list of received Stripe webhook events, newest first.
Show Webhook Event
Returns a single webhook event. Pass `include_payload=1` to also receive the raw Stripe payload for debugging.
Replay Webhook Event
Re-queues a previously received webhook event for processing. Useful when an event failed transiently or you've fixed a bug in the handler.
Platform Webhook
Platform-level webhook endpoint. Receives events from the platform's Stripe account (e.g. `account.application.deauthorized`).
Connect Account Webhook
Per-Stripe-account webhook endpoint registered for each connected Stripe account during onboarding. Receives events for that specific connected account (e.g. `checkout.session.completed`, `charge.refunded`, `charge.dispute.created`).