Calculates tax based on the input and returns a Tax Calculation
object.
Parameters
- currencyenumRequired
Three-letter ISO currency code, in lowercase. Must be a supported currency.
- line_
itemsarray of objectsRequired A list of items the customer is purchasing.
- customer_
detailsobjectRequired unless customer provided Details about the customer, including address and tax IDs.
- shipping_
costobject Shipping cost details to be used for the calculation.
More parameters
- customerstringRequired unless customer_details provided
- ship_
from_ detailsobject - tax_
dateinteger
Returns
A Tax Calculation
object containing the first 100 input line_
if the calculation succeeds. Otherwise, an error (for example, indicating that the customer address was invalid).
{ "id": "taxcalc_1OduxkBUZ691iUZ4iWvpMApI", "object": "tax.calculation", "amount_total": 1953, "currency": "usd", "customer": null, "customer_details": { "address": { "city": "Seattle", "country": "US", "line1": "920 5th Ave", "line2": null, "postal_code": "98104", "state": "WA" }, "address_source": "shipping", "ip_address": null, "tax_ids": [], "taxability_override": "none" }, "expires_at": 1706708005, "line_items": { "object": "list", "data": [ { "id": "tax_li_PSqf3RMNZa23H4", "object": "tax.calculation_line_item", "amount": 1499, "amount_tax": 154, "livemode": false, "product": null, "quantity": 1, "reference": "Music Streaming Coupon", "tax_behavior": "exclusive", "tax_code": "txcd_10000000" } ], "has_more": false, "total_count": 1, "url": "/v1/tax/calculations/taxcalc_1OduxkBUZ691iUZ4iWvpMApI/line_items" }, "livemode": false, "ship_from_details": null, "shipping_cost": { "amount": 300, "amount_tax": 0, "tax_behavior": "exclusive", "tax_code": "txcd_92010001" }, "tax_amount_exclusive": 154, "tax_amount_inclusive": 0, "tax_breakdown": [ { "amount": 154, "inclusive": false, "tax_rate_details": { "country": "US", "percentage_decimal": "10.25", "state": "WA", "tax_type": "sales_tax" }, "taxability_reason": "standard_rated", "taxable_amount": 1499 }, { "amount": 0, "inclusive": false, "tax_rate_details": { "country": "DE", "percentage_decimal": "0.0", "state": null, "tax_type": "vat" }, "taxability_reason": "zero_rated", "taxable_amount": 300 } ], "tax_date": 1706535204}
Retrieves the line items of a tax calculation as a collection, if the calculation hasnât expired.
Parameters
- ending_
beforestring A cursor for use in pagination.
ending_
is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting withbefore obj_
, your subsequent call can includebar ending_
in order to fetch the previous page of the list.before=obj_ bar - limitinteger
A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
- starting_
afterstring A cursor for use in pagination.
starting_
is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending withafter obj_
, your subsequent call can includefoo starting_
in order to fetch the next page of the list.after=obj_ foo
Returns
A list of Line Item objects if the Tax calculation is found. Otherwise returns a ânot foundâ error.
{ "object": "list", "url": "/v1/tax/calculations/taxcalc_1NpJD42eZvKYlo2CUti522cz/line_items", "has_more": false, "data": [ { "object": "list", "url": "/v1/tax/calculations/taxcalc_1NpJD42eZvKYlo2CUti522cz/line_items", "has_more": false, "data": [ { "id": "tax_li_OcYJb5mQOSSSWD", "object": "tax.calculation_line_item", "amount": 1499, "amount_tax": 148, "livemode": false, "product": null, "quantity": 1, "reference": "Pepperoni Pizza", "tax_behavior": "exclusive", "tax_code": "txcd_40060003" } ] } ]}
Retrieves a Tax Calculation
object, if the calculation hasnât expired.
Parameters
No parameters.
Returns
A Tax Calculation
object if the Tax calculation is found. Otherwise returns a ânot foundâ error.
{ "id": "taxcalc_1OduxkBUZ691iUZ4iWvpMApI", "object": "tax.calculation", "amount_total": 1953, "currency": "usd", "customer": null, "customer_details": { "address": { "city": "Seattle", "country": "US", "line1": "920 5th Ave", "line2": null, "postal_code": "98104", "state": "WA" }, "address_source": "shipping", "ip_address": null, "tax_ids": [], "taxability_override": "none" }, "expires_at": 1706708005, "line_items": { "object": "list", "data": [ { "id": "tax_li_PSqf3RMNZa23H4", "object": "tax.calculation_line_item", "amount": 1499, "amount_tax": 154, "livemode": false, "product": null, "quantity": 1, "reference": "Music Streaming Coupon", "tax_behavior": "exclusive", "tax_code": "txcd_10000000" } ], "has_more": false, "total_count": 1, "url": "/v1/tax/calculations/taxcalc_1OduxkBUZ691iUZ4iWvpMApI/line_items" }, "livemode": false, "ship_from_details": null, "shipping_cost": { "amount": 300, "amount_tax": 0, "tax_behavior": "exclusive", "tax_code": "txcd_92010001" }, "tax_amount_exclusive": 154, "tax_amount_inclusive": 0, "tax_breakdown": [ { "amount": 154, "inclusive": false, "tax_rate_details": { "country": "US", "percentage_decimal": "10.25", "state": "WA", "tax_type": "sales_tax" }, "taxability_reason": "standard_rated", "taxable_amount": 1499 }, { "amount": 0, "inclusive": false, "tax_rate_details": { "country": "DE", "percentage_decimal": "0.0", "state": null, "tax_type": "vat" }, "taxability_reason": "zero_rated", "taxable_amount": 300 } ], "tax_date": 1706535204}
A Tax Registration
lets us know that your business is registered to collect tax on payments within a region, enabling you to automatically collect tax.
Stripe doesnât register on your behalf with the relevant authorities when you create a Tax Registration
object. For more information on how to register to collect tax, see our guide.
Related guide: Using the Registrations API
A Tax Transaction records the tax collected from or refunded to your customer.
Related guide: Calculate tax in your custom payment flow
You can use Tax Settings
to manage configurations used by Stripe Tax calculations.
Related guide: Using the Settings API
A VerificationSession guides you through the process of collecting and verifying the identities of your users. It contains details about the type of verification, such as what verification check to perform. Only create one VerificationSession for each verification in your system.
A VerificationSession transitions through multiple statuses throughout its lifetime as it progresses through the verification flow. The VerificationSession contains the userâs verified data after verification checks are complete.
Related guide: The Verification Sessions API
A VerificationReport is the result of an attempt to collect and verify data from a user. The collection of verification checks performed is determined from the type
and options
parameters used. You can find the result of each verification check performed in the appropriate sub-resource: document
, id_
, selfie
.
Each VerificationReport contains a copy of any data collected by the user as well as reference IDs which can be used to access collected images through the FileUpload API. To configure and create VerificationReports, use the VerificationSession API.
Related guide: Accessing verification results.
A Crypto Onramp Session represents your customerâs session as they purchase cryptocurrency through Stripe. Once payment is successful, Stripe will fulfill the delivery of cryptocurrency to your userâs wallet and contain a reference to the crypto transaction ID.
You can create an onramp session on your server and embed the widget on your frontend. Alternatively, you can redirect your users to the standalone hosted onramp.
Related guide: Integrate the onramp
Crypto Onramp Quotes are estimated quotes for onramp conversions into all the different cryptocurrencies on different networks. The Quotes API allows you to display quotes in your product UI before directing the user to the onramp widget.
Related guide: Quotes API
Orders represent your intent to purchase a particular Climate product. When you create an order, the payment is deducted from your merchant balance.
A Climate product represents a type of carbon removal unit available for reservation. You can retrieve it to see the current price and availability.
A supplier of carbon removal.
Instructs Stripe to make a request on your behalf using the destination URL. The destination URL is activated by Stripe at the time of onboarding. Stripe verifies requests with your credentials provided during onboarding, and injects card details from the payment_method into the request.
Stripe redacts all sensitive fields and headers, including authentication credentials and card numbers, before storing the request and response data in the forwarding Request object, which are subject to a 30-day retention period.
You can provide a Stripe idempotency key to make sure that requests with the same key result in only one outbound request. The Stripe idempotency key provided should be unique and different from any idempotency keys provided on the underlying third-party request.
Forwarding Requests are synchronous requests that return a response or time out according to Stripeâs limits.
Related guide: Forward card details to third-party API endpoints.
You can configure webhook endpoints via the API to be notified about events that happen in your Stripe account or connected accounts.
Most users configure webhooks from the dashboard, which provides a user interface for registering and testing your webhook endpoints.
Related guide: Setting up webhooks