Server API
Connect Stripe to Streakfox
Your data already lives in Stripe. Forward the action that matters from your Stripe webhook handler and the streak takes care of itself.

StripeInvoice paid or order completed ✓
7day streakThe fox is proud.
M✓
T✓
W✓
T✓
F✓
S✓
S✓
What can keep the streak alive
Pick one action per program. Daily streaks count the first action each day; running totals count distinct completions.
- Invoice paid or order completed
- Any server-side action you can tie to a member
Set it up in 5 steps
- Create a program and copy its incoming URL from setup.
- Store the URL as a private STREAKFOX_INCOMING_URL secret available to your Stripe webhook handler.
- In your Stripe webhook handler, POST to the incoming URL after the action succeeds.
- Map a stable member email or ID to member and the source record ID to completion_id. Use the same member value as data-member in your widget.
- Trigger a test action and check processed progress before going live.
// Copy your program's incoming URL from Streakfox setup.
// Keep it in a server-only environment variable.
const response = await fetch(process.env.STREAKFOX_INCOMING_URL!, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
member: member.id,
completion_id: `purchase:${completion.id}`,
}),
});
if (!response.ok) throw new Error(await response.text());Questions
How do I send Stripe events to Streakfox?
POST member and completion_id to your program's incoming URL from your Stripe webhook handler. Keep that URL in server-only settings.
Works well with
Server APINext.jsCount actions from route handlers and server actions, and show streaks in React.Server APIReactShow a member's streak in your React app and count actions from your backend.Script embedShopifyDisplay member progress on Shopify with the Streakfox widget. Count completed actions through a backend or automation.
If it can send a webhook, it can keep a streak.
Start a program, send one test action and watch the flame light up.
Start free