Skip to main content
Query the tax rules that apply to a checkout session and, once enough billing information is available, get the calculated tax amount. This endpoint is designed for progressive collection: only billingDetail.country is required. The response tells you which additional fields that country needs via rules.requiredFields, so the checkout form can ask for them one step at a time instead of demanding everything upfront.
Authentication: Store Slug (visitor role)
This endpoint is called by the hosted checkout page as the customer fills in their billing details. If you are building your own checkout UI, call it whenever the customer’s country or business status changes.

Request Body

billingDetail

Only country is required. Which of the remaining fields you need to collect is decided by the response, not by a fixed rule per country — see rules.requiredFields.

Response

rules

requiredFields

Each entry describes one field the checkout form should collect next: When requiredFields is empty, calculation is populated.

calculation

Amounts are display-format strings, matching the rest of the API. taxRate is a decimal (0.19 = 19%).

Examples

More information needed — the form should now ask for state:
Ready to calculate:

Errors

Current tax coverage

Tax determination runs off the customer’s billing location, and Waffo Pancake carries the tax obligation as Merchant of Record. With the coverage configured today, taxAmount and taxRate come back as 0 for every country — this endpoint is the authoritative source for what a given order will actually be charged, so read calculation.total rather than assuming a rate. rules.requiredFields is likewise driven by live configuration. Do not hard-code “US and CA need state” or “EU businesses need a tax ID” in your checkout UI — render whatever the response asks for.