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](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

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

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

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



179
180
181
# File 'lib/stripe/resources/tax_rate.rb', line 179

def active
  @active
end

#countryObject (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

#createdObject (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

#descriptionObject (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_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.



187
188
189
# File 'lib/stripe/resources/tax_rate.rb', line 187

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.



191
192
193
# File 'lib/stripe/resources/tax_rate.rb', line 191

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.



193
194
195
# File 'lib/stripe/resources/tax_rate.rb', line 193

def flat_amount
  @flat_amount
end

#idObject (readonly)

Unique identifier for the object.



195
196
197
# File 'lib/stripe/resources/tax_rate.rb', line 195

def id
  @id
end

#inclusiveObject (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

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



199
200
201
# File 'lib/stripe/resources/tax_rate.rb', line 199

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.



201
202
203
# File 'lib/stripe/resources/tax_rate.rb', line 201

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.



203
204
205
# File 'lib/stripe/resources/tax_rate.rb', line 203

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.



205
206
207
# File 'lib/stripe/resources/tax_rate.rb', line 205

def 
  @metadata
end

#objectObject (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

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



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

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. 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

#stateObject (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_typeObject (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_remappingsObject



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

def self.field_remappings
  @field_remappings = {}
end

.inner_class_typesObject



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_nameObject



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