Skip to main content
Numeral for Stripe Checkout accepts the best customer location signal your application already has. You can send a complete address, send the customer’s public IP address, or provide a country and let Numeral collect only the missing fields.

Address validation

Numeral validates customer location before finalizing tax. For example, a New York postal code paired with California as the state is not silently accepted as a taxing jurisdiction.
  • State or province and postal code are collected together where both are needed.
  • Mismatches remain correctable in the Numeral collector instead of ending the checkout.
  • Numeral asks only for fields the tax calculation still requires.
  • If a merchant-provided address is invalid, the server receives a structured API error that can be shown in the merchant’s own address form.
  • Buyer address and tax ID values are not included in merchant-facing collector events.
Use ISO 3166-1 alpha-2 country codes such as US, CA, GB, or DE. Use the standard state, province, or region abbreviation when one exists.

Send a complete address

Use the address path when your application already collects billing, shipping, or service address information.
Choose the basis that matches how your configuration and business establish the place of sale:
  • billing_address
  • shipping_address
  • service_address
  • merchant_asserted
When this address resolves successfully, Numeral calculates tax and the session url normally points directly to Stripe Checkout.

Send the customer IP

If your server knows the customer’s public IP address, send it as an alternative to address. Do not send both in the same location object.
If IP resolution provides enough location data, the buyer can continue directly to Stripe without entering an address. If it does not, the selected collection_mode obtains the missing information.
Capture the buyer’s IP on your server from a trusted platform or proxy header. Do not send your server’s outbound IP, and do not trust an arbitrary IP value submitted by browser JavaScript.

Numeral-hosted collection

Hosted collection is the simplest fallback when your checkout does not collect an address. Send the known country or partial address and set collection_mode to hosted.
The buyer is sent to a Numeral-hosted address validation step and then automatically continues to Stripe Checkout. The returned URL is stable for idempotent replay and does not contain a session capability or buyer information.
Redirect to session.url without inspecting whether it points to Numeral or Stripe. This keeps the fast path and collection fallback identical in your application code.

Embedded collection on your site

Embedded mode keeps the location step inside your checkout. Your server creates the session, then passes only the session ID and session-scoped client_secret to your browser.
Continue with Embed address collection to mount the collector and handle its events.

Selecting the right path

Send the address in the initial request. This gives the fastest buyer experience and lets Numeral validate the address before Stripe Checkout is created.
Send tax_context.location.ip. Choose hosted or embedded collection as the fallback in case the IP does not resolve with enough confidence.
Use hosted collection. Your application only redirects to the opaque URL returned by Numeral.
Use embedded collection. The Numeral custom element renders a secure cross-origin iframe and exposes redacted lifecycle events to your page.