View Source Stripe.Tax.Calculation (stripity_stripe v3.2.0)
A Tax Calculation allows you to calculate the tax to collect from your customer.
Related guide: Calculate tax in your custom payment flow
Summary
Types
The customer's postal address (for example, home or business location).
Details about the customer, including address and tax IDs.
Shipping cost details to be used for the calculation.
The tax.calculation
type.
Functions
Calculates tax based on input and returns a Tax Calculation
object.
Retrieves the line items of a persisted tax calculation as a collection.
Types
@type address() :: %{ optional(:city) => binary() | binary(), optional(:country) => binary(), optional(:line1) => binary() | binary(), optional(:line2) => binary() | binary(), optional(:postal_code) => binary() | binary(), optional(:state) => binary() | binary() }
The customer's postal address (for example, home or business location).
@type customer_details() :: %{ optional(:address) => address(), optional(:address_source) => :billing | :shipping, optional(:ip_address) => binary(), optional(:tax_ids) => [tax_ids()], optional(:taxability_override) => :customer_exempt | :none | :reverse_charge }
Details about the customer, including address and tax IDs.
@type shipping_cost() :: %{ optional(:amount) => integer(), optional(:shipping_rate) => binary(), optional(:tax_behavior) => :exclusive | :inclusive, optional(:tax_code) => binary() }
Shipping cost details to be used for the calculation.
@type t() :: %Stripe.Tax.Calculation{ amount_total: integer(), currency: binary(), customer: binary() | nil, customer_details: term(), expires_at: integer() | nil, id: binary() | nil, line_items: term() | nil, livemode: boolean(), object: binary(), shipping_cost: term() | nil, tax_amount_exclusive: integer(), tax_amount_inclusive: integer(), tax_breakdown: term(), tax_date: integer() }
The tax.calculation
type.
amount_total
Total after taxes.currency
Three-letter ISO currency code, in lowercase. Must be a supported currency.customer
The ID of an existing Customer used for the resource.customer_details
expires_at
Timestamp of date at which the tax calculation will expire.id
Unique identifier for the calculation.line_items
The list of items the customer is purchasing.livemode
Has the valuetrue
if the object exists in live mode or the valuefalse
if the object exists in test mode.object
String representing the object's type. Objects of the same type share the same value.shipping_cost
The shipping cost details for the calculation.tax_amount_exclusive
The amount of tax to be collected on top of the line item prices.tax_amount_inclusive
The amount of tax already included in the line item prices.tax_breakdown
Breakdown of individual tax amounts that add up to the total.tax_date
Timestamp of date at which the tax rules and rates in effect applies for the calculation.
@type tax_ids() :: %{ optional(:type) => :ad_nrt | :ae_trn | :ar_cuit | :au_abn | :au_arn | :bg_uic | :bo_tin | :br_cnpj | :br_cpf | :ca_bn | :ca_gst_hst | :ca_pst_bc | :ca_pst_mb | :ca_pst_sk | :ca_qst | :ch_vat | :cl_tin | :cn_tin | :co_nit | :cr_tin | :do_rcn | :ec_ruc | :eg_tin | :es_cif | :eu_oss_vat | :eu_vat | :gb_vat | :ge_vat | :hk_br | :hu_tin | :id_npwp | :il_vat | :in_gst | :is_vat | :jp_cn | :jp_rn | :jp_trn | :ke_pin | :kr_brn | :li_uid | :mx_rfc | :my_frp | :my_itn | :my_sst | :no_vat | :nz_gst | :pe_ruc | :ph_tin | :ro_tin | :rs_pib | :ru_inn | :ru_kpp | :sa_vat | :sg_gst | :sg_uen | :si_tin | :sv_nit | :th_vat | :tr_tin | :tw_vat | :ua_vat | :us_ein | :uy_ruc | :ve_rif | :vn_tin | :za_vat, optional(:value) => binary() }
Functions
@spec create( params :: %{ optional(:currency) => binary(), optional(:customer) => binary(), optional(:customer_details) => customer_details(), optional(:expand) => [binary()], optional(:line_items) => [line_items()], optional(:shipping_cost) => shipping_cost(), optional(:tax_date) => integer() }, opts :: Keyword.t() ) :: {:ok, t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}
Calculates tax based on input and returns a Tax Calculation
object.
Details
- Method:
post
- Path:
/v1/tax/calculations
@spec list_line_items( calculation :: binary(), params :: %{ optional(:ending_before) => binary(), optional(:expand) => [binary()], optional(:limit) => integer(), optional(:starting_after) => binary() }, opts :: Keyword.t() ) :: {:ok, Stripe.List.t(Stripe.Tax.CalculationLineItem.t())} | {:error, Stripe.ApiErrors.t()} | {:error, term()}
Retrieves the line items of a persisted tax calculation as a collection.
Details
- Method:
get
- Path:
/v1/tax/calculations/{calculation}/line_items