github.com/stripe/stripe-go/v76@v76.25.0/tax_calculation.go (about) 1 // 2 // 3 // File generated from our OpenAPI spec 4 // 5 // 6 7 package stripe 8 9 // The type of customer address provided. 10 type TaxCalculationCustomerDetailsAddressSource string 11 12 // List of values that TaxCalculationCustomerDetailsAddressSource can take 13 const ( 14 TaxCalculationCustomerDetailsAddressSourceBilling TaxCalculationCustomerDetailsAddressSource = "billing" 15 TaxCalculationCustomerDetailsAddressSourceShipping TaxCalculationCustomerDetailsAddressSource = "shipping" 16 ) 17 18 // The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `no_voec`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, or `unknown` 19 type TaxCalculationCustomerDetailsTaxIDType string 20 21 // List of values that TaxCalculationCustomerDetailsTaxIDType can take 22 const ( 23 TaxCalculationCustomerDetailsTaxIDTypeADNRT TaxCalculationCustomerDetailsTaxIDType = "ad_nrt" 24 TaxCalculationCustomerDetailsTaxIDTypeAETRN TaxCalculationCustomerDetailsTaxIDType = "ae_trn" 25 TaxCalculationCustomerDetailsTaxIDTypeARCUIT TaxCalculationCustomerDetailsTaxIDType = "ar_cuit" 26 TaxCalculationCustomerDetailsTaxIDTypeAUABN TaxCalculationCustomerDetailsTaxIDType = "au_abn" 27 TaxCalculationCustomerDetailsTaxIDTypeAUARN TaxCalculationCustomerDetailsTaxIDType = "au_arn" 28 TaxCalculationCustomerDetailsTaxIDTypeBGUIC TaxCalculationCustomerDetailsTaxIDType = "bg_uic" 29 TaxCalculationCustomerDetailsTaxIDTypeBOTIN TaxCalculationCustomerDetailsTaxIDType = "bo_tin" 30 TaxCalculationCustomerDetailsTaxIDTypeBRCNPJ TaxCalculationCustomerDetailsTaxIDType = "br_cnpj" 31 TaxCalculationCustomerDetailsTaxIDTypeBRCPF TaxCalculationCustomerDetailsTaxIDType = "br_cpf" 32 TaxCalculationCustomerDetailsTaxIDTypeCABN TaxCalculationCustomerDetailsTaxIDType = "ca_bn" 33 TaxCalculationCustomerDetailsTaxIDTypeCAGSTHST TaxCalculationCustomerDetailsTaxIDType = "ca_gst_hst" 34 TaxCalculationCustomerDetailsTaxIDTypeCAPSTBC TaxCalculationCustomerDetailsTaxIDType = "ca_pst_bc" 35 TaxCalculationCustomerDetailsTaxIDTypeCAPSTMB TaxCalculationCustomerDetailsTaxIDType = "ca_pst_mb" 36 TaxCalculationCustomerDetailsTaxIDTypeCAPSTSK TaxCalculationCustomerDetailsTaxIDType = "ca_pst_sk" 37 TaxCalculationCustomerDetailsTaxIDTypeCAQST TaxCalculationCustomerDetailsTaxIDType = "ca_qst" 38 TaxCalculationCustomerDetailsTaxIDTypeCHVAT TaxCalculationCustomerDetailsTaxIDType = "ch_vat" 39 TaxCalculationCustomerDetailsTaxIDTypeCLTIN TaxCalculationCustomerDetailsTaxIDType = "cl_tin" 40 TaxCalculationCustomerDetailsTaxIDTypeCNTIN TaxCalculationCustomerDetailsTaxIDType = "cn_tin" 41 TaxCalculationCustomerDetailsTaxIDTypeCONIT TaxCalculationCustomerDetailsTaxIDType = "co_nit" 42 TaxCalculationCustomerDetailsTaxIDTypeCRTIN TaxCalculationCustomerDetailsTaxIDType = "cr_tin" 43 TaxCalculationCustomerDetailsTaxIDTypeDORCN TaxCalculationCustomerDetailsTaxIDType = "do_rcn" 44 TaxCalculationCustomerDetailsTaxIDTypeECRUC TaxCalculationCustomerDetailsTaxIDType = "ec_ruc" 45 TaxCalculationCustomerDetailsTaxIDTypeEGTIN TaxCalculationCustomerDetailsTaxIDType = "eg_tin" 46 TaxCalculationCustomerDetailsTaxIDTypeESCIF TaxCalculationCustomerDetailsTaxIDType = "es_cif" 47 TaxCalculationCustomerDetailsTaxIDTypeEUOSSVAT TaxCalculationCustomerDetailsTaxIDType = "eu_oss_vat" 48 TaxCalculationCustomerDetailsTaxIDTypeEUVAT TaxCalculationCustomerDetailsTaxIDType = "eu_vat" 49 TaxCalculationCustomerDetailsTaxIDTypeGBVAT TaxCalculationCustomerDetailsTaxIDType = "gb_vat" 50 TaxCalculationCustomerDetailsTaxIDTypeGEVAT TaxCalculationCustomerDetailsTaxIDType = "ge_vat" 51 TaxCalculationCustomerDetailsTaxIDTypeHKBR TaxCalculationCustomerDetailsTaxIDType = "hk_br" 52 TaxCalculationCustomerDetailsTaxIDTypeHUTIN TaxCalculationCustomerDetailsTaxIDType = "hu_tin" 53 TaxCalculationCustomerDetailsTaxIDTypeIDNPWP TaxCalculationCustomerDetailsTaxIDType = "id_npwp" 54 TaxCalculationCustomerDetailsTaxIDTypeILVAT TaxCalculationCustomerDetailsTaxIDType = "il_vat" 55 TaxCalculationCustomerDetailsTaxIDTypeINGST TaxCalculationCustomerDetailsTaxIDType = "in_gst" 56 TaxCalculationCustomerDetailsTaxIDTypeISVAT TaxCalculationCustomerDetailsTaxIDType = "is_vat" 57 TaxCalculationCustomerDetailsTaxIDTypeJPCN TaxCalculationCustomerDetailsTaxIDType = "jp_cn" 58 TaxCalculationCustomerDetailsTaxIDTypeJPRN TaxCalculationCustomerDetailsTaxIDType = "jp_rn" 59 TaxCalculationCustomerDetailsTaxIDTypeJPTRN TaxCalculationCustomerDetailsTaxIDType = "jp_trn" 60 TaxCalculationCustomerDetailsTaxIDTypeKEPIN TaxCalculationCustomerDetailsTaxIDType = "ke_pin" 61 TaxCalculationCustomerDetailsTaxIDTypeKRBRN TaxCalculationCustomerDetailsTaxIDType = "kr_brn" 62 TaxCalculationCustomerDetailsTaxIDTypeLIUID TaxCalculationCustomerDetailsTaxIDType = "li_uid" 63 TaxCalculationCustomerDetailsTaxIDTypeMXRFC TaxCalculationCustomerDetailsTaxIDType = "mx_rfc" 64 TaxCalculationCustomerDetailsTaxIDTypeMYFRP TaxCalculationCustomerDetailsTaxIDType = "my_frp" 65 TaxCalculationCustomerDetailsTaxIDTypeMYITN TaxCalculationCustomerDetailsTaxIDType = "my_itn" 66 TaxCalculationCustomerDetailsTaxIDTypeMYSST TaxCalculationCustomerDetailsTaxIDType = "my_sst" 67 TaxCalculationCustomerDetailsTaxIDTypeNOVAT TaxCalculationCustomerDetailsTaxIDType = "no_vat" 68 TaxCalculationCustomerDetailsTaxIDTypeNOVOEC TaxCalculationCustomerDetailsTaxIDType = "no_voec" 69 TaxCalculationCustomerDetailsTaxIDTypeNZGST TaxCalculationCustomerDetailsTaxIDType = "nz_gst" 70 TaxCalculationCustomerDetailsTaxIDTypePERUC TaxCalculationCustomerDetailsTaxIDType = "pe_ruc" 71 TaxCalculationCustomerDetailsTaxIDTypePHTIN TaxCalculationCustomerDetailsTaxIDType = "ph_tin" 72 TaxCalculationCustomerDetailsTaxIDTypeROTIN TaxCalculationCustomerDetailsTaxIDType = "ro_tin" 73 TaxCalculationCustomerDetailsTaxIDTypeRSPIB TaxCalculationCustomerDetailsTaxIDType = "rs_pib" 74 TaxCalculationCustomerDetailsTaxIDTypeRUINN TaxCalculationCustomerDetailsTaxIDType = "ru_inn" 75 TaxCalculationCustomerDetailsTaxIDTypeRUKPP TaxCalculationCustomerDetailsTaxIDType = "ru_kpp" 76 TaxCalculationCustomerDetailsTaxIDTypeSAVAT TaxCalculationCustomerDetailsTaxIDType = "sa_vat" 77 TaxCalculationCustomerDetailsTaxIDTypeSGGST TaxCalculationCustomerDetailsTaxIDType = "sg_gst" 78 TaxCalculationCustomerDetailsTaxIDTypeSGUEN TaxCalculationCustomerDetailsTaxIDType = "sg_uen" 79 TaxCalculationCustomerDetailsTaxIDTypeSITIN TaxCalculationCustomerDetailsTaxIDType = "si_tin" 80 TaxCalculationCustomerDetailsTaxIDTypeSVNIT TaxCalculationCustomerDetailsTaxIDType = "sv_nit" 81 TaxCalculationCustomerDetailsTaxIDTypeTHVAT TaxCalculationCustomerDetailsTaxIDType = "th_vat" 82 TaxCalculationCustomerDetailsTaxIDTypeTRTIN TaxCalculationCustomerDetailsTaxIDType = "tr_tin" 83 TaxCalculationCustomerDetailsTaxIDTypeTWVAT TaxCalculationCustomerDetailsTaxIDType = "tw_vat" 84 TaxCalculationCustomerDetailsTaxIDTypeUAVAT TaxCalculationCustomerDetailsTaxIDType = "ua_vat" 85 TaxCalculationCustomerDetailsTaxIDTypeUnknown TaxCalculationCustomerDetailsTaxIDType = "unknown" 86 TaxCalculationCustomerDetailsTaxIDTypeUSEIN TaxCalculationCustomerDetailsTaxIDType = "us_ein" 87 TaxCalculationCustomerDetailsTaxIDTypeUYRUC TaxCalculationCustomerDetailsTaxIDType = "uy_ruc" 88 TaxCalculationCustomerDetailsTaxIDTypeVERIF TaxCalculationCustomerDetailsTaxIDType = "ve_rif" 89 TaxCalculationCustomerDetailsTaxIDTypeVNTIN TaxCalculationCustomerDetailsTaxIDType = "vn_tin" 90 TaxCalculationCustomerDetailsTaxIDTypeZAVAT TaxCalculationCustomerDetailsTaxIDType = "za_vat" 91 ) 92 93 // The taxability override used for taxation. 94 type TaxCalculationCustomerDetailsTaxabilityOverride string 95 96 // List of values that TaxCalculationCustomerDetailsTaxabilityOverride can take 97 const ( 98 TaxCalculationCustomerDetailsTaxabilityOverrideCustomerExempt TaxCalculationCustomerDetailsTaxabilityOverride = "customer_exempt" 99 TaxCalculationCustomerDetailsTaxabilityOverrideNone TaxCalculationCustomerDetailsTaxabilityOverride = "none" 100 TaxCalculationCustomerDetailsTaxabilityOverrideReverseCharge TaxCalculationCustomerDetailsTaxabilityOverride = "reverse_charge" 101 ) 102 103 // Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. 104 type TaxCalculationShippingCostTaxBehavior string 105 106 // List of values that TaxCalculationShippingCostTaxBehavior can take 107 const ( 108 TaxCalculationShippingCostTaxBehaviorExclusive TaxCalculationShippingCostTaxBehavior = "exclusive" 109 TaxCalculationShippingCostTaxBehaviorInclusive TaxCalculationShippingCostTaxBehavior = "inclusive" 110 ) 111 112 // Indicates the level of the jurisdiction imposing the tax. 113 type TaxCalculationShippingCostTaxBreakdownJurisdictionLevel string 114 115 // List of values that TaxCalculationShippingCostTaxBreakdownJurisdictionLevel can take 116 const ( 117 TaxCalculationShippingCostTaxBreakdownJurisdictionLevelCity TaxCalculationShippingCostTaxBreakdownJurisdictionLevel = "city" 118 TaxCalculationShippingCostTaxBreakdownJurisdictionLevelCountry TaxCalculationShippingCostTaxBreakdownJurisdictionLevel = "country" 119 TaxCalculationShippingCostTaxBreakdownJurisdictionLevelCounty TaxCalculationShippingCostTaxBreakdownJurisdictionLevel = "county" 120 TaxCalculationShippingCostTaxBreakdownJurisdictionLevelDistrict TaxCalculationShippingCostTaxBreakdownJurisdictionLevel = "district" 121 TaxCalculationShippingCostTaxBreakdownJurisdictionLevelState TaxCalculationShippingCostTaxBreakdownJurisdictionLevel = "state" 122 ) 123 124 // Indicates whether the jurisdiction was determined by the origin (merchant's address) or destination (customer's address). 125 type TaxCalculationShippingCostTaxBreakdownSourcing string 126 127 // List of values that TaxCalculationShippingCostTaxBreakdownSourcing can take 128 const ( 129 TaxCalculationShippingCostTaxBreakdownSourcingDestination TaxCalculationShippingCostTaxBreakdownSourcing = "destination" 130 TaxCalculationShippingCostTaxBreakdownSourcingOrigin TaxCalculationShippingCostTaxBreakdownSourcing = "origin" 131 ) 132 133 // The tax type, such as `vat` or `sales_tax`. 134 type TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType string 135 136 // List of values that TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType can take 137 const ( 138 TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxTypeAmusementTax TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType = "amusement_tax" 139 TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxTypeCommunicationsTax TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType = "communications_tax" 140 TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxTypeGST TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType = "gst" 141 TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxTypeHST TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType = "hst" 142 TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxTypeIGST TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType = "igst" 143 TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxTypeJCT TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType = "jct" 144 TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxTypeLeaseTax TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType = "lease_tax" 145 TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxTypePST TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType = "pst" 146 TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxTypeQST TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType = "qst" 147 TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxTypeRST TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType = "rst" 148 TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxTypeSalesTax TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType = "sales_tax" 149 TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxTypeVAT TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType = "vat" 150 ) 151 152 // The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. 153 type TaxCalculationShippingCostTaxBreakdownTaxabilityReason string 154 155 // List of values that TaxCalculationShippingCostTaxBreakdownTaxabilityReason can take 156 const ( 157 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonCustomerExempt TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "customer_exempt" 158 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonNotCollecting TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "not_collecting" 159 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonNotSubjectToTax TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "not_subject_to_tax" 160 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonNotSupported TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "not_supported" 161 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonPortionProductExempt TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "portion_product_exempt" 162 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonPortionReducedRated TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "portion_reduced_rated" 163 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonPortionStandardRated TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "portion_standard_rated" 164 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonProductExempt TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "product_exempt" 165 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonProductExemptHoliday TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "product_exempt_holiday" 166 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonProportionallyRated TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "proportionally_rated" 167 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonReducedRated TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "reduced_rated" 168 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonReverseCharge TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "reverse_charge" 169 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonStandardRated TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "standard_rated" 170 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonTaxableBasisReduced TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "taxable_basis_reduced" 171 TaxCalculationShippingCostTaxBreakdownTaxabilityReasonZeroRated TaxCalculationShippingCostTaxBreakdownTaxabilityReason = "zero_rated" 172 ) 173 174 // The tax type, such as `vat` or `sales_tax`. 175 type TaxCalculationTaxBreakdownTaxRateDetailsTaxType string 176 177 // List of values that TaxCalculationTaxBreakdownTaxRateDetailsTaxType can take 178 const ( 179 TaxCalculationTaxBreakdownTaxRateDetailsTaxTypeAmusementTax TaxCalculationTaxBreakdownTaxRateDetailsTaxType = "amusement_tax" 180 TaxCalculationTaxBreakdownTaxRateDetailsTaxTypeCommunicationsTax TaxCalculationTaxBreakdownTaxRateDetailsTaxType = "communications_tax" 181 TaxCalculationTaxBreakdownTaxRateDetailsTaxTypeGST TaxCalculationTaxBreakdownTaxRateDetailsTaxType = "gst" 182 TaxCalculationTaxBreakdownTaxRateDetailsTaxTypeHST TaxCalculationTaxBreakdownTaxRateDetailsTaxType = "hst" 183 TaxCalculationTaxBreakdownTaxRateDetailsTaxTypeIGST TaxCalculationTaxBreakdownTaxRateDetailsTaxType = "igst" 184 TaxCalculationTaxBreakdownTaxRateDetailsTaxTypeJCT TaxCalculationTaxBreakdownTaxRateDetailsTaxType = "jct" 185 TaxCalculationTaxBreakdownTaxRateDetailsTaxTypeLeaseTax TaxCalculationTaxBreakdownTaxRateDetailsTaxType = "lease_tax" 186 TaxCalculationTaxBreakdownTaxRateDetailsTaxTypePST TaxCalculationTaxBreakdownTaxRateDetailsTaxType = "pst" 187 TaxCalculationTaxBreakdownTaxRateDetailsTaxTypeQST TaxCalculationTaxBreakdownTaxRateDetailsTaxType = "qst" 188 TaxCalculationTaxBreakdownTaxRateDetailsTaxTypeRST TaxCalculationTaxBreakdownTaxRateDetailsTaxType = "rst" 189 TaxCalculationTaxBreakdownTaxRateDetailsTaxTypeSalesTax TaxCalculationTaxBreakdownTaxRateDetailsTaxType = "sales_tax" 190 TaxCalculationTaxBreakdownTaxRateDetailsTaxTypeVAT TaxCalculationTaxBreakdownTaxRateDetailsTaxType = "vat" 191 ) 192 193 // The reasoning behind this tax, for example, if the product is tax exempt. We might extend the possible values for this field to support new tax rules. 194 type TaxCalculationTaxBreakdownTaxabilityReason string 195 196 // List of values that TaxCalculationTaxBreakdownTaxabilityReason can take 197 const ( 198 TaxCalculationTaxBreakdownTaxabilityReasonCustomerExempt TaxCalculationTaxBreakdownTaxabilityReason = "customer_exempt" 199 TaxCalculationTaxBreakdownTaxabilityReasonNotCollecting TaxCalculationTaxBreakdownTaxabilityReason = "not_collecting" 200 TaxCalculationTaxBreakdownTaxabilityReasonNotSubjectToTax TaxCalculationTaxBreakdownTaxabilityReason = "not_subject_to_tax" 201 TaxCalculationTaxBreakdownTaxabilityReasonNotSupported TaxCalculationTaxBreakdownTaxabilityReason = "not_supported" 202 TaxCalculationTaxBreakdownTaxabilityReasonPortionProductExempt TaxCalculationTaxBreakdownTaxabilityReason = "portion_product_exempt" 203 TaxCalculationTaxBreakdownTaxabilityReasonPortionReducedRated TaxCalculationTaxBreakdownTaxabilityReason = "portion_reduced_rated" 204 TaxCalculationTaxBreakdownTaxabilityReasonPortionStandardRated TaxCalculationTaxBreakdownTaxabilityReason = "portion_standard_rated" 205 TaxCalculationTaxBreakdownTaxabilityReasonProductExempt TaxCalculationTaxBreakdownTaxabilityReason = "product_exempt" 206 TaxCalculationTaxBreakdownTaxabilityReasonProductExemptHoliday TaxCalculationTaxBreakdownTaxabilityReason = "product_exempt_holiday" 207 TaxCalculationTaxBreakdownTaxabilityReasonProportionallyRated TaxCalculationTaxBreakdownTaxabilityReason = "proportionally_rated" 208 TaxCalculationTaxBreakdownTaxabilityReasonReducedRated TaxCalculationTaxBreakdownTaxabilityReason = "reduced_rated" 209 TaxCalculationTaxBreakdownTaxabilityReasonReverseCharge TaxCalculationTaxBreakdownTaxabilityReason = "reverse_charge" 210 TaxCalculationTaxBreakdownTaxabilityReasonStandardRated TaxCalculationTaxBreakdownTaxabilityReason = "standard_rated" 211 TaxCalculationTaxBreakdownTaxabilityReasonTaxableBasisReduced TaxCalculationTaxBreakdownTaxabilityReason = "taxable_basis_reduced" 212 TaxCalculationTaxBreakdownTaxabilityReasonZeroRated TaxCalculationTaxBreakdownTaxabilityReason = "zero_rated" 213 ) 214 215 // Retrieves the line items of a persisted tax calculation as a collection. 216 type TaxCalculationListLineItemsParams struct { 217 ListParams `form:"*"` 218 Calculation *string `form:"-"` // Included in URL 219 // Specifies which fields in the response should be expanded. 220 Expand []*string `form:"expand"` 221 } 222 223 // AddExpand appends a new field to expand. 224 func (p *TaxCalculationListLineItemsParams) AddExpand(f string) { 225 p.Expand = append(p.Expand, &f) 226 } 227 228 // The customer's tax IDs. Stripe Tax might consider a transaction with applicable tax IDs to be B2B, which might affect the tax calculation result. Stripe Tax doesn't validate tax IDs for correctness. 229 type TaxCalculationCustomerDetailsTaxIDParams struct { 230 // Type of the tax ID, one of `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`, `no_voec`, `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`, or `za_vat` 231 Type *string `form:"type"` 232 // Value of the tax ID. 233 Value *string `form:"value"` 234 } 235 236 // Details about the customer, including address and tax IDs. 237 type TaxCalculationCustomerDetailsParams struct { 238 // The customer's postal address (for example, home or business location). 239 Address *AddressParams `form:"address"` 240 // The type of customer address provided. 241 AddressSource *string `form:"address_source"` 242 // The customer's IP address (IPv4 or IPv6). 243 IPAddress *string `form:"ip_address"` 244 // Overrides the tax calculation result to allow you to not collect tax from your customer. Use this if you've manually checked your customer's tax exemptions. Prefer providing the customer's `tax_ids` where possible, which automatically determines whether `reverse_charge` applies. 245 TaxabilityOverride *string `form:"taxability_override"` 246 // The customer's tax IDs. Stripe Tax might consider a transaction with applicable tax IDs to be B2B, which might affect the tax calculation result. Stripe Tax doesn't validate tax IDs for correctness. 247 TaxIDs []*TaxCalculationCustomerDetailsTaxIDParams `form:"tax_ids"` 248 } 249 250 // A list of items the customer is purchasing. 251 type TaxCalculationLineItemParams struct { 252 // A positive integer representing the line item's total price in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). 253 // The minimum amount is $0.0 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). 254 // The amount value supports up to twelve digits (e.g., a value of 999999999999 for a USD charge of $9,999,999,999.99). 255 // If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes are calculated on top of this amount. 256 Amount *int64 `form:"amount"` 257 // If provided, the product's `tax_code` will be used as the line item's `tax_code`. 258 Product *string `form:"product"` 259 // The number of units of the item being purchased. Used to calculate the per-unit price from the total `amount` for the line. For example, if `amount=100` and `quantity=4`, the calculated unit price is 25. 260 Quantity *int64 `form:"quantity"` 261 // A custom identifier for this line item, which must be unique across the line items in the calculation. The reference helps identify each line item in exported [tax reports](https://stripe.com/docs/tax/reports). 262 Reference *string `form:"reference"` 263 // Specifies whether the `amount` includes taxes. Defaults to `exclusive`. 264 TaxBehavior *string `form:"tax_behavior"` 265 // A [tax code](https://stripe.com/docs/tax/tax-categories) ID to use for this line item. If not provided, we will use the tax code from the provided `product` param. If neither `tax_code` nor `product` is provided, we will use the default tax code from your Tax Settings. 266 TaxCode *string `form:"tax_code"` 267 } 268 269 // Shipping cost details to be used for the calculation. 270 type TaxCalculationShippingCostParams struct { 271 // A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) representing the shipping charge. If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes are calculated on top of this amount. 272 Amount *int64 `form:"amount"` 273 // If provided, the [shipping rate](https://stripe.com/docs/api/shipping_rates/object)'s `amount`, `tax_code` and `tax_behavior` are used. If you provide a shipping rate, then you cannot pass the `amount`, `tax_code`, or `tax_behavior` parameters. 274 ShippingRate *string `form:"shipping_rate"` 275 // Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. Defaults to `exclusive`. 276 TaxBehavior *string `form:"tax_behavior"` 277 // The [tax code](https://stripe.com/docs/tax/tax-categories) used to calculate tax on shipping. If not provided, the default shipping tax code from your [Tax Settings](https://stripe.com/settings/tax) is used. 278 TaxCode *string `form:"tax_code"` 279 } 280 281 // Calculates tax based on input and returns a Tax Calculation object. 282 type TaxCalculationParams struct { 283 Params `form:"*"` 284 // Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). 285 Currency *string `form:"currency"` 286 // The ID of an existing customer to use for this calculation. If provided, the customer's address and tax IDs are copied to `customer_details`. 287 Customer *string `form:"customer"` 288 // Details about the customer, including address and tax IDs. 289 CustomerDetails *TaxCalculationCustomerDetailsParams `form:"customer_details"` 290 // Specifies which fields in the response should be expanded. 291 Expand []*string `form:"expand"` 292 // A list of items the customer is purchasing. 293 LineItems []*TaxCalculationLineItemParams `form:"line_items"` 294 // Shipping cost details to be used for the calculation. 295 ShippingCost *TaxCalculationShippingCostParams `form:"shipping_cost"` 296 // Timestamp of date at which the tax rules and rates in effect applies for the calculation. Measured in seconds since the Unix epoch. Can be up to 48 hours in the past, and up to 48 hours in the future. 297 TaxDate *int64 `form:"tax_date"` 298 } 299 300 // AddExpand appends a new field to expand. 301 func (p *TaxCalculationParams) AddExpand(f string) { 302 p.Expand = append(p.Expand, &f) 303 } 304 305 // The customer's tax IDs (for example, EU VAT numbers). 306 type TaxCalculationCustomerDetailsTaxID struct { 307 // The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `no_voec`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, or `unknown` 308 Type TaxCalculationCustomerDetailsTaxIDType `json:"type"` 309 // The value of the tax ID. 310 Value string `json:"value"` 311 } 312 type TaxCalculationCustomerDetails struct { 313 // The customer's postal address (for example, home or business location). 314 Address *Address `json:"address"` 315 // The type of customer address provided. 316 AddressSource TaxCalculationCustomerDetailsAddressSource `json:"address_source"` 317 // The customer's IP address (IPv4 or IPv6). 318 IPAddress string `json:"ip_address"` 319 // The taxability override used for taxation. 320 TaxabilityOverride TaxCalculationCustomerDetailsTaxabilityOverride `json:"taxability_override"` 321 // The customer's tax IDs (for example, EU VAT numbers). 322 TaxIDs []*TaxCalculationCustomerDetailsTaxID `json:"tax_ids"` 323 } 324 type TaxCalculationShippingCostTaxBreakdownJurisdiction struct { 325 // Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). 326 Country string `json:"country"` 327 // A human-readable name for the jurisdiction imposing the tax. 328 DisplayName string `json:"display_name"` 329 // Indicates the level of the jurisdiction imposing the tax. 330 Level TaxCalculationShippingCostTaxBreakdownJurisdictionLevel `json:"level"` 331 // [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States. 332 State string `json:"state"` 333 } 334 335 // Details regarding the rate for this tax. This field will be `null` when the tax is not imposed, for example if the product is exempt from tax. 336 type TaxCalculationShippingCostTaxBreakdownTaxRateDetails struct { 337 // A localized display name for tax type, intended to be human-readable. For example, "Local Sales and Use Tax", "Value-added tax (VAT)", or "Umsatzsteuer (USt.)". 338 DisplayName string `json:"display_name"` 339 // The tax rate percentage as a string. For example, 8.5% is represented as "8.5". 340 PercentageDecimal string `json:"percentage_decimal"` 341 // The tax type, such as `vat` or `sales_tax`. 342 TaxType TaxCalculationShippingCostTaxBreakdownTaxRateDetailsTaxType `json:"tax_type"` 343 } 344 345 // Detailed account of taxes relevant to shipping cost. 346 type TaxCalculationShippingCostTaxBreakdown struct { 347 // The amount of tax, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). 348 Amount int64 `json:"amount"` 349 Jurisdiction *TaxCalculationShippingCostTaxBreakdownJurisdiction `json:"jurisdiction"` 350 // Indicates whether the jurisdiction was determined by the origin (merchant's address) or destination (customer's address). 351 Sourcing TaxCalculationShippingCostTaxBreakdownSourcing `json:"sourcing"` 352 // The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. 353 TaxabilityReason TaxCalculationShippingCostTaxBreakdownTaxabilityReason `json:"taxability_reason"` 354 // The amount on which tax is calculated, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). 355 TaxableAmount int64 `json:"taxable_amount"` 356 // Details regarding the rate for this tax. This field will be `null` when the tax is not imposed, for example if the product is exempt from tax. 357 TaxRateDetails *TaxCalculationShippingCostTaxBreakdownTaxRateDetails `json:"tax_rate_details"` 358 } 359 360 // The shipping cost details for the calculation. 361 type TaxCalculationShippingCost struct { 362 // The shipping amount in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. 363 Amount int64 `json:"amount"` 364 // The amount of tax calculated for shipping, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). 365 AmountTax int64 `json:"amount_tax"` 366 // The ID of an existing [ShippingRate](https://stripe.com/docs/api/shipping_rates/object). 367 ShippingRate string `json:"shipping_rate"` 368 // Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. 369 TaxBehavior TaxCalculationShippingCostTaxBehavior `json:"tax_behavior"` 370 // Detailed account of taxes relevant to shipping cost. 371 TaxBreakdown []*TaxCalculationShippingCostTaxBreakdown `json:"tax_breakdown"` 372 // The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for shipping. 373 TaxCode string `json:"tax_code"` 374 } 375 type TaxCalculationTaxBreakdownTaxRateDetails struct { 376 // Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). 377 Country string `json:"country"` 378 // The tax rate percentage as a string. For example, 8.5% is represented as `"8.5"`. 379 PercentageDecimal string `json:"percentage_decimal"` 380 // State, county, province, or region. 381 State string `json:"state"` 382 // The tax type, such as `vat` or `sales_tax`. 383 TaxType TaxCalculationTaxBreakdownTaxRateDetailsTaxType `json:"tax_type"` 384 } 385 386 // Breakdown of individual tax amounts that add up to the total. 387 type TaxCalculationTaxBreakdown struct { 388 // The amount of tax, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). 389 Amount int64 `json:"amount"` 390 // Specifies whether the tax amount is included in the line item amount. 391 Inclusive bool `json:"inclusive"` 392 // The reasoning behind this tax, for example, if the product is tax exempt. We might extend the possible values for this field to support new tax rules. 393 TaxabilityReason TaxCalculationTaxBreakdownTaxabilityReason `json:"taxability_reason"` 394 // The amount on which tax is calculated, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). 395 TaxableAmount int64 `json:"taxable_amount"` 396 TaxRateDetails *TaxCalculationTaxBreakdownTaxRateDetails `json:"tax_rate_details"` 397 } 398 399 // A Tax Calculation allows you to calculate the tax to collect from your customer. 400 // 401 // Related guide: [Calculate tax in your custom payment flow](https://stripe.com/docs/tax/custom) 402 type TaxCalculation struct { 403 APIResource 404 // Total after taxes. 405 AmountTotal int64 `json:"amount_total"` 406 // Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). 407 Currency Currency `json:"currency"` 408 // The ID of an existing [Customer](https://stripe.com/docs/api/customers/object) used for the resource. 409 Customer string `json:"customer"` 410 CustomerDetails *TaxCalculationCustomerDetails `json:"customer_details"` 411 // Timestamp of date at which the tax calculation will expire. 412 ExpiresAt int64 `json:"expires_at"` 413 // Unique identifier for the calculation. 414 ID string `json:"id"` 415 // The list of items the customer is purchasing. 416 LineItems *TaxCalculationLineItemList `json:"line_items"` 417 // Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. 418 Livemode bool `json:"livemode"` 419 // String representing the object's type. Objects of the same type share the same value. 420 Object string `json:"object"` 421 // The shipping cost details for the calculation. 422 ShippingCost *TaxCalculationShippingCost `json:"shipping_cost"` 423 // The amount of tax to be collected on top of the line item prices. 424 TaxAmountExclusive int64 `json:"tax_amount_exclusive"` 425 // The amount of tax already included in the line item prices. 426 TaxAmountInclusive int64 `json:"tax_amount_inclusive"` 427 // Breakdown of individual tax amounts that add up to the total. 428 TaxBreakdown []*TaxCalculationTaxBreakdown `json:"tax_breakdown"` 429 // Timestamp of date at which the tax rules and rates in effect applies for the calculation. 430 TaxDate int64 `json:"tax_date"` 431 }