Class: Stripe::TaxRate
- Inherits:
-
APIResource
- Object
- StripeObject
- APIResource
- Stripe::TaxRate
- Extended by:
- APIOperations::Create, APIOperations::List
- Includes:
- APIOperations::Save
- Defined in:
- lib/stripe/resources/tax_rate.rb
Overview
Tax rates can be applied to [invoices](docs.stripe.com/invoicing/taxes/tax-rates), [subscriptions](docs.stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](docs.stripe.com/payments/checkout/use-manual-tax-rates) to collect tax.
Related guide: [Tax rates](docs.stripe.com/billing/taxes/tax-rates)
Defined Under Namespace
Classes: CreateParams, FlatAmount, ListParams, UpdateParams
Constant Summary collapse
- OBJECT_NAME =
"tax_rate"
Constants inherited from StripeObject
StripeObject::RESERVED_FIELD_NAMES
Instance Attribute Summary collapse
-
#active ⇒ Object
readonly
Defaults to ‘true`.
-
#country ⇒ Object
readonly
Two-letter country code ([ISO 3166-1 alpha-2](en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
-
#created ⇒ Object
readonly
Time at which the object was created.
-
#description ⇒ Object
readonly
An arbitrary string attached to the tax rate for your internal use only.
-
#display_name ⇒ Object
readonly
The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page.
-
#effective_percentage ⇒ Object
readonly
Actual/effective tax rate percentage out of 100.
-
#flat_amount ⇒ Object
readonly
The amount of the tax rate when the ‘rate_type` is `flat_amount`.
-
#id ⇒ Object
readonly
Unique identifier for the object.
-
#inclusive ⇒ Object
readonly
This specifies if the tax rate is inclusive or exclusive.
-
#jurisdiction ⇒ Object
readonly
The jurisdiction for the tax rate.
-
#jurisdiction_level ⇒ Object
readonly
The level of the jurisdiction that imposes this tax rate.
-
#livemode ⇒ Object
readonly
Has the value ‘true` if the object exists in live mode or the value `false` if the object exists in test mode.
-
#metadata ⇒ Object
readonly
Set of [key-value pairs](stripe.com/docs/api/metadata) that you can attach to an object.
-
#object ⇒ Object
readonly
String representing the object’s type.
-
#percentage ⇒ Object
readonly
Tax rate percentage out of 100.
-
#rate_type ⇒ Object
readonly
Indicates the type of tax rate applied to the taxable amount.
-
#state ⇒ Object
readonly
[ISO 3166-2 subdivision code](en.wikipedia.org/wiki/ISO_3166-2), without country prefix.
-
#tax_type ⇒ Object
readonly
The high-level tax type, such as ‘vat` or `sales_tax`.
Attributes inherited from APIResource
Attributes inherited from StripeObject
Class Method Summary collapse
-
.create(params = {}, opts = {}) ⇒ Object
Creates a new tax rate.
- .field_remappings ⇒ Object
- .inner_class_types ⇒ Object
-
.list(params = {}, opts = {}) ⇒ Object
Returns a list of your tax rates.
- .object_name ⇒ Object
-
.update(tax_rate, params = {}, opts = {}) ⇒ Object
Updates an existing tax rate.
Methods included from APIOperations::Create
Methods included from APIOperations::List
Methods included from APIOperations::Save
Methods inherited from APIResource
class_name, custom_method, #refresh, #request_stripe_object, resource_url, #resource_url, retrieve, save_nested_resource
Methods included from APIOperations::Request
Methods inherited from StripeObject
#==, #[], #[]=, #_get_inner_class_type, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, #hash, #initialize, #inspect, #keys, #marshal_dump, #marshal_load, protected_fields, #serialize_params, #to_hash, #to_json, #to_s, #update_attributes, #values
Constructor Details
This class inherits a constructor from Stripe::StripeObject
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Stripe::StripeObject
Instance Attribute Details
#active ⇒ Object (readonly)
Defaults to ‘true`. When set to `false`, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set.
179 180 181 |
# File 'lib/stripe/resources/tax_rate.rb', line 179 def active @active end |
#country ⇒ Object (readonly)
Two-letter country code ([ISO 3166-1 alpha-2](en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
181 182 183 |
# File 'lib/stripe/resources/tax_rate.rb', line 181 def country @country end |
#created ⇒ Object (readonly)
Time at which the object was created. Measured in seconds since the Unix epoch.
183 184 185 |
# File 'lib/stripe/resources/tax_rate.rb', line 183 def created @created end |
#description ⇒ Object (readonly)
An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.
185 186 187 |
# File 'lib/stripe/resources/tax_rate.rb', line 185 def description @description end |
#display_name ⇒ Object (readonly)
The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page.
187 188 189 |
# File 'lib/stripe/resources/tax_rate.rb', line 187 def display_name @display_name end |
#effective_percentage ⇒ Object (readonly)
Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax=true, this percentage reflects the rate actually used to calculate tax based on the product’s taxability and whether the user is registered to collect taxes in the corresponding jurisdiction.
191 192 193 |
# File 'lib/stripe/resources/tax_rate.rb', line 191 def effective_percentage @effective_percentage end |
#flat_amount ⇒ Object (readonly)
The amount of the tax rate when the ‘rate_type` is `flat_amount`. Tax rates with `rate_type` `percentage` can vary based on the transaction, resulting in this field being `null`. This field exposes the amount and currency of the flat tax rate.
193 194 195 |
# File 'lib/stripe/resources/tax_rate.rb', line 193 def flat_amount @flat_amount end |
#id ⇒ Object (readonly)
Unique identifier for the object.
195 196 197 |
# File 'lib/stripe/resources/tax_rate.rb', line 195 def id @id end |
#inclusive ⇒ Object (readonly)
This specifies if the tax rate is inclusive or exclusive.
197 198 199 |
# File 'lib/stripe/resources/tax_rate.rb', line 197 def inclusive @inclusive end |
#jurisdiction ⇒ Object (readonly)
The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice.
199 200 201 |
# File 'lib/stripe/resources/tax_rate.rb', line 199 def jurisdiction @jurisdiction end |
#jurisdiction_level ⇒ Object (readonly)
The level of the jurisdiction that imposes this tax rate. Will be ‘null` for manually defined tax rates.
201 202 203 |
# File 'lib/stripe/resources/tax_rate.rb', line 201 def jurisdiction_level @jurisdiction_level end |
#livemode ⇒ Object (readonly)
Has the value ‘true` if the object exists in live mode or the value `false` if the object exists in test mode.
203 204 205 |
# File 'lib/stripe/resources/tax_rate.rb', line 203 def livemode @livemode end |
#metadata ⇒ Object (readonly)
Set of [key-value pairs](stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
205 206 207 |
# File 'lib/stripe/resources/tax_rate.rb', line 205 def @metadata end |
#object ⇒ Object (readonly)
String representing the object’s type. Objects of the same type share the same value.
207 208 209 |
# File 'lib/stripe/resources/tax_rate.rb', line 207 def object @object end |
#percentage ⇒ Object (readonly)
Tax rate percentage out of 100. For tax calculations with automatic_tax=true, this percentage includes the statutory tax rate of non-taxable jurisdictions.
209 210 211 |
# File 'lib/stripe/resources/tax_rate.rb', line 209 def percentage @percentage end |
#rate_type ⇒ Object (readonly)
Indicates the type of tax rate applied to the taxable amount. This value can be ‘null` when no tax applies to the location. This field is only present for TaxRates created by Stripe Tax.
211 212 213 |
# File 'lib/stripe/resources/tax_rate.rb', line 211 def rate_type @rate_type end |
#state ⇒ Object (readonly)
[ISO 3166-2 subdivision code](en.wikipedia.org/wiki/ISO_3166-2), without country prefix. For example, “NY” for New York, United States.
213 214 215 |
# File 'lib/stripe/resources/tax_rate.rb', line 213 def state @state end |
#tax_type ⇒ Object (readonly)
The high-level tax type, such as ‘vat` or `sales_tax`.
215 216 217 |
# File 'lib/stripe/resources/tax_rate.rb', line 215 def tax_type @tax_type end |
Class Method Details
.create(params = {}, opts = {}) ⇒ Object
Creates a new tax rate.
218 219 220 |
# File 'lib/stripe/resources/tax_rate.rb', line 218 def self.create(params = {}, opts = {}) request_stripe_object(method: :post, path: "/v1/tax_rates", params: params, opts: opts) end |
.field_remappings ⇒ Object
241 242 243 |
# File 'lib/stripe/resources/tax_rate.rb', line 241 def self.field_remappings @field_remappings = {} end |
.inner_class_types ⇒ Object
237 238 239 |
# File 'lib/stripe/resources/tax_rate.rb', line 237 def self.inner_class_types @inner_class_types = { flat_amount: FlatAmount } end |
.list(params = {}, opts = {}) ⇒ Object
Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first.
223 224 225 |
# File 'lib/stripe/resources/tax_rate.rb', line 223 def self.list(params = {}, opts = {}) request_stripe_object(method: :get, path: "/v1/tax_rates", params: params, opts: opts) end |
.object_name ⇒ Object
14 15 16 |
# File 'lib/stripe/resources/tax_rate.rb', line 14 def self.object_name "tax_rate" end |
.update(tax_rate, params = {}, opts = {}) ⇒ Object
Updates an existing tax rate.
228 229 230 231 232 233 234 235 |
# File 'lib/stripe/resources/tax_rate.rb', line 228 def self.update(tax_rate, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/tax_rates/%<tax_rate>s", { tax_rate: CGI.escape(tax_rate) }), params: params, opts: opts ) end |