How it works
Figure 1. FunnelFox owns the subscription and decides when to charge. Primer runs every payment. FunnelFox keeps what a customer can access separate from what they pay:- Offerings are entitlements, such as access to a feature.
- Price points are versioned pricing configurations (currency, trial, renewal terms) that grant one or more offerings.
- Purchases are what a customer holds: a recurring subscription, a one-off lifetime purchase, or a consumable.
INTRO (trial), RECURRING, GRACE, RETRY, PAUSED, AUTORENEW_OFF and EXPIRED. A RECURRING subscription is charged two hours before each billing cycle starts. See subscription statuses.
Failed payment recovery
When a renewal fails, FunnelFox runs recovery:- Retry schedules. Choose a long or a short schedule. Both adapt to the billing interval, and later attempts can be partial charges, for example 70% or 50% of the amount.
- Grace period. The customer keeps access while recovery is in progress.
- Cascading. A failed payment can be sent to a backup processor before the retry schedule starts.
- Adaptive 3DS. Payments are first attempted without 3DS. 3DS is triggered only when the issuer requires authentication. If the payment then cascades, the 3DS result is reused on the backup processor.
Who owns what
Things to plan for
- FunnelFox enables FunnelFox Payments for each account. Contact FunnelFox to set up a sandbox account. Your agreement with FunnelFox is separate from your Primer agreement.
- Checkout uses Primer’s Checkout, either through the FunnelFox Web SDK or through FunnelFox funnels. Primer’s Web SDK must load on the page before the FunnelFox SDK.
- The Subscription engine allows at most two charges per day per payment method token.
- FunnelFox offers dispute prevention through Ethoca and Verifi alerts, which refund a disputed transaction before it becomes a chargeback. It takes about two weeks to go live. See Disputes.
Set up FunnelFox with Primer
Prerequisites
- A Primer account with at least one processor connected and a Workflow configured. See Connect a processor.
- A Primer API key. See Authentication.
- A FunnelFox Payments account.
Steps
- Connect Primer to FunnelFox. In FunnelFox Payments, go to Settings > Main and add your Primer credentials under Payment provider credentials:
- Domain:
https://api.sandbox.primer.iofor sandbox, orhttps://api.primer.iofor production. FunnelFox uses the domain to tell whether you’re in live mode. - Private key: your Primer API key.
- Webhook signing secret: your Primer webhook signing secret, from the Primer Dashboard.
- Domain:
- Create offerings and price points in FunnelFox. See Offerings and Price points.
- Add checkout to your paywall. In FunnelFox funnels, select FunnelFox Billing as the payment provider. On your own paywall, install
@funnelfox/billingtogether with@primer-io/checkout-web, then callcreateCheckout. See the Web SDK quickstart. - Handle FunnelFox webhooks to grant and revoke access in your product. FunnelFox sends events for orders, subscriptions, one-off purchases, refunds and disputes. See Webhooks.
- Configure recovery. Choose your retry schedule in FunnelFox Settings, and set up cascading and Adaptive 3DS with FunnelFox.
- Test in sandbox before you switch the domain to production. See Testing.
Payments are processed by your own Primer account, so they show up in the Primer Dashboard next to your other transactions.