mirror of
https://github.com/rjNemo/go-wiki
synced 2026-06-12 05:26:42 +00:00
76 lines
2.7 KiB
Go
76 lines
2.7 KiB
Go
package stripe
|
|
|
|
import "encoding/json"
|
|
|
|
// TaxRateParams is the set of parameters that can be used when creating a tax rate.
|
|
// For more details see https://stripe.com/docs/api/tax_rates/create.
|
|
type TaxRateParams struct {
|
|
Params `form:"*"`
|
|
Active *bool `form:"active"`
|
|
Description *string `form:"description"`
|
|
DisplayName *string `form:"display_name"`
|
|
Inclusive *bool `form:"inclusive"`
|
|
Jurisdiction *string `form:"jurisdiction"`
|
|
Percentage *float64 `form:"percentage"`
|
|
}
|
|
|
|
// TaxRatePercentageRangeQueryParams are used to filter tax rates by specific percentage values.
|
|
type TaxRatePercentageRangeQueryParams struct {
|
|
GreaterThan float64 `form:"gt"`
|
|
GreaterThanOrEqual float64 `form:"gte"`
|
|
LesserThan float64 `form:"lt"`
|
|
LesserThanOrEqual float64 `form:"lte"`
|
|
}
|
|
|
|
// TaxRateListParams is the set of parameters that can be used when listing tax rates.
|
|
// For more detail see https://stripe.com/docs/api/tax_rates/list.
|
|
type TaxRateListParams struct {
|
|
ListParams `form:"*"`
|
|
Active *bool `form:"active"`
|
|
Created *int64 `form:"created"`
|
|
CreatedRange *RangeQueryParams `form:"created"`
|
|
Inclusive *bool `form:"inclusive"`
|
|
Percentage *float64 `form:"percentage"`
|
|
PercentageRange *TaxRatePercentageRangeQueryParams `form:"percentage"`
|
|
}
|
|
|
|
// TaxRate is the resource representing a Stripe tax rate.
|
|
// For more details see https://stripe.com/docs/api/tax_rates/object.
|
|
type TaxRate struct {
|
|
Active bool `json:"active"`
|
|
Created int64 `json:"created"`
|
|
Description string `json:"description"`
|
|
DisplayName string `json:"display_name"`
|
|
ID string `json:"id"`
|
|
Inclusive bool `json:"inclusive"`
|
|
Jurisdiction string `json:"jurisdiction"`
|
|
Livemode bool `json:"livemode"`
|
|
Metadata map[string]string `json:"metadata"`
|
|
Object string `json:"object"`
|
|
Percentage float64 `json:"percentage"`
|
|
}
|
|
|
|
// TaxRateList is a list of tax rates as retrieved from a list endpoint.
|
|
type TaxRateList struct {
|
|
ListMeta
|
|
Data []*TaxRate `json:"data"`
|
|
}
|
|
|
|
// UnmarshalJSON handles deserialization of a TaxRate.
|
|
// This custom unmarshaling is needed because the resulting
|
|
// property may be an id or the full struct if it was expanded.
|
|
func (c *TaxRate) UnmarshalJSON(data []byte) error {
|
|
if id, ok := ParseID(data); ok {
|
|
c.ID = id
|
|
return nil
|
|
}
|
|
|
|
type taxrate TaxRate
|
|
var v taxrate
|
|
if err := json.Unmarshal(data, &v); err != nil {
|
|
return err
|
|
}
|
|
|
|
*c = TaxRate(v)
|
|
return nil
|
|
}
|