Prices by country and region
Open in
A regional price lets a buyer in a lower-income country pay a share of your price, in its currency, with taxes as its country expects.
Filled: what the buyer sees. The point marks the charge that pays you.
The Team plan in five countries
A regional tier names its countries and the share of the listed price they pay. A country outside every tier pays the list.
| Buyer's card | Tier | Pays | Shown as |
|---|---|---|---|
US | none | The listed price | Dollars, with sales tax added at Checkout |
DE | none | The listed price | Euros, with VAT inside the price |
PL | middle, 0.7 | 70% of the list | Złoty, VAT inside, rounded to a usual ending |
BR | lower, 0.4 | 40% of the list | Reais, taxes inside, rounded |
IN | lower, 0.4 | 40% of the list | Rupees, GST inside, rounded |
A tier may name the plans it lowers. Verb prices, credit packs and coupons follow the tier unless plans leaves them out, and a coupon applies after the factor.
Which country a buyer is in
The country of the card sets the tier, and the billing address must agree with it. Where the buyer connects from never sets a price.
- The tier is fixed on the Customer at its first payment, and every renewal keeps it.
- A later card from outside that tier answers 402
region_mismatch, with the price for the card's country inoffers. - A Customer that moves pays its new country's price with a card from there, and moves to a cheaper tier at most once a year.
- An agent buying under a mandate pays the tier of the org that issued it, by that org's billing country.
- Keys bought at a regional price that call mostly from another tier's countries feed the risk signals, and a person reviews the account.
A traveller keeps its own price. A buyer behind a network from a cheaper country pays the list, because its card says where it is.
Currency, rounding and taxes
Each buyer sees one number in its currency on the price page, at Checkout and on the receipt. The factor applies before tax.
display.round sets the ending: charm rounds up to the ending prices there usually have, whole to a whole unit, exact not at all. display.taxes: puts tax inside the price where the buyer's country expects that, and on top where it does not.
The tax is calculated per charge by Stripe from the buyer's location, as settlement describes. Your payout lands in your own currency at Stripe's rate that day.
A tracker priced by purchasing power
The sales tracker lowers Team for two tiers and shows each price as buyers there expect it.
import { define } from 'apis.dev'
/** Deals for each Customer, with Team priced by purchasing power in two tiers. */
export default define({
name: 'pipeline', domain: 'pipeline.apis.dev',
Company: { name: 'string', domain: 'url!#', deals: '<-Deal.company' },
Deal: {
title: 'string', amount: 'decimal(12, 2)', company: '->Company.deals',
stage: { open: [], qualify: 'opened', win: 'qualified', lose: ['opened', 'qualified'] },
},
offer: {
Free: { month: 0, seats: 1, includes: { 'Deal.open': 25 } },
Team: { month: 49, seats: 5, includes: { 'Deal.open': 1000 } },
'Deal.open': 0.001,
regions: {
lower: { countries: ['IN', 'BR', 'ID', 'EG'], factor: 0.4 },
middle: { countries: ['MX', 'PL', 'TR', 'ZA'], factor: 0.7 },
},
display: { round: 'charm', taxes: 'local' },
},
})Your team checks what a buyer with a PL card sees with Price.preview on the Operator plane.
{
"plan": "Team",
"country": "PL",
"tier": "middle",
"factor": 0.7,
"list": { "amount": 49, "currency": "USD" },
"net": { "amount": 34.3, "currency": "USD" },
"shown": { "amount": 167.99, "currency": "PLN", "taxes": "included" },
"rate": 3.98,
"set": "card"
}Limits and refusals
| The rule | What happens past it |
|---|---|
| A factor between 0 and 1 | A higher price for a country is a separate plan, never a tier |
| Each country in one tier | A second tier for it is refused at publish with region_overlap |
| A tier's price above what its Sources cost | Refused at publish with below_cost, naming the tier |
| One tier per Customer, from its first payment | A card from elsewhere answers 402 region_mismatch with its own price |
| Regional prices on every plan, Free included | APIs.Dev's take is a share of what the buyer paid, so it falls with the price |
Referral codes and affiliates
Credit for a Customer who brings another, and cash for an affiliate who brings many: codes, attribution, holds against refunds, payouts and abuse checks.
Marketplace
Sell what many suppliers offer, under your brand, with each payment split on Stripe between the supplier and you.