Braintree
Braintree is a card and PayPal payment processor from PayPal that software makers use to take payments and run recurring billing plans.
What it reads
- Subscriptions that are active or late: status, price and plan of each, up to 5 pages of 50. The search is a POST because GraphQL has no GET, but it only reads.
- Plan billing length and currency: each plan's billing frequency in months and its currency, so a yearly price is turned into a monthly one.
- Cancelled subscriptions: the status history is read; a subscription counts as cancelled in the last 30 days when its cancel event is that recent.
- New subscriptions: subscriptions created in the last 30 days, counted from a search filtered by creation time.
- Late subscriptions: subscriptions in the past due status are counted with their monthly value as money at risk.
- Settled payments of the last 30 days (fallback only): if the key's role cannot search subscriptions, the amount of settled transactions is added up and the result is marked partial.
Moments
- The count of active subscriptions reaches at least one. A maker connects Braintree. The read shows 1 active subscription, so the moment reads 'Got the first paying customer' with the line 'Someone is paying for the thing I'm building (counted from Braintree).'
- Active subscriptions reach 10, 50 or 100. The read shows 12 active subscriptions, so 'Passed 10 paying subscribers' is written once, described as '10 people now pay for it every month (counted from Braintree).'
Set up
- In the Braintree Control Panel make a role with only Download Transactions with Masked Payment Data and Download Subscription Records ticked, and a user with that role.
- Sign in as that user, click the gear icon, then API, and generate an API key if none is shown.
- Copy the public key and the private key (View in the Private Key column) and paste them into the Braintree box in FoxPlug with a colon between them. Use production keys, not sandbox.
What it never reads
- Customer names, emails, addresses and card details: the queries name only status, price, plan, dates and amounts.
- Anything written back: no mutation is sent, only searches.
- Sandbox data: sandbox keys are refused and only the production address is used.
What does FoxPlug read from Braintree?
Your subscriptions' status, price, plan and dates, plus each plan's billing length. It reads no customer, card or address.
Is there a read-only Braintree key?
No. A key follows its user's role, so make a user whose role can only download transactions and subscription records.
Do I need my merchant ID?
No. The keys identify the account.
What if my key cannot search subscriptions?
FoxPlug reads your settled payments of the last 30 days instead and marks the numbers as partial.
Gumroad
Gumroad is a storefront where creators and software makers sell digital products, memberships and subscriptions directly to buyers.
What it reads
- Sales of the last 30 days: up to 5 pages of sales with after set to 30 days ago, following next page key.
- Order count: each sale that is neither refunded nor charged back counts as an order; the sale's currency is kept.
- Refunds: sales flagged refunded are counted as refunds. Charged-back sales are skipped altogether.
- Subscription charges: for sales with a subscription id: the distinct subscription ids and each sale's price, added up as the 'monthly revenue' figure (the subscription charges taken in the last 30 days).
- New subscribers: subscription ids whose sale has no recurring charge flag (the first charge) count as new in the last 30 days.
Moments
- The first subscription charge shows up in the last 30 days. A maker sells a membership on Gumroad. One subscription has been charged in the last 30 days, so the moment reads 'Got the first paying customer' with the line 'Someone is paying for the thing I'm building (counted from Gumroad).'
- Subscriptions charged in the last 30 days reach 10, 50 or 100. Ten different subscription ids were charged in the last 30 days. The moment 'Passed 10 paying subscribers' is written once, described as '10 people now pay for it every month (counted from Gumroad).'
- New subscribers started in the last 30 days. Three subscription ids have a first charge inside 30 days, so the brief carries that count and says the monthly figure is the last 30 days of subscription charges.
Set up
- In Gumroad, open Settings and then Advanced (the in-app link goes there).
- Under Applications, make an application named FoxPlug.
- Press Generate access token, copy it now and paste it into the Gumroad box in FoxPlug. Gumroad may show it only once.
What it never reads
- Customer emails. The panel says it reads no customer email.
- Charged-back sales are skipped and not counted.
- Anything written back: only sales are read.
How it differs
Gumroad has no subscriber or price list in the API FoxPlug reads, only sales. So FoxPlug reads 30 days of sales (Lemon Squeezy and Paddle read real subscriptions), counts orders and refunds, and adds up subscription charges as an approximate 'monthly revenue' marked partial. It has no past-due number and no cancelled number. Charged-back sales are dropped.
What does FoxPlug read from Gumroad?
The last 30 days of sales: how many orders, how many refunds, which subscriptions were charged and which are new. It reads no customer email.
Why is my monthly revenue a different number from Gumroad's?
Gumroad's API has no subscriber price list, so FoxPlug adds up the subscription charges taken in the last 30 days. It is cash taken, not a true monthly recurring figure, and the brief says so.
Does it know about cancellations?
No. The cancelled number stays at 0 because the sales list does not say who cancelled.
When does it read Gumroad?
When you press Check for what's new or Build the brief, never on a timer.
Helcim
Helcim is a payment processor for small businesses in Canada and the United States, with recurring billing for subscriptions.
What it reads
- Your payment plans: up to 5 pages of 100: each plan's billing period, how many periods between charges, and currency.
- Your subscriptions: up to 5 pages of 100: status, recurring amount, plan, created date and last-changed date.
- Active subscriptions: subscriptions with status active, or ending at the end of their term (Helcim counts that as active), are counted.
- Monthly revenue: each active subscription's recurring amount in cents, turned into a monthly number using its plan's billing period, then added up.
- New in 30 days: subscriptions whose created date is within the last 30 days.
- Cancelled in 30 days: subscriptions with status cancelled (or term ended) whose last-changed date is within the last 30 days.
- Currency: the currency of the plan on the last subscription read, lowercased; usd if none.
- Whether anything is being paid: if there are no active subscriptions the read is stored as empty and the brief says so instead of inventing a number.
Moments
- The first active subscription appears. A maker connects Helcim and presses Check for what's new. One subscription is active, so the moment reads 'Got the first paying customer' with the line 'Someone is paying for the thing I'm building (counted from Helcim).'
- Active subscriptions reach 10, 50 or 100. The read shows 12 active subscriptions, so 'Passed 10 paying subscribers' is written once, described as '10 people now pay for it every month (counted from Helcim).'
- Monthly revenue crosses a milestone number between two reads. The stored read showed $480 a month and a read at least a day later shows $520. The brief offers a Say line for crossing $500.
Set up
- In Helcim, press All Tools, then Integrations under Merchant Tools, then open API Access Configurations.
- Press New API Access, name it FoxPlug and leave the checkout box empty.
- Pick General: Read, Settings: No access and Transaction Processing: None, then press Create.
- Copy the API token Helcim makes and paste it into the Helcim box in FoxPlug.
What it never reads
- Customer names, emails and card details. The reader only picks status, amount, plan, created and changed dates from each subscription.
- Which customer owns which subscription: the customer code Helcim returns is never used.
- Anything written back: only GET reads of the plan and subscription lists, with the token in a header.
- Past-due subscriptions: Helcim only says a subscription has had a failed payment at some time, not that it is overdue now, so this stays blank.
How it differs
Helcim is read with a plan list plus a subscription list, like Lemon Squeezy needs a second price lookup. Unlike Mollie or Razorpay it gives no overdue status and no cancel date, so past due is blank and cancelled in 30 days is approximate. Helcim lets you restrict the token to read access, which Razorpay and Authorize.net do not.
What does FoxPlug read from Helcim?
Your payment plans and subscriptions: status, recurring amount, billing period and dates. It reads no customer name, email or card.
Which permissions does the token need?
Helcim lets you set access when you make the token. The guide says General: Read, Settings: No access and Transaction Processing: None. Helcim's page does not say outright that Read covers subscriptions, so if Helcim refuses the read, FoxPlug shows its message.
Why is past due blank?
Helcim only reports whether a subscription has had a declined payment at some point, which may be long ago, so FoxPlug does not turn it into an overdue count.
Can FoxPlug charge or change anything in Helcim?
No. It makes plain read requests and sends nothing back. Keeping Transaction Processing at None means the token could not process payments anyway.
Mollie
Mollie is a European payment service that online shops and software makers use to take card, bank and wallet payments, including recurring subscriptions.
What it reads
- Your subscriptions: up to 5 pages of 250 across customers: status, amount, billing interval, created and cancelled dates.
- Active subscriptions: subscriptions with status active are counted.
- Monthly revenue: each active subscription's amount in cents, turned into a monthly number using its interval (days, weeks or months), then added up.
- Past due: subscriptions with status suspended are counted, with the monthly amount they carry.
- New in 30 days: subscriptions whose created date is within the last 30 days.
- Cancelled in 30 days: subscriptions with status canceled whose cancel date is within the last 30 days.
- Currency: the currency on the amounts, lowercased; usd if none.
- Whether anything is being paid: if there are no active subscriptions the read is stored as empty and the brief says so.
Moments
- The first active subscription appears. A maker connects Mollie and presses Check for what's new. One subscription is active, so the moment reads 'Got the first paying customer' with the line 'Someone is paying for the thing I'm building (counted from Mollie).'
- Active subscriptions reach 10, 50 or 100. The read shows 12 active subscriptions, so 'Passed 10 paying subscribers' is written once, described as '10 people now pay for it every month (counted from Mollie).'
- Monthly revenue crosses a milestone number between two reads. The stored read showed $480 a month and a read at least a day later shows $520. The brief offers a Say line for crossing $500.
Set up
- In the Mollie dashboard open Developers, then API keys, and build an advanced access token (only Admin users can).
- Name it FoxPlug and tick only the permission to read subscriptions.
- Copy the token now: Mollie shows a secret only once.
- Paste it into the Mollie box in FoxPlug. Test keys are refused.
What it never reads
- Customer names, emails and payment methods. The reader only picks status, amount, interval and the two dates from each subscription.
- Which customer owns which subscription: the customer id in each entry is never used.
- Test data: a Mollie test key is refused, and any entry marked test is skipped.
- Anything written back: only GET reads of the subscription list with a bearer header.
How it differs
Mollie lists subscriptions with their own amount and interval in one call, like Polar, so no second price lookup is needed (unlike Lemon Squeezy, Helcim or Razorpay). Together with Helcim it is one of two of these four where a read-only credential is documented (the access token). Past due is the suspended status.
What does FoxPlug read from Mollie?
Your subscription list: status, amount, billing interval, created and cancelled dates. No customer name, email or payment method.
Which Mollie credential should I use?
An advanced access token with only the subscriptions read permission. A live API key works too, but Mollie gives API keys more than read access.
Does it work with test keys?
No. A key that starts with test is refused because it holds test data.
What counts as past due?
Subscriptions Mollie marks suspended.
Patreon
Patreon is a membership platform where creators earn monthly pledges from their patrons. FoxPlug reads the pledges from your patrons: who is an active patron and what each one pledges.
What it reads
- Your Patreon identity: the account's full name, used as the connection label 'Patreon (name)'.
- Your campaign: the id of the campaign linked to the account, which is the campaign whose members are read.
- Campaign members (patrons): up to 200 members, newest pledge first: full name, patron status, currently entitled amount cents, pledge relationship start.
- Active patron count: members whose patron status is active patron are counted and the count is saved as a snapshot with the date, shown on the Funding tab as 'Active patrons' with a last-read time.
- Newest active patron: the newest active patron's name, pledge amount and pledge start date, turned into one new-patron moment.
Moments
- You connect Patreon and the campaign has an active patron. A creator connects Patreon. The newest active patron is Ada Lovelace, so the moment reads 'New patron: Ada Lovelace' with the line 'Ada Lovelace became a patron on Patreon, real support for the work.' A post is drafted for review.
- You connect Patreon and the newest patron has no name. The newest active patron shows no full name, so the moment reads 'A new patron joined' with the line 'A new patron joined on Patreon, real support for the work.'
- You connect Patreon and the campaign has no active patrons. The member list has no active patron, so nothing is saved and no post is drafted. The Funding tile shows no patron count yet.
Set up
- Press Connect Patreon (or Authorise on Patreon) in the Patreon card.
- Sign in at Patreon and allow the read-only access it asks for.
- You come back to FoxPlug with Patreon marked Connected, and your newest patron is written up as a post.
What it never reads
- Patron emails, messages or payment details: the member fields asked for are only name, status, entitled amount and pledge start.
- Anything posted or changed on Patreon: it is a source only and FoxPlug never posts to it.
Can FoxPlug post to Patreon?
No. Patreon is a source only. FoxPlug asks for read-only access and never posts there.
What does FoxPlug read about my patrons?
Name, whether they are an active patron, the amount they are entitled to and when their pledge started, for up to 200 members. No email or message is asked for.
Does it keep checking for new patrons?
The code reads your patrons when you connect. It does not read Patreon again on Check for what's new.
PayPal
PayPal is a payment service; its Subscriptions feature lets a seller charge customers on a plan every month or year.
What it reads
- Token exchange: the Client ID and secret are exchanged for a short-lived access token at PayPal's live address.
- Active and suspended subscriptions: plan, quantity, status and failed payment count of each, up to 5 pages of 20.
- Plan price and billing length: the regular billing cycle of each plan (up to 25 plans), turned into a monthly amount.
- Late subscriptions: a subscription with one or more failed payments is counted as late, with its monthly value as money at risk.
- Cancelled and new subscriptions: subscriptions cancelled with a status change in the last 30 days, and subscriptions created in the last 30 days.
- Payments and refunds of the last 30 days (only when there are no subscriptions): event code, status and amount of each transaction from Transaction Search; fields are limited to transaction details.
Moments
- The count of active subscriptions reaches at least one. A maker connects PayPal. The read shows 1 active subscription, so the moment reads 'Got the first paying customer' with the line 'Someone is paying for the thing I'm building (counted from PayPal).'
- Active subscriptions reach 10, 50 or 100. The read shows 12 active subscriptions, so 'Passed 10 paying subscribers' is written once, described as '10 people now pay for it every month (counted from PayPal).'
Set up
- In the PayPal developer dashboard open Apps and Credentials, switch to Live and create an app named FoxPlug.
- In the app's Features section tick Subscriptions and Transaction Search if listed, and save.
- Copy the Client ID and the secret and paste them into the PayPal box in FoxPlug with a colon between them.
What it never reads
- Buyer or subscriber names, emails and addresses: the subscriber block is ignored and Transaction Search is asked for transaction details only.
- Anything written back: the only POST is the token exchange; every data call is a GET.
- Sandbox data: only the live address is used.
What does FoxPlug read from PayPal?
Your subscriptions and their plan prices. If you have none, the number and amount of payments and refunds in the last 30 days. No buyer details.
Is there a read-only PayPal secret?
No. The app can use only the features you tick, and FoxPlug only reads.
How soon do new payments show?
PayPal says it can take up to three hours for payments to appear in Transaction Search.
Why use Live and not Sandbox?
Sandbox only holds test data, so FoxPlug uses the live address only.
Razorpay
Razorpay is a payment service used by businesses in India and a few other countries to take online payments and run recurring subscriptions.
What it reads
- Your plans: up to 5 pages of 100: each plan's amount in the smallest unit, billing period, interval and currency.
- Your subscriptions: up to 5 pages of 100: status, plan, quantity, created date and ended date.
- Active subscriptions: subscriptions with status active are counted.
- Monthly revenue: the plan amount times the quantity, turned into a monthly number using the plan's period and interval, then added up for active subscriptions.
- Past due: subscriptions with status pending or halted are counted, with the monthly amount they carry.
- New in 30 days: subscriptions created in the last 30 days that were not left at the created stage.
- Cancelled in 30 days: subscriptions with status cancelled whose ended time is within the last 30 days.
- Currency: the currency on the plan amounts, lowercased; inr if none.
Moments
- The first active subscription appears. A maker connects Razorpay and presses Check for what's new. One subscription is active, so the moment reads 'Got the first paying customer' with the line 'Someone is paying for the thing I'm building (counted from Razorpay).'
- Active subscriptions reach 10, 50 or 100. The read shows 12 active subscriptions, so 'Passed 10 paying subscribers' is written once, described as '10 people now pay for it every month (counted from Razorpay).'
- Monthly revenue crosses a milestone number between two reads. The stored read showed $480 a month and a read at least a day later shows $520. The brief offers a Say line for crossing $500.
Set up
- In the Razorpay Dashboard, switch to Live mode and open Account and Settings, then API Keys.
- If you already have a key, use it; do not press Generate, because Razorpay allows one set of keys and a new one stops the old one.
- If you have none, press Generate Key and save the secret now: Razorpay shows it only once.
- Paste the key id, a colon and the key secret as one line into the Razorpay box in FoxPlug.
What it never reads
- Customer names, emails, phone numbers and cards. The reader only picks status, plan, quantity and two dates from each subscription.
- Which customer owns which subscription: the customer id in each entry is never used.
- Test data: a test key (id starting with rzp test) is refused.
- Anything written back: only GET reads of plans and subscriptions with a Basic header.
How it differs
Razorpay keeps the price on the plan, not on the subscription, so FoxPlug reads the plan list as well, like Lemon Squeezy needs a price lookup. Unlike Mollie it has no read-only credential. Past due comes from two statuses, pending and halted.
What does FoxPlug read from Razorpay?
Your plans and subscriptions: status, plan amount, quantity, billing period and dates. No customer name, email or card.
Is there a read-only Razorpay key?
Not in Razorpay's documents, so there is none to choose. The key FoxPlug uses is the same full key; FoxPlug only reads with it.
Should I generate a new key for FoxPlug?
Only if you have none. Razorpay allows one set of keys, so a new one stops your other tools.
Does it work with test keys?
No. A key id that starts with the test marker is refused.
RevenueCat
RevenueCat is a subscription management service that app makers use to handle in-app purchases and see subscription revenue across the app stores.
What it reads
- Your projects: the first 5 projects are listed (id only); the first 3 are used.
- Project overview: monthly recurring revenue: the overview metric with id mrr for each project, multiplied by 100 to cents and added across projects.
- Project overview: active subscriptions: the overview metric with id active subscriptions, added across projects.
- Whether anything is being paid: if the active subscription total is 0, the read is stored as empty and the brief says no active subscriptions yet instead of inventing a number.
- Currency: the overview's currency field, lowercased; usd if absent.
Moments
- The overview shows at least one active subscription. A maker connects RevenueCat for an iOS app. The overview shows 1 active subscription, so the moment reads 'Got the first paying customer' with the line 'Someone is paying for the thing I'm building (counted from RevenueCat).'
- Active subscriptions reach 10, 50 or 100. The overview reports 12 active subscriptions, so 'Passed 10 paying subscribers' is written once, described as '10 people now pay for it every month (counted from RevenueCat).'
- Monthly revenue crosses a milestone number between two reads. The overview's monthly revenue was $480 at the last stored read and is $520 now (at least a day later). The brief offers a Say line for crossing $500.
Set up
- In RevenueCat, open your project and go to API keys, then make a new v2 secret key named FoxPlug.
- Give it only read permissions: Projects read and Charts and metrics, Overview read.
- Copy the key now and paste it into the RevenueCat box in FoxPlug. RevenueCat may show it only once.
What it never reads
- Individual subscribers or customers. Only project overview totals are read.
- New or cancelled subscribers: the overview gives no such split, so these stay blank.
- Anything written back: only GET reads of the project list and the overview.
What does FoxPlug read from RevenueCat?
Your project list and, for up to 3 projects, the overview numbers for monthly revenue and active subscriptions. It reads no individual subscriber.
Why are new and cancelled subscribers blank?
The overview gives no new or cancelled split, so those two stay blank and the brief says so.
Which key permissions are needed?
A v2 secret key with read permissions only: Projects read and Charts and metrics, Overview read.
Square
Square is a payment service for shops and online sellers; its Subscriptions feature bills customers on a repeating plan.
What it reads
- Subscriptions: status, plan variation, start, cancel and creation dates and any price override of each, up to 5 pages of 200. The search is a POST because Square's search has no GET, but it only reads.
- Plan price and billing cadence: the plan variation's last phase (price and cadence) for each active plan (up to 25), turned into a monthly amount.
- Active subscribers and monthly revenue: subscriptions in the active status, with a price override taking the place of the plan price.
- New subscriptions: subscriptions created in the last 30 days.
- Cancelled subscriptions: subscriptions cancelled or deactivated with a cancel date in the last 30 days.
Moments
- The count of active subscriptions reaches at least one. A maker connects Square. The read shows 1 active subscription, so the moment reads 'Got the first paying customer' with the line 'Someone is paying for the thing I'm building (counted from Square).'
- Active subscriptions reach 10, 50 or 100. The read shows 12 active subscriptions, so 'Passed 10 paying subscribers' is written once, described as '10 people now pay for it every month (counted from Square).'
Set up
- In the Square developer console open your application and choose Credentials.
- Choose Production at the top, then Show the Production Access token and copy it.
- Paste it into the Square box in FoxPlug. Square's token has full access and no read-only version, and FoxPlug only reads.
What it never reads
- Customer ids, names, emails, cards and invoices: some of these come back in the subscription record but are never used or stored.
- Anything written back: the only POST is the read-style subscription search; the plan lookup is a GET.
- Sandbox data: sandbox tokens are refused and only the production address is used.
What does FoxPlug read from Square?
Your subscriptions and their plan prices: how many are active, what they add up to a month, and how many started or ended in the last 30 days.
Is there a read-only Square token?
Not for your own account: the production token is full access. FoxPlug only reads.
Why is late payments blank?
Square does not report a late payment status for subscriptions, so FoxPlug leaves it blank and says the result is partial.
FoxPlug reads this tool only when you press Check for what's new, and only to read. Plans and limits are on the pricing page. Questions: support.