Skip to main content

Billing

10% of what the localized Prices collect. Nothing on anything sold at your base price, and nothing per request. The fee is billed monthly to the card on your team’s account. Stripe does not issue invoices under 0.50,soamonthwithlessthan0.50, so a month with less than 5 of localized revenue is not charged.
Paid invoice lines and completed one-time Checkout payments on Prices EasyPPP created, including siblings you have since un-imported. Discounts are deducted. Refunds and credit notes are netted off, so a refunded sale costs nothing. Figures are read from your Stripe account each night and converted to USD at that day’s rate.
Test mode and sandbox connections are free and never billed. Live revenue is billed at 10% from the first sale.
Settings shows this month’s localized revenue and the estimated fee. Manage billing opens the Stripe customer portal with your invoices and card.

Cards and pausing

Live Prices and the live key are only created once a card is on file, because that is what the 10% is billed to. Test mode and sandboxes never ask for one.
Localized pricing pauses for your live connections: the API keeps answering, but every visitor gets your base Price and meta.paused is true. Your Stripe Prices and your key are untouched. Add a card under Settings and pricing resumes.
Yes. The pause switch on the dashboard does the same thing without touching Stripe. Turn it off to resume. Either way the change reaches the API within about a minute.

Environments and keys

Live, test mode and each sandbox are separate connections, each with its own Prices and its own key (ep_live_, ep_test_, ep_sbx_). A test key only ever returns test Price IDs. Connect in test mode first if you want to see the full flow before any live Prices exist.
Yes. It is public on purpose, like a Stripe publishable key. It can only read the localized prices for the Prices you selected. It cannot charge, refund, change anything in Stripe, or see your customers, payments or revenue.
No. Each connection keeps one key. It is revoked when you disconnect the Stripe account, and reconnecting issues a new one, which you then update on your page.
No. The country always comes from the request that reaches EasyPPP, which is why the call belongs in the browser.

Stripe

It creates new Prices, nothing else. Existing Prices, Products, customers and subscriptions are never edited or deleted. Each sibling is created on the same Product as its base, in the same currency, with a nickname like Pro · Deep (35%) and metadata that marks it as EasyPPP’s.
Read access to products, prices, charges, invoices and Checkout Sessions, and write access to create Prices. The payment permissions are what let EasyPPP count localized revenue for billing without you doing anything. Nothing can charge or move money.
Active Prices that charge a fixed amount per unit in your Stripe account’s default currency, one-time or recurring. Archived, tiered, usage-based, customer-chooses-the-amount and fractional-cent Prices cannot be selected.
No. Siblings are in the same currency as your base Price, and that is what Stripe charges. The amount shown to the visitor on your page is an estimate in their currency at that night’s exchange rate. If you have Adaptive Pricing enabled in Stripe, Checkout may present its own converted amount.
Its siblings are archived. Subscriptions already on them keep billing as normal, and revenue on them still counts toward your fee. Importing the Price again brings the same siblings back.
EasyPPP notices within the hour, stops returning it, and offers to recreate it on the products page. Visitors in that tier get your base Price until then.
Create the new base Price in Stripe as you normally would and import it. The old base and its siblings stay as they are for existing subscribers.
Disconnect the account under Settings, which revokes the key, and remove the app from your Stripe dashboard. The Prices EasyPPP created remain in your account; archive them whenever you like.

Pricing behavior

One of four reasons: their country is in the base bucket for your currency, their country could not be determined, they came through a VPN, proxy or hosting provider while the VPN guard is on, or your account is paused. The response does not say which.
No. The tiers come from World Bank purchasing-power data and are the same for every merchant. See How it works.
A few markets, Switzerland among them, have higher purchasing power than the home market of your base currency, so they get a premium tier. If you would rather not charge more there, you can archive that sibling in Stripe; visitors from those countries then get your base Price.
Yes. Siblings are ordinary Prices, so Checkout applies coupons, trials and automatic tax to them exactly as it would to the base Price. Tax behavior is copied from the base Price.

Support

Email support@easyppp.com. For a question about a specific response, include the meta.request_id from it.