Class: Stripe::TaxRate

Inherits:
APIResource show all
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](stripe.com/docs/billing/invoices/tax-rates), [subscriptions](stripe.com/docs/billing/subscriptions/taxes) and [Checkout Sessions](stripe.com/docs/payments/checkout/set-up-a-subscription#tax-rates) to collect tax.

Related guide: [Tax rates](stripe.com/docs/billing/taxes/tax-rates)

Defined Under Namespace

Classes: CreateParams, FlatAmount, ListParams, RetrieveParams, UpdateParams

Constant Summary collapse

OBJECT_NAME =
"tax_rate"

Constants inherited from StripeObject

StripeObject::RESERVED_FIELD_NAMES

Instance Attribute Summary collapse

Attributes inherited from APIResource

#save_with_parent

Attributes inherited from StripeObject

#last_response

Class Method Summary collapse

Methods included from APIOperations::Create

create

Methods included from APIOperations::List

list

Methods included from APIOperations::Save

included, #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

included

Methods inherited from StripeObject

#==, #[], #[]=, 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

#activeObject (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.



208
209
210
# File 'lib/stripe/resources/tax_rate.rb', line 208

def active
  @active
end

#countryObject (readonly)

Two-letter country code ([ISO 3166-1 alpha-2](en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).



211
212
213
# File 'lib/stripe/resources/tax_rate.rb', line 211

def country
  @country
end

#createdObject (readonly)

Time at which the object was created. Measured in seconds since the Unix epoch.



214
215
216
# File 'lib/stripe/resources/tax_rate.rb', line 214

def created
  @created
end

#descriptionObject (readonly)

An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.



217
218
219
# File 'lib/stripe/resources/tax_rate.rb', line 217

def description
  @description
end

#display_nameObject (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.



220
221
222
# File 'lib/stripe/resources/tax_rate.rb', line 220

def display_name
  @display_name
end

#effective_percentageObject (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.



225
226
227
# File 'lib/stripe/resources/tax_rate.rb', line 225

def effective_percentage
  @effective_percentage
end

#flat_amountObject (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.



228
229
230
# File 'lib/stripe/resources/tax_rate.rb', line 228

def flat_amount
  @flat_amount
end

#idObject (readonly)

Unique identifier for the object.



231
232
233
# File 'lib/stripe/resources/tax_rate.rb', line 231

def id
  @id
end

#inclusiveObject (readonly)

This specifies if the tax rate is inclusive or exclusive.



234
235
236
# File 'lib/stripe/resources/tax_rate.rb', line 234

def inclusive
  @inclusive
end

#jurisdictionObject (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.



237
238
239
# File 'lib/stripe/resources/tax_rate.rb', line 237

def jurisdiction
  @jurisdiction
end

#jurisdiction_levelObject (readonly)

The level of the jurisdiction that imposes this tax rate. Will be ‘null` for manually defined tax rates.



240
241
242
# File 'lib/stripe/resources/tax_rate.rb', line 240

def jurisdiction_level
  @jurisdiction_level
end

#livemodeObject (readonly)

Has the value ‘true` if the object exists in live mode or the value `false` if the object exists in test mode.



243
244
245
# File 'lib/stripe/resources/tax_rate.rb', line 243

def livemode
  @livemode
end

#metadataObject (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.



246
247
248
# File 'lib/stripe/resources/tax_rate.rb', line 246

def 
  @metadata
end

#objectObject (readonly)

String representing the object’s type. Objects of the same type share the same value.



249
250
251
# File 'lib/stripe/resources/tax_rate.rb', line 249

def object
  @object
end

#percentageObject (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.



252
253
254
# File 'lib/stripe/resources/tax_rate.rb', line 252

def percentage
  @percentage
end

#rate_typeObject (readonly)

Indicates the type of tax rate applied to the taxable amount. This value can be ‘null` when no tax applies to the location.



255
256
257
# File 'lib/stripe/resources/tax_rate.rb', line 255

def rate_type
  @rate_type
end

#stateObject (readonly)

[ISO 3166-2 subdivision code](en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, “NY” for New York, United States.



258
259
260
# File 'lib/stripe/resources/tax_rate.rb', line 258

def state
  @state
end

#tax_typeObject (readonly)

The high-level tax type, such as ‘vat` or `sales_tax`.



261
262
263
# File 'lib/stripe/resources/tax_rate.rb', line 261

def tax_type
  @tax_type
end

Class Method Details

.create(params = {}, opts = {}) ⇒ Object

Creates a new tax rate.



264
265
266
# File 'lib/stripe/resources/tax_rate.rb', line 264

def self.create(params = {}, opts = {})
  request_stripe_object(method: :post, path: "/v1/tax_rates", params: params, opts: opts)
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.



269
270
271
# File 'lib/stripe/resources/tax_rate.rb', line 269

def self.list(params = {}, opts = {})
  request_stripe_object(method: :get, path: "/v1/tax_rates", params: params, opts: opts)
end

.object_nameObject



14
15
16
# File 'lib/stripe/resources/tax_rate.rb', line 14

def self.object_name
  "tax_rate"
end

.update(id, params = {}, opts = {}) ⇒ Object

Updates an existing tax rate.



274
275
276
277
278
279
280
281
# File 'lib/stripe/resources/tax_rate.rb', line 274

def self.update(id, params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/tax_rates/%<id>s", { id: CGI.escape(id) }),
    params: params,
    opts: opts
  )
end