Troubleshooting

Common issues and solutions when integrating Money Fast.

Events Not Appearing

Symptom: You made a test purchase but no events show up in the dashboard.

Check these in order:

  1. Webhook URL — Go to your website's Settings > Connect in Money Fast. Verify the webhook URL is correct.
  2. Signing Secret — Make sure the signing secret matches. An incorrect secret causes signature verification failures (HTTP 401).
  3. Webhook Logs — Check Stripe's webhook logs for delivery errors. Look for non-200 responses.
  4. Website Status — Ensure your website is Active (not deactivated) in Money Fast settings.
  5. Event Types — If using manual webhook setup, verify you selected all required events.

Attribution Data Is Empty

Symptom: Orders appear in the dashboard but source, device, landing page, and other attribution fields are blank.

Possible causes:

  1. Script not installed or wrong ID — The tracking script must be on your website with the correct data-website-id. Use the Attribution Script > Check button in Settings to verify — it checks both script presence and whether the website ID matches.
  2. Metadata not passed — The attribution cookie data must be passed as checkout metadata. See the Attribution guide for code examples.
  3. Subscription metadata missing — For Stripe subscriptions, metadata on the Checkout Session does NOT propagate to the subscription. You must also set subscription_data.metadata. Without this, renewal events will lack attribution.
  4. Cookie blocked — If the visitor's browser blocks third-party cookies or the visitor uses a privacy extension, the _moneyfast cookie may not be set.

Duplicate Orders

Symptom: The same order appears multiple times.

This should not happen. Money Fast deduplicates orders by (websiteId, provider, providerOrderId). If you see duplicates, check:

  1. Multiple webhook endpoints — Make sure you don't have multiple webhook endpoints in Stripe pointing to the same Money Fast website. Each website should have exactly one endpoint.
  2. Import + Webhook overlap — This is safe. Imported records and webhook records are deduplicated automatically. The same order won't be counted twice.

Import Stuck at "Importing"

Symptom: The import status shows "Importing..." for a long time and doesn't complete.

  1. Wait up to 30 minutes — Large imports can take time. The progress indicator shows the current phase.
  2. Auto-recovery — If an import has been stuck for more than 30 minutes, Money Fast automatically marks it as failed so you can retry.
  3. Retry — Go to Settings > Import and click Import again. Existing records are skipped, so retrying is safe.

API Key Validation Failed

Symptom: Error when saving a Stripe restricted key.

  1. Key format — The key should start with rk_live_ (production) or rk_test_ (test mode).
  2. Permissions — Ensure the key has all required permissions, especially Webhooks: Write.
  3. Key status — Check in Stripe Dashboard that the key is active and not revoked.

Webhook Returns 404

Symptom: Stripe shows 404 errors in webhook delivery logs.

  1. Website deleted — The webhook endpoint references a website that was deleted from Money Fast.
  2. URL changed — If you recreated the website, the webhook URL (which uses the website ID) has changed. Update the endpoint in Stripe.

Data Mismatch with Stripe

Symptom: Revenue numbers in Money Fast don't match Stripe Dashboard.

  1. Compare the right metric — Money Fast's All Time Revenue matches Stripe's Gross volume (total payment volume, including later-refunded and disputed charges, before fees). Period revenue (e.g. "Total Revenue" for Last 30 Days) only counts currently-paid orders.
  2. Currency conversion — Money Fast converts multi-currency revenue using settlement data (from Stripe balance transactions) when available, with exchange rate API fallback. Ensure your website's currency setting matches your Stripe account's settlement currency for best accuracy.
  3. Date range — Ensure you're comparing the same date range and timezone. Money Fast uses the timezone configured for your website.
  4. Historical data — If you didn't import history, only events after webhook connection are tracked. Use the Import page to import Checkout Sessions (first purchases), Invoices (renewals), and Subscriptions.