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_totalTotal after taxes.currencyThree-letter ISO currency code, in lowercase. Must be a supported currency.customerThe ID of an existing Customer used for the resource.customer_detailsexpires_atTimestamp of date at which the tax calculation will expire.idUnique identifier for the calculation.line_itemsThe list of items the customer is purchasing.livemodeHas the valuetrueif the object exists in live mode or the valuefalseif the object exists in test mode.objectString representing the object's type. Objects of the same type share the same value.shipping_costThe shipping cost details for the calculation.tax_amount_exclusiveThe amount of tax to be collected on top of the line item prices.tax_amount_inclusiveThe amount of tax already included in the line item prices.tax_breakdownBreakdown of individual tax amounts that add up to the total.tax_dateTimestamp 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