subscription

package
v3.45.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 6, 2026 License: MIT Imports: 8 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddChargeAtTermEndRequestParams

type AddChargeAtTermEndRequestParams struct {
	Amount                 *int64               `json:"amount,omitempty"`
	Description            string               `json:"description"`
	AmountInDecimal        string               `json:"amount_in_decimal,omitempty"`
	AvalaraSaleType        enum.AvalaraSaleType `json:"avalara_sale_type,omitempty"`
	AvalaraTransactionType *int32               `json:"avalara_transaction_type,omitempty"`
	AvalaraServiceType     *int32               `json:"avalara_service_type,omitempty"`
	DateFrom               *int64               `json:"date_from,omitempty"`
	DateTo                 *int64               `json:"date_to,omitempty"`
}

type Addon

type Addon struct {
	Id                     string             `json:"id"`
	Quantity               int32              `json:"quantity"`
	UnitPrice              int64              `json:"unit_price"`
	Amount                 int64              `json:"amount"`
	TrialEnd               int64              `json:"trial_end"`
	RemainingBillingCycles int32              `json:"remaining_billing_cycles"`
	QuantityInDecimal      string             `json:"quantity_in_decimal"`
	UnitPriceInDecimal     string             `json:"unit_price_in_decimal"`
	AmountInDecimal        string             `json:"amount_in_decimal"`
	ProrationType          enum.ProrationType `json:"proration_type"`
	Object                 string             `json:"object"`
}

type BillingOverride added in v3.28.0

type BillingOverride struct {
	MaxExcessPaymentUsage     int64  `json:"max_excess_payment_usage"`
	MaxRefundableCreditsUsage int64  `json:"max_refundable_credits_usage"`
	Object                    string `json:"object"`
}

type CancelEventBasedAddonParams

type CancelEventBasedAddonParams struct {
	Id                  string `json:"id,omitempty"`
	Quantity            *int32 `json:"quantity,omitempty"`
	UnitPrice           *int64 `json:"unit_price,omitempty"`
	ServicePeriodInDays *int32 `json:"service_period_in_days,omitempty"`
}

type CancelForItemsRequestParams

type CancelForItemsRequestParams struct {
	CancelOption                      enum.CancelOption                       `json:"cancel_option,omitempty"`
	EndOfTerm                         *bool                                   `json:"end_of_term,omitempty"`
	CancelAt                          *int64                                  `json:"cancel_at,omitempty"`
	CreditOptionForCurrentTermCharges enum.CreditOptionForCurrentTermCharges  `json:"credit_option_for_current_term_charges,omitempty"`
	UnbilledChargesOption             enum.UnbilledChargesOption              `json:"unbilled_charges_option,omitempty"`
	AccountReceivablesHandling        enum.AccountReceivablesHandling         `json:"account_receivables_handling,omitempty"`
	RefundableCreditsHandling         enum.RefundableCreditsHandling          `json:"refundable_credits_handling,omitempty"`
	ContractTermCancelOption          enum.ContractTermCancelOption           `json:"contract_term_cancel_option,omitempty"`
	InvoiceDate                       *int64                                  `json:"invoice_date,omitempty"`
	SubscriptionItems                 []*CancelForItemsSubscriptionItemParams `json:"subscription_items,omitempty"`
	CancelReasonCode                  string                                  `json:"cancel_reason_code,omitempty"`
	Decommissioned                    *bool                                   `json:"decommissioned,omitempty"`
}

type CancelForItemsSubscriptionItemParams

type CancelForItemsSubscriptionItemParams struct {
	ItemPriceId        string `json:"item_price_id,omitempty"`
	Quantity           *int32 `json:"quantity,omitempty"`
	QuantityInDecimal  string `json:"quantity_in_decimal,omitempty"`
	UnitPrice          *int64 `json:"unit_price,omitempty"`
	UnitPriceInDecimal string `json:"unit_price_in_decimal,omitempty"`
	ServicePeriodDays  *int32 `json:"service_period_days,omitempty"`
}

type CancelRequestParams

type CancelRequestParams struct {
	CancelOption                      enum.CancelOption                      `json:"cancel_option,omitempty"`
	EndOfTerm                         *bool                                  `json:"end_of_term,omitempty"`
	CancelAt                          *int64                                 `json:"cancel_at,omitempty"`
	CreditOptionForCurrentTermCharges enum.CreditOptionForCurrentTermCharges `json:"credit_option_for_current_term_charges,omitempty"`
	UnbilledChargesOption             enum.UnbilledChargesOption             `json:"unbilled_charges_option,omitempty"`
	AccountReceivablesHandling        enum.AccountReceivablesHandling        `json:"account_receivables_handling,omitempty"`
	RefundableCreditsHandling         enum.RefundableCreditsHandling         `json:"refundable_credits_handling,omitempty"`
	ContractTermCancelOption          enum.ContractTermCancelOption          `json:"contract_term_cancel_option,omitempty"`
	InvoiceDate                       *int64                                 `json:"invoice_date,omitempty"`
	EventBasedAddons                  []*CancelEventBasedAddonParams         `json:"event_based_addons,omitempty"`
	CancelReasonCode                  string                                 `json:"cancel_reason_code,omitempty"`
}

type ChangeTermEndRequestParams

type ChangeTermEndRequestParams struct {
	TermEndsAt         *int64 `json:"term_ends_at"`
	Prorate            *bool  `json:"prorate,omitempty"`
	InvoiceImmediately *bool  `json:"invoice_immediately,omitempty"`
}

type ChargeAddonAtTermEndRequestParams

type ChargeAddonAtTermEndRequestParams struct {
	AddonId                 string `json:"addon_id"`
	AddonQuantity           *int32 `json:"addon_quantity,omitempty"`
	AddonUnitPrice          *int64 `json:"addon_unit_price,omitempty"`
	AddonQuantityInDecimal  string `json:"addon_quantity_in_decimal,omitempty"`
	AddonUnitPriceInDecimal string `json:"addon_unit_price_in_decimal,omitempty"`
	DateFrom                *int64 `json:"date_from,omitempty"`
	DateTo                  *int64 `json:"date_to,omitempty"`
}

type ChargeFutureRenewalsFixedIntervalScheduleParams

type ChargeFutureRenewalsFixedIntervalScheduleParams struct {
	NumberOfOccurrences *int32             `json:"number_of_occurrences,omitempty"`
	DaysBeforeRenewal   *int32             `json:"days_before_renewal,omitempty"`
	EndScheduleOn       enum.EndScheduleOn `json:"end_schedule_on,omitempty"`
	EndDate             *int64             `json:"end_date,omitempty"`
}

type ChargeFutureRenewalsRequestParams

type ChargeFutureRenewalsRequestParams struct {
	TermsToCharge         *int32                                             `json:"terms_to_charge,omitempty"`
	SpecificDatesSchedule []*ChargeFutureRenewalsSpecificDatesScheduleParams `json:"specific_dates_schedule,omitempty"`
	FixedIntervalSchedule *ChargeFutureRenewalsFixedIntervalScheduleParams   `json:"fixed_interval_schedule,omitempty"`
	InvoiceImmediately    *bool                                              `json:"invoice_immediately,omitempty"`
	ScheduleType          enum.ScheduleType                                  `json:"schedule_type,omitempty"`
}

type ChargeFutureRenewalsSpecificDatesScheduleParams

type ChargeFutureRenewalsSpecificDatesScheduleParams struct {
	TermsToCharge *int32 `json:"terms_to_charge,omitempty"`
	Date          *int64 `json:"date,omitempty"`
}

type ChargedEventBasedAddon

type ChargedEventBasedAddon struct {
	Id            string `json:"id"`
	LastChargedAt int64  `json:"last_charged_at"`
	Object        string `json:"object"`
}

type ChargedItem

type ChargedItem struct {
	ItemPriceId   string `json:"item_price_id"`
	LastChargedAt int64  `json:"last_charged_at"`
	Object        string `json:"object"`
}

type ContractTerm

type ContractTerm struct {
	Id                          string                                       `json:"id"`
	Status                      subscriptionEnum.ContractTermStatus          `json:"status"`
	ContractStart               int64                                        `json:"contract_start"`
	ContractEnd                 int64                                        `json:"contract_end"`
	BillingCycle                int32                                        `json:"billing_cycle"`
	ActionAtTermEnd             subscriptionEnum.ContractTermActionAtTermEnd `json:"action_at_term_end"`
	TotalContractValue          int64                                        `json:"total_contract_value"`
	TotalContractValueBeforeTax int64                                        `json:"total_contract_value_before_tax"`
	CancellationCutoffPeriod    int32                                        `json:"cancellation_cutoff_period"`
	CreatedAt                   int64                                        `json:"created_at"`
	SubscriptionId              string                                       `json:"subscription_id"`
	RemainingBillingCycles      int32                                        `json:"remaining_billing_cycles"`
	Object                      string                                       `json:"object"`
}

type ContractTermsForSubscriptionRequestParams

type ContractTermsForSubscriptionRequestParams struct {
	Limit  *int32             `json:"limit,omitempty"`
	Offset string             `json:"offset,omitempty"`
	SortBy *filter.SortFilter `json:"sort_by,omitempty"`
}

type Coupon

type Coupon struct {
	CouponId     string `json:"coupon_id"`
	ApplyTill    int64  `json:"apply_till"`
	AppliedCount int32  `json:"applied_count"`
	CouponCode   string `json:"coupon_code"`
	Object       string `json:"object"`
}

type CreateAddonParams

type CreateAddonParams struct {
	Id                 string `json:"id,omitempty"`
	Quantity           *int32 `json:"quantity,omitempty"`
	QuantityInDecimal  string `json:"quantity_in_decimal,omitempty"`
	UnitPrice          *int64 `json:"unit_price,omitempty"`
	UnitPriceInDecimal string `json:"unit_price_in_decimal,omitempty"`
	BillingCycles      *int32 `json:"billing_cycles,omitempty"`
	TrialEnd           *int64 `json:"trial_end,omitempty"`
}

type CreateBankAccountParams

type CreateBankAccountParams struct {
	GatewayAccountId      string                 `json:"gateway_account_id,omitempty"`
	Iban                  string                 `json:"iban,omitempty"`
	FirstName             string                 `json:"first_name,omitempty"`
	LastName              string                 `json:"last_name,omitempty"`
	Company               string                 `json:"company,omitempty"`
	Email                 string                 `json:"email,omitempty"`
	Phone                 string                 `json:"phone,omitempty"`
	BankName              string                 `json:"bank_name,omitempty"`
	AccountNumber         string                 `json:"account_number,omitempty"`
	RoutingNumber         string                 `json:"routing_number,omitempty"`
	BankCode              string                 `json:"bank_code,omitempty"`
	AccountType           enum.AccountType       `json:"account_type,omitempty"`
	AccountHolderType     enum.AccountHolderType `json:"account_holder_type,omitempty"`
	EcheckType            enum.EcheckType        `json:"echeck_type,omitempty"`
	IssuingCountry        string                 `json:"issuing_country,omitempty"`
	SwedishIdentityNumber string                 `json:"swedish_identity_number,omitempty"`
	BillingAddress        map[string]interface{} `json:"billing_address,omitempty"`
}

type CreateBillingAddressParams

type CreateBillingAddressParams struct {
	FirstName        string                `json:"first_name,omitempty"`
	LastName         string                `json:"last_name,omitempty"`
	Email            string                `json:"email,omitempty"`
	Company          string                `json:"company,omitempty"`
	Phone            string                `json:"phone,omitempty"`
	Line1            string                `json:"line1,omitempty"`
	Line2            string                `json:"line2,omitempty"`
	Line3            string                `json:"line3,omitempty"`
	City             string                `json:"city,omitempty"`
	StateCode        string                `json:"state_code,omitempty"`
	State            string                `json:"state,omitempty"`
	Zip              string                `json:"zip,omitempty"`
	Country          string                `json:"country,omitempty"`
	ValidationStatus enum.ValidationStatus `json:"validation_status,omitempty"`
}

type CreateCardParams

type CreateCardParams struct {
	Gateway               enum.Gateway             `json:"gateway,omitempty"`
	GatewayAccountId      string                   `json:"gateway_account_id,omitempty"`
	TmpToken              string                   `json:"tmp_token,omitempty"`
	FirstName             string                   `json:"first_name,omitempty"`
	LastName              string                   `json:"last_name,omitempty"`
	Number                string                   `json:"number,omitempty"`
	ExpiryMonth           *int32                   `json:"expiry_month,omitempty"`
	ExpiryYear            *int32                   `json:"expiry_year,omitempty"`
	Cvv                   string                   `json:"cvv,omitempty"`
	PreferredScheme       cardEnum.PreferredScheme `json:"preferred_scheme,omitempty"`
	BillingAddr1          string                   `json:"billing_addr1,omitempty"`
	BillingAddr2          string                   `json:"billing_addr2,omitempty"`
	BillingCity           string                   `json:"billing_city,omitempty"`
	BillingStateCode      string                   `json:"billing_state_code,omitempty"`
	BillingState          string                   `json:"billing_state,omitempty"`
	BillingZip            string                   `json:"billing_zip,omitempty"`
	BillingCountry        string                   `json:"billing_country,omitempty"`
	IpAddress             string                   `json:"ip_address,omitempty"`
	AdditionalInformation map[string]interface{}   `json:"additional_information,omitempty"`
}

type CreateContractTermParams

type CreateContractTermParams struct {
	ActionAtTermEnd          subscriptionEnum.ContractTermActionAtTermEnd `json:"action_at_term_end,omitempty"`
	CancellationCutoffPeriod *int32                                       `json:"cancellation_cutoff_period,omitempty"`
}

type CreateCouponParams added in v3.8.0

type CreateCouponParams struct {
	CouponId  string `json:"coupon_id,omitempty"`
	ApplyTill *int64 `json:"apply_till,omitempty"`
}

type CreateCustomerParams

type CreateCustomerParams struct {
	Id                               string                       `json:"id,omitempty"`
	Email                            string                       `json:"email,omitempty"`
	FirstName                        string                       `json:"first_name,omitempty"`
	LastName                         string                       `json:"last_name,omitempty"`
	Company                          string                       `json:"company,omitempty"`
	Phone                            string                       `json:"phone,omitempty"`
	Locale                           string                       `json:"locale,omitempty"`
	Taxability                       enum.Taxability              `json:"taxability,omitempty"`
	EntityCode                       enum.EntityCode              `json:"entity_code,omitempty"`
	ExemptNumber                     string                       `json:"exempt_number,omitempty"`
	NetTermDays                      *int32                       `json:"net_term_days,omitempty"`
	TaxjarExemptionCategory          enum.TaxjarExemptionCategory `json:"taxjar_exemption_category,omitempty"`
	AutoCollection                   enum.AutoCollection          `json:"auto_collection,omitempty"`
	OfflinePaymentMethod             enum.OfflinePaymentMethod    `json:"offline_payment_method,omitempty"`
	AllowDirectDebit                 *bool                        `json:"allow_direct_debit,omitempty"`
	ConsolidatedInvoicing            *bool                        `json:"consolidated_invoicing,omitempty"`
	VatNumber                        string                       `json:"vat_number,omitempty"`
	VatNumberPrefix                  string                       `json:"vat_number_prefix,omitempty"`
	EntityIdentifierScheme           string                       `json:"entity_identifier_scheme,omitempty"`
	EntityIdentifierStandard         string                       `json:"entity_identifier_standard,omitempty"`
	IsEinvoiceEnabled                *bool                        `json:"is_einvoice_enabled,omitempty"`
	EinvoicingMethod                 enum.EinvoicingMethod        `json:"einvoicing_method,omitempty"`
	RegisteredForGst                 *bool                        `json:"registered_for_gst,omitempty"`
	BusinessCustomerWithoutVatNumber *bool                        `json:"business_customer_without_vat_number,omitempty"`
	ExemptionDetails                 []map[string]interface{}     `json:"exemption_details,omitempty"`
	CustomerType                     enum.CustomerType            `json:"customer_type,omitempty"`
}

type CreateEntityIdentifierParams

type CreateEntityIdentifierParams struct {
	Id       string `json:"id,omitempty"`
	Scheme   string `json:"scheme,omitempty"`
	Value    string `json:"value,omitempty"`
	Standard string `json:"standard,omitempty"`
}

type CreateEventBasedAddonParams

type CreateEventBasedAddonParams struct {
	Id                  string        `json:"id,omitempty"`
	Quantity            *int32        `json:"quantity,omitempty"`
	UnitPrice           *int64        `json:"unit_price,omitempty"`
	QuantityInDecimal   string        `json:"quantity_in_decimal,omitempty"`
	UnitPriceInDecimal  string        `json:"unit_price_in_decimal,omitempty"`
	ServicePeriodInDays *int32        `json:"service_period_in_days,omitempty"`
	OnEvent             enum.OnEvent  `json:"on_event,omitempty"`
	ChargeOnce          *bool         `json:"charge_once,omitempty"`
	ChargeOn            enum.ChargeOn `json:"charge_on,omitempty"`
}

type CreateForCustomerAddonParams

type CreateForCustomerAddonParams struct {
	Id                 string `json:"id,omitempty"`
	Quantity           *int32 `json:"quantity,omitempty"`
	QuantityInDecimal  string `json:"quantity_in_decimal,omitempty"`
	UnitPrice          *int64 `json:"unit_price,omitempty"`
	UnitPriceInDecimal string `json:"unit_price_in_decimal,omitempty"`
	BillingCycles      *int32 `json:"billing_cycles,omitempty"`
	TrialEnd           *int64 `json:"trial_end,omitempty"`
}

type CreateForCustomerContractTermParams

type CreateForCustomerContractTermParams struct {
	ActionAtTermEnd          subscriptionEnum.ContractTermActionAtTermEnd `json:"action_at_term_end,omitempty"`
	CancellationCutoffPeriod *int32                                       `json:"cancellation_cutoff_period,omitempty"`
}

type CreateForCustomerCouponParams added in v3.8.0

type CreateForCustomerCouponParams struct {
	CouponId  string `json:"coupon_id,omitempty"`
	ApplyTill *int64 `json:"apply_till,omitempty"`
}

type CreateForCustomerEventBasedAddonParams

type CreateForCustomerEventBasedAddonParams struct {
	Id                  string        `json:"id,omitempty"`
	Quantity            *int32        `json:"quantity,omitempty"`
	UnitPrice           *int64        `json:"unit_price,omitempty"`
	QuantityInDecimal   string        `json:"quantity_in_decimal,omitempty"`
	UnitPriceInDecimal  string        `json:"unit_price_in_decimal,omitempty"`
	ServicePeriodInDays *int32        `json:"service_period_in_days,omitempty"`
	OnEvent             enum.OnEvent  `json:"on_event,omitempty"`
	ChargeOnce          *bool         `json:"charge_once,omitempty"`
	ChargeOn            enum.ChargeOn `json:"charge_on,omitempty"`
}

type CreateForCustomerPaymentIntentParams

type CreateForCustomerPaymentIntentParams struct {
	Id                    string                              `json:"id,omitempty"`
	GatewayAccountId      string                              `json:"gateway_account_id,omitempty"`
	GwToken               string                              `json:"gw_token,omitempty"`
	PaymentMethodType     paymentIntentEnum.PaymentMethodType `json:"payment_method_type,omitempty"`
	ReferenceId           string                              `json:"reference_id,omitempty"`
	GwPaymentMethodId     string                              `json:"gw_payment_method_id,omitempty"`
	AdditionalInformation map[string]interface{}              `json:"additional_information,omitempty"`
}

type CreateForCustomerRequestParams

type CreateForCustomerRequestParams struct {
	Id                                string                                      `json:"id,omitempty"`
	PlanId                            string                                      `json:"plan_id"`
	PlanQuantity                      *int32                                      `json:"plan_quantity,omitempty"`
	PlanQuantityInDecimal             string                                      `json:"plan_quantity_in_decimal,omitempty"`
	PlanUnitPrice                     *int64                                      `json:"plan_unit_price,omitempty"`
	PlanUnitPriceInDecimal            string                                      `json:"plan_unit_price_in_decimal,omitempty"`
	SetupFee                          *int64                                      `json:"setup_fee,omitempty"`
	TrialEnd                          *int64                                      `json:"trial_end,omitempty"`
	BillingCycles                     *int32                                      `json:"billing_cycles,omitempty"`
	Addons                            []*CreateForCustomerAddonParams             `json:"addons,omitempty"`
	EventBasedAddons                  []*CreateForCustomerEventBasedAddonParams   `json:"event_based_addons,omitempty"`
	MandatoryAddonsToRemove           []string                                    `json:"mandatory_addons_to_remove,omitempty"`
	StartDate                         *int64                                      `json:"start_date,omitempty"`
	Coupon                            string                                      `json:"coupon,omitempty"`
	AutoCollection                    enum.AutoCollection                         `json:"auto_collection,omitempty"`
	TermsToCharge                     *int32                                      `json:"terms_to_charge,omitempty"`
	BillingAlignmentMode              enum.BillingAlignmentMode                   `json:"billing_alignment_mode,omitempty"`
	OfflinePaymentMethod              enum.OfflinePaymentMethod                   `json:"offline_payment_method,omitempty"`
	PoNumber                          string                                      `json:"po_number,omitempty"`
	CouponIds                         []string                                    `json:"coupon_ids,omitempty"`
	PaymentSourceId                   string                                      `json:"payment_source_id,omitempty"`
	OverrideRelationship              *bool                                       `json:"override_relationship,omitempty"`
	ShippingAddress                   *CreateForCustomerShippingAddressParams     `json:"shipping_address,omitempty"`
	StatementDescriptor               *CreateForCustomerStatementDescriptorParams `json:"statement_descriptor,omitempty"`
	InvoiceNotes                      string                                      `json:"invoice_notes,omitempty"`
	InvoiceDate                       *int64                                      `json:"invoice_date,omitempty"`
	MetaData                          map[string]interface{}                      `json:"meta_data,omitempty"`
	InvoiceImmediately                *bool                                       `json:"invoice_immediately,omitempty"`
	ReplacePrimaryPaymentSource       *bool                                       `json:"replace_primary_payment_source,omitempty"`
	PaymentIntent                     *CreateForCustomerPaymentIntentParams       `json:"payment_intent,omitempty"`
	FreePeriod                        *int32                                      `json:"free_period,omitempty"`
	FreePeriodUnit                    enum.FreePeriodUnit                         `json:"free_period_unit,omitempty"`
	ContractTerm                      *CreateForCustomerContractTermParams        `json:"contract_term,omitempty"`
	ContractTermBillingCycleOnRenewal *int32                                      `json:"contract_term_billing_cycle_on_renewal,omitempty"`
	TrialEndAction                    enum.TrialEndAction                         `json:"trial_end_action,omitempty"`
	PaymentInitiator                  enum.PaymentInitiator                       `json:"payment_initiator,omitempty"`
	Coupons                           []*CreateForCustomerCouponParams            `json:"coupons,omitempty"`
}

type CreateForCustomerShippingAddressParams

type CreateForCustomerShippingAddressParams struct {
	FirstName        string                `json:"first_name,omitempty"`
	LastName         string                `json:"last_name,omitempty"`
	Email            string                `json:"email,omitempty"`
	Company          string                `json:"company,omitempty"`
	Phone            string                `json:"phone,omitempty"`
	Line1            string                `json:"line1,omitempty"`
	Line2            string                `json:"line2,omitempty"`
	Line3            string                `json:"line3,omitempty"`
	City             string                `json:"city,omitempty"`
	StateCode        string                `json:"state_code,omitempty"`
	State            string                `json:"state,omitempty"`
	Zip              string                `json:"zip,omitempty"`
	Country          string                `json:"country,omitempty"`
	ValidationStatus enum.ValidationStatus `json:"validation_status,omitempty"`
}

type CreateForCustomerStatementDescriptorParams added in v3.11.0

type CreateForCustomerStatementDescriptorParams struct {
	Descriptor string `json:"descriptor,omitempty"`
}

type CreatePaymentIntentParams

type CreatePaymentIntentParams struct {
	Id                    string                              `json:"id,omitempty"`
	GatewayAccountId      string                              `json:"gateway_account_id,omitempty"`
	GwToken               string                              `json:"gw_token,omitempty"`
	PaymentMethodType     paymentIntentEnum.PaymentMethodType `json:"payment_method_type,omitempty"`
	ReferenceId           string                              `json:"reference_id,omitempty"`
	GwPaymentMethodId     string                              `json:"gw_payment_method_id,omitempty"`
	AdditionalInformation map[string]interface{}              `json:"additional_information,omitempty"`
}

type CreatePaymentMethodParams

type CreatePaymentMethodParams struct {
	Type                  enum.Type              `json:"type,omitempty"`
	Gateway               enum.Gateway           `json:"gateway,omitempty"`
	GatewayAccountId      string                 `json:"gateway_account_id,omitempty"`
	ReferenceId           string                 `json:"reference_id,omitempty"`
	TmpToken              string                 `json:"tmp_token,omitempty"`
	IssuingCountry        string                 `json:"issuing_country,omitempty"`
	AdditionalInformation map[string]interface{} `json:"additional_information,omitempty"`
}

type CreateRequestParams

type CreateRequestParams struct {
	Id                                string                           `json:"id,omitempty"`
	Customer                          *CreateCustomerParams            `json:"customer,omitempty"`
	EntityIdentifiers                 []*CreateEntityIdentifierParams  `json:"entity_identifiers,omitempty"`
	TaxProvidersFields                []*CreateTaxProvidersFieldParams `json:"tax_providers_fields,omitempty"`
	PlanId                            string                           `json:"plan_id"`
	PlanQuantity                      *int32                           `json:"plan_quantity,omitempty"`
	PlanQuantityInDecimal             string                           `json:"plan_quantity_in_decimal,omitempty"`
	PlanUnitPrice                     *int64                           `json:"plan_unit_price,omitempty"`
	PlanUnitPriceInDecimal            string                           `json:"plan_unit_price_in_decimal,omitempty"`
	SetupFee                          *int64                           `json:"setup_fee,omitempty"`
	TrialEnd                          *int64                           `json:"trial_end,omitempty"`
	BillingCycles                     *int32                           `json:"billing_cycles,omitempty"`
	Addons                            []*CreateAddonParams             `json:"addons,omitempty"`
	EventBasedAddons                  []*CreateEventBasedAddonParams   `json:"event_based_addons,omitempty"`
	MandatoryAddonsToRemove           []string                         `json:"mandatory_addons_to_remove,omitempty"`
	StartDate                         *int64                           `json:"start_date,omitempty"`
	Coupon                            string                           `json:"coupon,omitempty"`
	AutoCollection                    enum.AutoCollection              `json:"auto_collection,omitempty"`
	TermsToCharge                     *int32                           `json:"terms_to_charge,omitempty"`
	BillingAlignmentMode              enum.BillingAlignmentMode        `json:"billing_alignment_mode,omitempty"`
	OfflinePaymentMethod              enum.OfflinePaymentMethod        `json:"offline_payment_method,omitempty"`
	PoNumber                          string                           `json:"po_number,omitempty"`
	CouponIds                         []string                         `json:"coupon_ids,omitempty"`
	Card                              *CreateCardParams                `json:"card,omitempty"`
	BankAccount                       *CreateBankAccountParams         `json:"bank_account,omitempty"`
	TokenId                           string                           `json:"token_id,omitempty"`
	PaymentMethod                     *CreatePaymentMethodParams       `json:"payment_method,omitempty"`
	PaymentIntent                     *CreatePaymentIntentParams       `json:"payment_intent,omitempty"`
	BillingAddress                    *CreateBillingAddressParams      `json:"billing_address,omitempty"`
	ShippingAddress                   *CreateShippingAddressParams     `json:"shipping_address,omitempty"`
	StatementDescriptor               *CreateStatementDescriptorParams `json:"statement_descriptor,omitempty"`
	AffiliateToken                    string                           `json:"affiliate_token,omitempty"`
	CreatedFromIp                     string                           `json:"created_from_ip,omitempty"`
	InvoiceNotes                      string                           `json:"invoice_notes,omitempty"`
	InvoiceDate                       *int64                           `json:"invoice_date,omitempty"`
	MetaData                          map[string]interface{}           `json:"meta_data,omitempty"`
	InvoiceImmediately                *bool                            `json:"invoice_immediately,omitempty"`
	FreePeriod                        *int32                           `json:"free_period,omitempty"`
	FreePeriodUnit                    enum.FreePeriodUnit              `json:"free_period_unit,omitempty"`
	ContractTerm                      *CreateContractTermParams        `json:"contract_term,omitempty"`
	ContractTermBillingCycleOnRenewal *int32                           `json:"contract_term_billing_cycle_on_renewal,omitempty"`
	TrialEndAction                    enum.TrialEndAction              `json:"trial_end_action,omitempty"`
	ClientProfileId                   string                           `json:"client_profile_id,omitempty"`
	PaymentInitiator                  enum.PaymentInitiator            `json:"payment_initiator,omitempty"`
	Coupons                           []*CreateCouponParams            `json:"coupons,omitempty"`
}

type CreateShippingAddressParams

type CreateShippingAddressParams struct {
	FirstName        string                `json:"first_name,omitempty"`
	LastName         string                `json:"last_name,omitempty"`
	Email            string                `json:"email,omitempty"`
	Company          string                `json:"company,omitempty"`
	Phone            string                `json:"phone,omitempty"`
	Line1            string                `json:"line1,omitempty"`
	Line2            string                `json:"line2,omitempty"`
	Line3            string                `json:"line3,omitempty"`
	City             string                `json:"city,omitempty"`
	StateCode        string                `json:"state_code,omitempty"`
	State            string                `json:"state,omitempty"`
	Zip              string                `json:"zip,omitempty"`
	Country          string                `json:"country,omitempty"`
	ValidationStatus enum.ValidationStatus `json:"validation_status,omitempty"`
}

type CreateStatementDescriptorParams added in v3.11.0

type CreateStatementDescriptorParams struct {
	Descriptor string `json:"descriptor,omitempty"`
}

type CreateTaxProvidersFieldParams added in v3.18.0

type CreateTaxProvidersFieldParams struct {
	ProviderName string `json:"provider_name,omitempty"`
	FieldId      string `json:"field_id,omitempty"`
	FieldValue   string `json:"field_value,omitempty"`
}

type CreateWithItemsBillingOverrideParams added in v3.28.0

type CreateWithItemsBillingOverrideParams struct {
	MaxExcessPaymentUsage     *int64 `json:"max_excess_payment_usage,omitempty"`
	MaxRefundableCreditsUsage *int64 `json:"max_refundable_credits_usage,omitempty"`
}

type CreateWithItemsContractTermParams

type CreateWithItemsContractTermParams struct {
	ActionAtTermEnd          subscriptionEnum.ContractTermActionAtTermEnd `json:"action_at_term_end,omitempty"`
	ContractStart            *int64                                       `json:"contract_start,omitempty"`
	CancellationCutoffPeriod *int32                                       `json:"cancellation_cutoff_period,omitempty"`
}

type CreateWithItemsCouponParams added in v3.8.0

type CreateWithItemsCouponParams struct {
	CouponId  string `json:"coupon_id,omitempty"`
	ApplyTill *int64 `json:"apply_till,omitempty"`
}

type CreateWithItemsDiscountParams

type CreateWithItemsDiscountParams struct {
	ApplyOn       enum.ApplyOn      `json:"apply_on,omitempty"`
	DurationType  enum.DurationType `json:"duration_type"`
	Percentage    *float64          `json:"percentage,omitempty"`
	Amount        *int64            `json:"amount,omitempty"`
	Period        *int32            `json:"period,omitempty"`
	PeriodUnit    enum.PeriodUnit   `json:"period_unit,omitempty"`
	IncludedInMrr *bool             `json:"included_in_mrr,omitempty"`
	ItemPriceId   string            `json:"item_price_id,omitempty"`
	Quantity      *int32            `json:"quantity,omitempty"`
}

type CreateWithItemsItemTierParams

type CreateWithItemsItemTierParams struct {
	ItemPriceId           string           `json:"item_price_id,omitempty"`
	StartingUnit          *int32           `json:"starting_unit,omitempty"`
	EndingUnit            *int32           `json:"ending_unit,omitempty"`
	Price                 *int64           `json:"price,omitempty"`
	StartingUnitInDecimal string           `json:"starting_unit_in_decimal,omitempty"`
	EndingUnitInDecimal   string           `json:"ending_unit_in_decimal,omitempty"`
	PriceInDecimal        string           `json:"price_in_decimal,omitempty"`
	PricingType           enum.PricingType `json:"pricing_type,omitempty"`
	PackageSize           *int32           `json:"package_size,omitempty"`
}

type CreateWithItemsPaymentIntentParams

type CreateWithItemsPaymentIntentParams struct {
	Id                    string                              `json:"id,omitempty"`
	GatewayAccountId      string                              `json:"gateway_account_id,omitempty"`
	GwToken               string                              `json:"gw_token,omitempty"`
	PaymentMethodType     paymentIntentEnum.PaymentMethodType `json:"payment_method_type,omitempty"`
	ReferenceId           string                              `json:"reference_id,omitempty"`
	GwPaymentMethodId     string                              `json:"gw_payment_method_id,omitempty"`
	AdditionalInformation map[string]interface{}              `json:"additional_information,omitempty"`
}

type CreateWithItemsRequestParams

type CreateWithItemsRequestParams struct {
	Id                                string                                    `json:"id,omitempty"`
	BusinessEntityId                  string                                    `json:"business_entity_id,omitempty"`
	TrialEnd                          *int64                                    `json:"trial_end,omitempty"`
	BillingCycles                     *int32                                    `json:"billing_cycles,omitempty"`
	SubscriptionItems                 []*CreateWithItemsSubscriptionItemParams  `json:"subscription_items,omitempty"`
	SetupFee                          *int64                                    `json:"setup_fee,omitempty"`
	Discounts                         []*CreateWithItemsDiscountParams          `json:"discounts,omitempty"`
	MandatoryItemsToRemove            []string                                  `json:"mandatory_items_to_remove,omitempty"`
	ItemTiers                         []*CreateWithItemsItemTierParams          `json:"item_tiers,omitempty"`
	NetTermDays                       *int32                                    `json:"net_term_days,omitempty"`
	StartDate                         *int64                                    `json:"start_date,omitempty"`
	Coupon                            string                                    `json:"coupon,omitempty"`
	AutoCollection                    enum.AutoCollection                       `json:"auto_collection,omitempty"`
	TermsToCharge                     *int32                                    `json:"terms_to_charge,omitempty"`
	BillingAlignmentMode              enum.BillingAlignmentMode                 `json:"billing_alignment_mode,omitempty"`
	OfflinePaymentMethod              enum.OfflinePaymentMethod                 `json:"offline_payment_method,omitempty"`
	PoNumber                          string                                    `json:"po_number,omitempty"`
	CouponIds                         []string                                  `json:"coupon_ids,omitempty"`
	PaymentSourceId                   string                                    `json:"payment_source_id,omitempty"`
	OverrideRelationship              *bool                                     `json:"override_relationship,omitempty"`
	ShippingAddress                   *CreateWithItemsShippingAddressParams     `json:"shipping_address,omitempty"`
	StatementDescriptor               *CreateWithItemsStatementDescriptorParams `json:"statement_descriptor,omitempty"`
	InvoiceNotes                      string                                    `json:"invoice_notes,omitempty"`
	InvoiceDate                       *int64                                    `json:"invoice_date,omitempty"`
	MetaData                          map[string]interface{}                    `json:"meta_data,omitempty"`
	InvoiceImmediately                *bool                                     `json:"invoice_immediately,omitempty"`
	ReplacePrimaryPaymentSource       *bool                                     `json:"replace_primary_payment_source,omitempty"`
	PaymentIntent                     *CreateWithItemsPaymentIntentParams       `json:"payment_intent,omitempty"`
	FreePeriod                        *int32                                    `json:"free_period,omitempty"`
	FreePeriodUnit                    enum.FreePeriodUnit                       `json:"free_period_unit,omitempty"`
	ContractTerm                      *CreateWithItemsContractTermParams        `json:"contract_term,omitempty"`
	ContractTermBillingCycleOnRenewal *int32                                    `json:"contract_term_billing_cycle_on_renewal,omitempty"`
	CreatePendingInvoices             *bool                                     `json:"create_pending_invoices,omitempty"`
	AutoCloseInvoices                 *bool                                     `json:"auto_close_invoices,omitempty"`
	FirstInvoicePending               *bool                                     `json:"first_invoice_pending,omitempty"`
	TrialEndAction                    enum.TrialEndAction                       `json:"trial_end_action,omitempty"`
	PaymentInitiator                  enum.PaymentInitiator                     `json:"payment_initiator,omitempty"`
	Coupons                           []*CreateWithItemsCouponParams            `json:"coupons,omitempty"`
	BillingOverride                   *CreateWithItemsBillingOverrideParams     `json:"billing_override,omitempty"`
}

type CreateWithItemsShippingAddressParams

type CreateWithItemsShippingAddressParams struct {
	FirstName        string                `json:"first_name,omitempty"`
	LastName         string                `json:"last_name,omitempty"`
	Email            string                `json:"email,omitempty"`
	Company          string                `json:"company,omitempty"`
	Phone            string                `json:"phone,omitempty"`
	Line1            string                `json:"line1,omitempty"`
	Line2            string                `json:"line2,omitempty"`
	Line3            string                `json:"line3,omitempty"`
	City             string                `json:"city,omitempty"`
	StateCode        string                `json:"state_code,omitempty"`
	State            string                `json:"state,omitempty"`
	Zip              string                `json:"zip,omitempty"`
	Country          string                `json:"country,omitempty"`
	ValidationStatus enum.ValidationStatus `json:"validation_status,omitempty"`
}

type CreateWithItemsStatementDescriptorParams added in v3.11.0

type CreateWithItemsStatementDescriptorParams struct {
	Descriptor string `json:"descriptor,omitempty"`
}

type CreateWithItemsSubscriptionItemParams

type CreateWithItemsSubscriptionItemParams struct {
	ItemPriceId                     string                               `json:"item_price_id"`
	Quantity                        *int32                               `json:"quantity,omitempty"`
	QuantityInDecimal               string                               `json:"quantity_in_decimal,omitempty"`
	UnitPrice                       *int64                               `json:"unit_price,omitempty"`
	UnitPriceInDecimal              string                               `json:"unit_price_in_decimal,omitempty"`
	BillingCycles                   *int32                               `json:"billing_cycles,omitempty"`
	TrialEnd                        *int64                               `json:"trial_end,omitempty"`
	ServicePeriodDays               *int32                               `json:"service_period_days,omitempty"`
	ChargeOnEvent                   enum.ChargeOnEvent                   `json:"charge_on_event,omitempty"`
	ChargeOnce                      *bool                                `json:"charge_once,omitempty"`
	ItemType                        enum.ItemType                        `json:"item_type,omitempty"`
	ChargeOnOption                  enum.ChargeOnOption                  `json:"charge_on_option,omitempty"`
	UsageAccumulationResetFrequency enum.UsageAccumulationResetFrequency `json:"usage_accumulation_reset_frequency,omitempty"`
}

type Discount

type Discount struct {
	Id            string                        `json:"id"`
	InvoiceName   string                        `json:"invoice_name"`
	Type          subscriptionEnum.DiscountType `json:"type"`
	Percentage    float64                       `json:"percentage"`
	Amount        int64                         `json:"amount"`
	Quantity      int32                         `json:"quantity"`
	CurrencyCode  string                        `json:"currency_code"`
	DurationType  enum.DurationType             `json:"duration_type"`
	Period        int32                         `json:"period"`
	PeriodUnit    enum.PeriodUnit               `json:"period_unit"`
	IncludedInMrr bool                          `json:"included_in_mrr"`
	ApplyOn       enum.ApplyOn                  `json:"apply_on"`
	ItemPriceId   string                        `json:"item_price_id"`
	CreatedAt     int64                         `json:"created_at"`
	ApplyTill     int64                         `json:"apply_till"`
	AppliedCount  int32                         `json:"applied_count"`
	CouponId      string                        `json:"coupon_id"`
	Index         int32                         `json:"index"`
	Object        string                        `json:"object"`
}

type EditAdvanceInvoiceScheduleFixedIntervalScheduleParams

type EditAdvanceInvoiceScheduleFixedIntervalScheduleParams struct {
	NumberOfOccurrences *int32             `json:"number_of_occurrences,omitempty"`
	DaysBeforeRenewal   *int32             `json:"days_before_renewal,omitempty"`
	EndScheduleOn       enum.EndScheduleOn `json:"end_schedule_on,omitempty"`
	EndDate             *int64             `json:"end_date,omitempty"`
}

type EditAdvanceInvoiceScheduleRequestParams

type EditAdvanceInvoiceScheduleRequestParams struct {
	TermsToCharge         *int32                                                   `json:"terms_to_charge,omitempty"`
	ScheduleType          enum.ScheduleType                                        `json:"schedule_type,omitempty"`
	SpecificDatesSchedule []*EditAdvanceInvoiceScheduleSpecificDatesScheduleParams `json:"specific_dates_schedule,omitempty"`
	FixedIntervalSchedule *EditAdvanceInvoiceScheduleFixedIntervalScheduleParams   `json:"fixed_interval_schedule,omitempty"`
}

type EditAdvanceInvoiceScheduleSpecificDatesScheduleParams

type EditAdvanceInvoiceScheduleSpecificDatesScheduleParams struct {
	Id            string `json:"id,omitempty"`
	TermsToCharge *int32 `json:"terms_to_charge,omitempty"`
	Date          *int64 `json:"date,omitempty"`
}

type EventBasedAddon

type EventBasedAddon struct {
	Id        string `json:"id"`
	Quantity  int32  `json:"quantity"`
	UnitPrice int64  `json:"unit_price"`
	//Deprecated: this field is deprecated
	ServicePeriodInDays int32        `json:"service_period_in_days"`
	OnEvent             enum.OnEvent `json:"on_event"`
	ChargeOnce          bool         `json:"charge_once"`
	QuantityInDecimal   string       `json:"quantity_in_decimal"`
	UnitPriceInDecimal  string       `json:"unit_price_in_decimal"`
	Object              string       `json:"object"`
}

type ImportContractTermContractTermParams

type ImportContractTermContractTermParams struct {
	Id                          string                                       `json:"id,omitempty"`
	CreatedAt                   *int64                                       `json:"created_at,omitempty"`
	ContractStart               *int64                                       `json:"contract_start,omitempty"`
	ContractEnd                 *int64                                       `json:"contract_end,omitempty"`
	Status                      subscriptionEnum.ContractTermStatus          `json:"status,omitempty"`
	TotalAmountRaised           *int64                                       `json:"total_amount_raised,omitempty"`
	TotalAmountRaisedBeforeTax  *int64                                       `json:"total_amount_raised_before_tax,omitempty"`
	TotalContractValue          *int64                                       `json:"total_contract_value,omitempty"`
	TotalContractValueBeforeTax *int64                                       `json:"total_contract_value_before_tax,omitempty"`
	BillingCycle                *int32                                       `json:"billing_cycle,omitempty"`
	ActionAtTermEnd             subscriptionEnum.ContractTermActionAtTermEnd `json:"action_at_term_end,omitempty"`
	CancellationCutoffPeriod    *int32                                       `json:"cancellation_cutoff_period,omitempty"`
}

type ImportContractTermRequestParams

type ImportContractTermRequestParams struct {
	ContractTerm                      *ImportContractTermContractTermParams `json:"contract_term,omitempty"`
	ContractTermBillingCycleOnRenewal *int32                                `json:"contract_term_billing_cycle_on_renewal,omitempty"`
}

type ImportForCustomerAddonParams

type ImportForCustomerAddonParams struct {
	Id                 string `json:"id,omitempty"`
	Quantity           *int32 `json:"quantity,omitempty"`
	QuantityInDecimal  string `json:"quantity_in_decimal,omitempty"`
	UnitPrice          *int64 `json:"unit_price,omitempty"`
	UnitPriceInDecimal string `json:"unit_price_in_decimal,omitempty"`
	BillingCycles      *int32 `json:"billing_cycles,omitempty"`
}

type ImportForCustomerChargedEventBasedAddonParams

type ImportForCustomerChargedEventBasedAddonParams struct {
	Id            string `json:"id,omitempty"`
	LastChargedAt *int64 `json:"last_charged_at,omitempty"`
}

type ImportForCustomerContractTermParams

type ImportForCustomerContractTermParams struct {
	Id                         string                                       `json:"id,omitempty"`
	CreatedAt                  *int64                                       `json:"created_at,omitempty"`
	ContractStart              *int64                                       `json:"contract_start,omitempty"`
	BillingCycle               *int32                                       `json:"billing_cycle,omitempty"`
	TotalAmountRaised          *int64                                       `json:"total_amount_raised,omitempty"`
	TotalAmountRaisedBeforeTax *int64                                       `json:"total_amount_raised_before_tax,omitempty"`
	ActionAtTermEnd            subscriptionEnum.ContractTermActionAtTermEnd `json:"action_at_term_end,omitempty"`
	CancellationCutoffPeriod   *int32                                       `json:"cancellation_cutoff_period,omitempty"`
}

type ImportForCustomerCouponParams added in v3.8.0

type ImportForCustomerCouponParams struct {
	CouponId  string `json:"coupon_id,omitempty"`
	ApplyTill *int64 `json:"apply_till,omitempty"`
}

type ImportForCustomerEventBasedAddonParams

type ImportForCustomerEventBasedAddonParams struct {
	Id                  string       `json:"id,omitempty"`
	Quantity            *int32       `json:"quantity,omitempty"`
	UnitPrice           *int64       `json:"unit_price,omitempty"`
	QuantityInDecimal   string       `json:"quantity_in_decimal,omitempty"`
	UnitPriceInDecimal  string       `json:"unit_price_in_decimal,omitempty"`
	ServicePeriodInDays *int32       `json:"service_period_in_days,omitempty"`
	OnEvent             enum.OnEvent `json:"on_event,omitempty"`
	ChargeOnce          *bool        `json:"charge_once,omitempty"`
}

type ImportForCustomerRequestParams

type ImportForCustomerRequestParams struct {
	Id                                string                                           `json:"id,omitempty"`
	PlanId                            string                                           `json:"plan_id"`
	PlanQuantity                      *int32                                           `json:"plan_quantity,omitempty"`
	PlanQuantityInDecimal             string                                           `json:"plan_quantity_in_decimal,omitempty"`
	PlanUnitPrice                     *int64                                           `json:"plan_unit_price,omitempty"`
	PlanUnitPriceInDecimal            string                                           `json:"plan_unit_price_in_decimal,omitempty"`
	SetupFee                          *int64                                           `json:"setup_fee,omitempty"`
	TrialEnd                          *int64                                           `json:"trial_end,omitempty"`
	BillingCycles                     *int32                                           `json:"billing_cycles,omitempty"`
	Addons                            []*ImportForCustomerAddonParams                  `json:"addons,omitempty"`
	EventBasedAddons                  []*ImportForCustomerEventBasedAddonParams        `json:"event_based_addons,omitempty"`
	ChargedEventBasedAddons           []*ImportForCustomerChargedEventBasedAddonParams `json:"charged_event_based_addons,omitempty"`
	StartDate                         *int64                                           `json:"start_date,omitempty"`
	AutoCollection                    enum.AutoCollection                              `json:"auto_collection,omitempty"`
	PoNumber                          string                                           `json:"po_number,omitempty"`
	CouponIds                         []string                                         `json:"coupon_ids,omitempty"`
	PaymentSourceId                   string                                           `json:"payment_source_id,omitempty"`
	Status                            subscriptionEnum.Status                          `json:"status"`
	CurrentTermEnd                    *int64                                           `json:"current_term_end,omitempty"`
	CurrentTermStart                  *int64                                           `json:"current_term_start,omitempty"`
	TrialStart                        *int64                                           `json:"trial_start,omitempty"`
	CancelledAt                       *int64                                           `json:"cancelled_at,omitempty"`
	StartedAt                         *int64                                           `json:"started_at,omitempty"`
	ActivatedAt                       *int64                                           `json:"activated_at,omitempty"`
	PauseDate                         *int64                                           `json:"pause_date,omitempty"`
	ResumeDate                        *int64                                           `json:"resume_date,omitempty"`
	ContractTerm                      *ImportForCustomerContractTermParams             `json:"contract_term,omitempty"`
	ContractTermBillingCycleOnRenewal *int32                                           `json:"contract_term_billing_cycle_on_renewal,omitempty"`
	CreateCurrentTermInvoice          *bool                                            `json:"create_current_term_invoice,omitempty"`
	Transaction                       *ImportForCustomerTransactionParams              `json:"transaction,omitempty"`
	ShippingAddress                   *ImportForCustomerShippingAddressParams          `json:"shipping_address,omitempty"`
	InvoiceNotes                      string                                           `json:"invoice_notes,omitempty"`
	MetaData                          map[string]interface{}                           `json:"meta_data,omitempty"`
	Coupons                           []*ImportForCustomerCouponParams                 `json:"coupons,omitempty"`
}

type ImportForCustomerShippingAddressParams

type ImportForCustomerShippingAddressParams struct {
	FirstName        string                `json:"first_name,omitempty"`
	LastName         string                `json:"last_name,omitempty"`
	Email            string                `json:"email,omitempty"`
	Company          string                `json:"company,omitempty"`
	Phone            string                `json:"phone,omitempty"`
	Line1            string                `json:"line1,omitempty"`
	Line2            string                `json:"line2,omitempty"`
	Line3            string                `json:"line3,omitempty"`
	City             string                `json:"city,omitempty"`
	StateCode        string                `json:"state_code,omitempty"`
	State            string                `json:"state,omitempty"`
	Zip              string                `json:"zip,omitempty"`
	Country          string                `json:"country,omitempty"`
	ValidationStatus enum.ValidationStatus `json:"validation_status,omitempty"`
}

type ImportForCustomerTransactionParams

type ImportForCustomerTransactionParams struct {
	Amount          *int64             `json:"amount,omitempty"`
	PaymentMethod   enum.PaymentMethod `json:"payment_method,omitempty"`
	ReferenceNumber string             `json:"reference_number,omitempty"`
	Date            *int64             `json:"date,omitempty"`
}

type ImportForItemsChargedItemParams

type ImportForItemsChargedItemParams struct {
	ItemPriceId   string `json:"item_price_id,omitempty"`
	LastChargedAt *int64 `json:"last_charged_at,omitempty"`
}

type ImportForItemsContractTermParams

type ImportForItemsContractTermParams struct {
	Id                         string                                       `json:"id,omitempty"`
	CreatedAt                  *int64                                       `json:"created_at,omitempty"`
	ContractStart              *int64                                       `json:"contract_start,omitempty"`
	BillingCycle               *int32                                       `json:"billing_cycle,omitempty"`
	TotalAmountRaised          *int64                                       `json:"total_amount_raised,omitempty"`
	TotalAmountRaisedBeforeTax *int64                                       `json:"total_amount_raised_before_tax,omitempty"`
	ActionAtTermEnd            subscriptionEnum.ContractTermActionAtTermEnd `json:"action_at_term_end,omitempty"`
	CancellationCutoffPeriod   *int32                                       `json:"cancellation_cutoff_period,omitempty"`
}

type ImportForItemsCouponParams added in v3.8.0

type ImportForItemsCouponParams struct {
	CouponId  string `json:"coupon_id,omitempty"`
	ApplyTill *int64 `json:"apply_till,omitempty"`
}

type ImportForItemsDiscountParams

type ImportForItemsDiscountParams struct {
	ApplyOn       enum.ApplyOn      `json:"apply_on,omitempty"`
	DurationType  enum.DurationType `json:"duration_type"`
	Percentage    *float64          `json:"percentage,omitempty"`
	Amount        *int64            `json:"amount,omitempty"`
	Period        *int32            `json:"period,omitempty"`
	PeriodUnit    enum.PeriodUnit   `json:"period_unit,omitempty"`
	IncludedInMrr *bool             `json:"included_in_mrr,omitempty"`
	ItemPriceId   string            `json:"item_price_id,omitempty"`
	Quantity      *int32            `json:"quantity,omitempty"`
}

type ImportForItemsItemTierParams

type ImportForItemsItemTierParams struct {
	ItemPriceId           string           `json:"item_price_id,omitempty"`
	StartingUnit          *int32           `json:"starting_unit,omitempty"`
	EndingUnit            *int32           `json:"ending_unit,omitempty"`
	Price                 *int64           `json:"price,omitempty"`
	StartingUnitInDecimal string           `json:"starting_unit_in_decimal,omitempty"`
	EndingUnitInDecimal   string           `json:"ending_unit_in_decimal,omitempty"`
	PriceInDecimal        string           `json:"price_in_decimal,omitempty"`
	PricingType           enum.PricingType `json:"pricing_type,omitempty"`
	PackageSize           *int32           `json:"package_size,omitempty"`
}

type ImportForItemsRequestParams

type ImportForItemsRequestParams struct {
	ExhaustedCouponIds                []string                                `json:"exhausted_coupon_ids,omitempty"`
	Id                                string                                  `json:"id,omitempty"`
	TrialEnd                          *int64                                  `json:"trial_end,omitempty"`
	BillingCycles                     *int32                                  `json:"billing_cycles,omitempty"`
	SubscriptionItems                 []*ImportForItemsSubscriptionItemParams `json:"subscription_items,omitempty"`
	SetupFee                          *int64                                  `json:"setup_fee,omitempty"`
	Discounts                         []*ImportForItemsDiscountParams         `json:"discounts,omitempty"`
	ChargedItems                      []*ImportForItemsChargedItemParams      `json:"charged_items,omitempty"`
	ItemTiers                         []*ImportForItemsItemTierParams         `json:"item_tiers,omitempty"`
	NetTermDays                       *int32                                  `json:"net_term_days,omitempty"`
	StartDate                         *int64                                  `json:"start_date,omitempty"`
	AutoCollection                    enum.AutoCollection                     `json:"auto_collection,omitempty"`
	PoNumber                          string                                  `json:"po_number,omitempty"`
	CouponIds                         []string                                `json:"coupon_ids,omitempty"`
	PaymentSourceId                   string                                  `json:"payment_source_id,omitempty"`
	Status                            subscriptionEnum.Status                 `json:"status"`
	CurrentTermEnd                    *int64                                  `json:"current_term_end,omitempty"`
	CurrentTermStart                  *int64                                  `json:"current_term_start,omitempty"`
	TrialStart                        *int64                                  `json:"trial_start,omitempty"`
	CancelledAt                       *int64                                  `json:"cancelled_at,omitempty"`
	StartedAt                         *int64                                  `json:"started_at,omitempty"`
	ActivatedAt                       *int64                                  `json:"activated_at,omitempty"`
	PauseDate                         *int64                                  `json:"pause_date,omitempty"`
	ResumeDate                        *int64                                  `json:"resume_date,omitempty"`
	ContractTerm                      *ImportForItemsContractTermParams       `json:"contract_term,omitempty"`
	ContractTermBillingCycleOnRenewal *int32                                  `json:"contract_term_billing_cycle_on_renewal,omitempty"`
	CreateCurrentTermInvoice          *bool                                   `json:"create_current_term_invoice,omitempty"`
	Transaction                       *ImportForItemsTransactionParams        `json:"transaction,omitempty"`
	ShippingAddress                   *ImportForItemsShippingAddressParams    `json:"shipping_address,omitempty"`
	InvoiceNotes                      string                                  `json:"invoice_notes,omitempty"`
	MetaData                          map[string]interface{}                  `json:"meta_data,omitempty"`
	CancelReasonCode                  string                                  `json:"cancel_reason_code,omitempty"`
	CreatePendingInvoices             *bool                                   `json:"create_pending_invoices,omitempty"`
	AutoCloseInvoices                 *bool                                   `json:"auto_close_invoices,omitempty"`
	Coupons                           []*ImportForItemsCouponParams           `json:"coupons,omitempty"`
}

type ImportForItemsShippingAddressParams

type ImportForItemsShippingAddressParams struct {
	FirstName        string                `json:"first_name,omitempty"`
	LastName         string                `json:"last_name,omitempty"`
	Email            string                `json:"email,omitempty"`
	Company          string                `json:"company,omitempty"`
	Phone            string                `json:"phone,omitempty"`
	Line1            string                `json:"line1,omitempty"`
	Line2            string                `json:"line2,omitempty"`
	Line3            string                `json:"line3,omitempty"`
	City             string                `json:"city,omitempty"`
	StateCode        string                `json:"state_code,omitempty"`
	State            string                `json:"state,omitempty"`
	Zip              string                `json:"zip,omitempty"`
	Country          string                `json:"country,omitempty"`
	ValidationStatus enum.ValidationStatus `json:"validation_status,omitempty"`
}

type ImportForItemsSubscriptionItemParams

type ImportForItemsSubscriptionItemParams struct {
	ItemPriceId        string             `json:"item_price_id"`
	Quantity           *int32             `json:"quantity,omitempty"`
	QuantityInDecimal  string             `json:"quantity_in_decimal,omitempty"`
	UnitPrice          *int64             `json:"unit_price,omitempty"`
	UnitPriceInDecimal string             `json:"unit_price_in_decimal,omitempty"`
	BillingCycles      *int32             `json:"billing_cycles,omitempty"`
	TrialEnd           *int64             `json:"trial_end,omitempty"`
	ServicePeriodDays  *int32             `json:"service_period_days,omitempty"`
	ChargeOnEvent      enum.ChargeOnEvent `json:"charge_on_event,omitempty"`
	ChargeOnce         *bool              `json:"charge_once,omitempty"`
	ItemType           enum.ItemType      `json:"item_type,omitempty"`
}

type ImportForItemsTransactionParams

type ImportForItemsTransactionParams struct {
	Amount          *int64             `json:"amount,omitempty"`
	PaymentMethod   enum.PaymentMethod `json:"payment_method,omitempty"`
	ReferenceNumber string             `json:"reference_number,omitempty"`
	Date            *int64             `json:"date,omitempty"`
}

type ImportSubscriptionAddonParams

type ImportSubscriptionAddonParams struct {
	Id                 string `json:"id,omitempty"`
	Quantity           *int32 `json:"quantity,omitempty"`
	QuantityInDecimal  string `json:"quantity_in_decimal,omitempty"`
	UnitPrice          *int64 `json:"unit_price,omitempty"`
	UnitPriceInDecimal string `json:"unit_price_in_decimal,omitempty"`
	BillingCycles      *int32 `json:"billing_cycles,omitempty"`
}

type ImportSubscriptionBillingAddressParams

type ImportSubscriptionBillingAddressParams struct {
	FirstName        string                `json:"first_name,omitempty"`
	LastName         string                `json:"last_name,omitempty"`
	Email            string                `json:"email,omitempty"`
	Company          string                `json:"company,omitempty"`
	Phone            string                `json:"phone,omitempty"`
	Line1            string                `json:"line1,omitempty"`
	Line2            string                `json:"line2,omitempty"`
	Line3            string                `json:"line3,omitempty"`
	City             string                `json:"city,omitempty"`
	StateCode        string                `json:"state_code,omitempty"`
	State            string                `json:"state,omitempty"`
	Zip              string                `json:"zip,omitempty"`
	Country          string                `json:"country,omitempty"`
	ValidationStatus enum.ValidationStatus `json:"validation_status,omitempty"`
}

type ImportSubscriptionCardParams

type ImportSubscriptionCardParams struct {
	Gateway               enum.Gateway             `json:"gateway,omitempty"`
	GatewayAccountId      string                   `json:"gateway_account_id,omitempty"`
	TmpToken              string                   `json:"tmp_token,omitempty"`
	FirstName             string                   `json:"first_name,omitempty"`
	LastName              string                   `json:"last_name,omitempty"`
	Number                string                   `json:"number,omitempty"`
	ExpiryMonth           *int32                   `json:"expiry_month,omitempty"`
	ExpiryYear            *int32                   `json:"expiry_year,omitempty"`
	Cvv                   string                   `json:"cvv,omitempty"`
	PreferredScheme       cardEnum.PreferredScheme `json:"preferred_scheme,omitempty"`
	BillingAddr1          string                   `json:"billing_addr1,omitempty"`
	BillingAddr2          string                   `json:"billing_addr2,omitempty"`
	BillingCity           string                   `json:"billing_city,omitempty"`
	BillingStateCode      string                   `json:"billing_state_code,omitempty"`
	BillingState          string                   `json:"billing_state,omitempty"`
	BillingZip            string                   `json:"billing_zip,omitempty"`
	BillingCountry        string                   `json:"billing_country,omitempty"`
	AdditionalInformation map[string]interface{}   `json:"additional_information,omitempty"`
}

type ImportSubscriptionChargedEventBasedAddonParams

type ImportSubscriptionChargedEventBasedAddonParams struct {
	Id            string `json:"id,omitempty"`
	LastChargedAt *int64 `json:"last_charged_at,omitempty"`
}

type ImportSubscriptionContractTermParams

type ImportSubscriptionContractTermParams struct {
	Id                         string                                       `json:"id,omitempty"`
	CreatedAt                  *int64                                       `json:"created_at,omitempty"`
	ContractStart              *int64                                       `json:"contract_start,omitempty"`
	BillingCycle               *int32                                       `json:"billing_cycle,omitempty"`
	TotalAmountRaised          *int64                                       `json:"total_amount_raised,omitempty"`
	TotalAmountRaisedBeforeTax *int64                                       `json:"total_amount_raised_before_tax,omitempty"`
	ActionAtTermEnd            subscriptionEnum.ContractTermActionAtTermEnd `json:"action_at_term_end,omitempty"`
	CancellationCutoffPeriod   *int32                                       `json:"cancellation_cutoff_period,omitempty"`
}

type ImportSubscriptionCouponParams added in v3.8.0

type ImportSubscriptionCouponParams struct {
	CouponId  string `json:"coupon_id,omitempty"`
	ApplyTill *int64 `json:"apply_till,omitempty"`
}

type ImportSubscriptionCustomerParams

type ImportSubscriptionCustomerParams struct {
	Id                      string                       `json:"id,omitempty"`
	Email                   string                       `json:"email,omitempty"`
	FirstName               string                       `json:"first_name,omitempty"`
	LastName                string                       `json:"last_name,omitempty"`
	Company                 string                       `json:"company,omitempty"`
	Phone                   string                       `json:"phone,omitempty"`
	Locale                  string                       `json:"locale,omitempty"`
	Taxability              enum.Taxability              `json:"taxability,omitempty"`
	EntityCode              enum.EntityCode              `json:"entity_code,omitempty"`
	ExemptNumber            string                       `json:"exempt_number,omitempty"`
	NetTermDays             *int32                       `json:"net_term_days,omitempty"`
	TaxjarExemptionCategory enum.TaxjarExemptionCategory `json:"taxjar_exemption_category,omitempty"`
	CustomerType            enum.CustomerType            `json:"customer_type,omitempty"`
	AutoCollection          enum.AutoCollection          `json:"auto_collection,omitempty"`
	AllowDirectDebit        *bool                        `json:"allow_direct_debit,omitempty"`
	VatNumber               string                       `json:"vat_number,omitempty"`
	VatNumberPrefix         string                       `json:"vat_number_prefix,omitempty"`
}

type ImportSubscriptionEventBasedAddonParams

type ImportSubscriptionEventBasedAddonParams struct {
	Id                  string       `json:"id,omitempty"`
	Quantity            *int32       `json:"quantity,omitempty"`
	UnitPrice           *int64       `json:"unit_price,omitempty"`
	QuantityInDecimal   string       `json:"quantity_in_decimal,omitempty"`
	UnitPriceInDecimal  string       `json:"unit_price_in_decimal,omitempty"`
	ServicePeriodInDays *int32       `json:"service_period_in_days,omitempty"`
	OnEvent             enum.OnEvent `json:"on_event,omitempty"`
	ChargeOnce          *bool        `json:"charge_once,omitempty"`
}

type ImportSubscriptionPaymentMethodParams

type ImportSubscriptionPaymentMethodParams struct {
	Type                  enum.Type              `json:"type,omitempty"`
	Gateway               enum.Gateway           `json:"gateway,omitempty"`
	GatewayAccountId      string                 `json:"gateway_account_id,omitempty"`
	ReferenceId           string                 `json:"reference_id,omitempty"`
	IssuingCountry        string                 `json:"issuing_country,omitempty"`
	AdditionalInformation map[string]interface{} `json:"additional_information,omitempty"`
}

type ImportSubscriptionRequestParams

type ImportSubscriptionRequestParams struct {
	Id                                string                                            `json:"id,omitempty"`
	Customer                          *ImportSubscriptionCustomerParams                 `json:"customer,omitempty"`
	ClientProfileId                   string                                            `json:"client_profile_id,omitempty"`
	PlanId                            string                                            `json:"plan_id"`
	PlanQuantity                      *int32                                            `json:"plan_quantity,omitempty"`
	PlanQuantityInDecimal             string                                            `json:"plan_quantity_in_decimal,omitempty"`
	PlanUnitPrice                     *int64                                            `json:"plan_unit_price,omitempty"`
	PlanUnitPriceInDecimal            string                                            `json:"plan_unit_price_in_decimal,omitempty"`
	SetupFee                          *int64                                            `json:"setup_fee,omitempty"`
	TrialEnd                          *int64                                            `json:"trial_end,omitempty"`
	BillingCycles                     *int32                                            `json:"billing_cycles,omitempty"`
	Addons                            []*ImportSubscriptionAddonParams                  `json:"addons,omitempty"`
	EventBasedAddons                  []*ImportSubscriptionEventBasedAddonParams        `json:"event_based_addons,omitempty"`
	ChargedEventBasedAddons           []*ImportSubscriptionChargedEventBasedAddonParams `json:"charged_event_based_addons,omitempty"`
	StartDate                         *int64                                            `json:"start_date,omitempty"`
	AutoCollection                    enum.AutoCollection                               `json:"auto_collection,omitempty"`
	PoNumber                          string                                            `json:"po_number,omitempty"`
	CouponIds                         []string                                          `json:"coupon_ids,omitempty"`
	ContractTerm                      *ImportSubscriptionContractTermParams             `json:"contract_term,omitempty"`
	ContractTermBillingCycleOnRenewal *int32                                            `json:"contract_term_billing_cycle_on_renewal,omitempty"`
	Status                            subscriptionEnum.Status                           `json:"status"`
	CurrentTermEnd                    *int64                                            `json:"current_term_end,omitempty"`
	CurrentTermStart                  *int64                                            `json:"current_term_start,omitempty"`
	TrialStart                        *int64                                            `json:"trial_start,omitempty"`
	CancelledAt                       *int64                                            `json:"cancelled_at,omitempty"`
	StartedAt                         *int64                                            `json:"started_at,omitempty"`
	ActivatedAt                       *int64                                            `json:"activated_at,omitempty"`
	PauseDate                         *int64                                            `json:"pause_date,omitempty"`
	ResumeDate                        *int64                                            `json:"resume_date,omitempty"`
	CreateCurrentTermInvoice          *bool                                             `json:"create_current_term_invoice,omitempty"`
	Card                              *ImportSubscriptionCardParams                     `json:"card,omitempty"`
	PaymentMethod                     *ImportSubscriptionPaymentMethodParams            `json:"payment_method,omitempty"`
	BillingAddress                    *ImportSubscriptionBillingAddressParams           `json:"billing_address,omitempty"`
	ShippingAddress                   *ImportSubscriptionShippingAddressParams          `json:"shipping_address,omitempty"`
	AffiliateToken                    string                                            `json:"affiliate_token,omitempty"`
	InvoiceNotes                      string                                            `json:"invoice_notes,omitempty"`
	MetaData                          map[string]interface{}                            `json:"meta_data,omitempty"`
	Transaction                       *ImportSubscriptionTransactionParams              `json:"transaction,omitempty"`
	Coupons                           []*ImportSubscriptionCouponParams                 `json:"coupons,omitempty"`
}

type ImportSubscriptionShippingAddressParams

type ImportSubscriptionShippingAddressParams struct {
	FirstName        string                `json:"first_name,omitempty"`
	LastName         string                `json:"last_name,omitempty"`
	Email            string                `json:"email,omitempty"`
	Company          string                `json:"company,omitempty"`
	Phone            string                `json:"phone,omitempty"`
	Line1            string                `json:"line1,omitempty"`
	Line2            string                `json:"line2,omitempty"`
	Line3            string                `json:"line3,omitempty"`
	City             string                `json:"city,omitempty"`
	StateCode        string                `json:"state_code,omitempty"`
	State            string                `json:"state,omitempty"`
	Zip              string                `json:"zip,omitempty"`
	Country          string                `json:"country,omitempty"`
	ValidationStatus enum.ValidationStatus `json:"validation_status,omitempty"`
}

type ImportSubscriptionTransactionParams

type ImportSubscriptionTransactionParams struct {
	Amount          *int64             `json:"amount,omitempty"`
	PaymentMethod   enum.PaymentMethod `json:"payment_method,omitempty"`
	ReferenceNumber string             `json:"reference_number,omitempty"`
	Date            *int64             `json:"date,omitempty"`
}

type ImportUnbilledChargesDiscountParams

type ImportUnbilledChargesDiscountParams struct {
	UnbilledChargeId string                         `json:"unbilled_charge_id,omitempty"`
	EntityType       invoiceEnum.DiscountEntityType `json:"entity_type,omitempty"`
	EntityId         string                         `json:"entity_id,omitempty"`
	Description      string                         `json:"description,omitempty"`
	Amount           *int64                         `json:"amount"`
}

type ImportUnbilledChargesRequestParams

type ImportUnbilledChargesRequestParams struct {
	UnbilledCharges []*ImportUnbilledChargesUnbilledChargeParams `json:"unbilled_charges,omitempty"`
	Discounts       []*ImportUnbilledChargesDiscountParams       `json:"discounts,omitempty"`
	Tiers           []*ImportUnbilledChargesTierParams           `json:"tiers,omitempty"`
}

type ImportUnbilledChargesTierParams

type ImportUnbilledChargesTierParams struct {
	UnbilledChargeId      string `json:"unbilled_charge_id"`
	StartingUnit          *int32 `json:"starting_unit,omitempty"`
	EndingUnit            *int32 `json:"ending_unit,omitempty"`
	QuantityUsed          *int32 `json:"quantity_used,omitempty"`
	UnitAmount            *int64 `json:"unit_amount,omitempty"`
	StartingUnitInDecimal string `json:"starting_unit_in_decimal,omitempty"`
	EndingUnitInDecimal   string `json:"ending_unit_in_decimal,omitempty"`
	QuantityUsedInDecimal string `json:"quantity_used_in_decimal,omitempty"`
	UnitAmountInDecimal   string `json:"unit_amount_in_decimal,omitempty"`
}

type ImportUnbilledChargesUnbilledChargeParams

type ImportUnbilledChargesUnbilledChargeParams struct {
	Id                  string                        `json:"id,omitempty"`
	DateFrom            *int64                        `json:"date_from"`
	DateTo              *int64                        `json:"date_to"`
	EntityType          unbilledChargeEnum.EntityType `json:"entity_type"`
	EntityId            string                        `json:"entity_id,omitempty"`
	Description         string                        `json:"description,omitempty"`
	UnitAmount          *int64                        `json:"unit_amount,omitempty"`
	Quantity            *int32                        `json:"quantity,omitempty"`
	Amount              *int64                        `json:"amount,omitempty"`
	UnitAmountInDecimal string                        `json:"unit_amount_in_decimal,omitempty"`
	QuantityInDecimal   string                        `json:"quantity_in_decimal,omitempty"`
	AmountInDecimal     string                        `json:"amount_in_decimal,omitempty"`
	DiscountAmount      *int64                        `json:"discount_amount,omitempty"`
	UseForProration     *bool                         `json:"use_for_proration,omitempty"`
	IsAdvanceCharge     *bool                         `json:"is_advance_charge,omitempty"`
}

type ItemTier

type ItemTier struct {
	ItemPriceId           string           `json:"item_price_id"`
	StartingUnit          int32            `json:"starting_unit"`
	EndingUnit            int32            `json:"ending_unit"`
	Price                 int64            `json:"price"`
	StartingUnitInDecimal string           `json:"starting_unit_in_decimal"`
	EndingUnitInDecimal   string           `json:"ending_unit_in_decimal"`
	PriceInDecimal        string           `json:"price_in_decimal"`
	PricingType           enum.PricingType `json:"pricing_type"`
	PackageSize           int32            `json:"package_size"`
	Index                 int32            `json:"index"`
	Object                string           `json:"object"`
}

type ListDiscountsRequestParams

type ListDiscountsRequestParams struct {
	Limit  *int32 `json:"limit,omitempty"`
	Offset string `json:"offset,omitempty"`
}

type ListRequestParams

type ListRequestParams struct {
	Limit                  *int32                  `json:"limit,omitempty"`
	Offset                 string                  `json:"offset,omitempty"`
	IncludeDeleted         *bool                   `json:"include_deleted,omitempty"`
	Id                     *filter.StringFilter    `json:"id,omitempty"`
	CustomerId             *filter.StringFilter    `json:"customer_id,omitempty"`
	PlanId                 *filter.StringFilter    `json:"plan_id,omitempty"`
	ItemId                 *filter.StringFilter    `json:"item_id,omitempty"`
	ItemPriceId            *filter.StringFilter    `json:"item_price_id,omitempty"`
	Status                 *filter.EnumFilter      `json:"status,omitempty"`
	CancelReason           *filter.EnumFilter      `json:"cancel_reason,omitempty"`
	CancelReasonCode       *filter.StringFilter    `json:"cancel_reason_code,omitempty"`
	RemainingBillingCycles *filter.NumberFilter    `json:"remaining_billing_cycles,omitempty"`
	CreatedAt              *filter.TimestampFilter `json:"created_at,omitempty"`
	ActivatedAt            *filter.TimestampFilter `json:"activated_at,omitempty"`
	NextBillingAt          *filter.TimestampFilter `json:"next_billing_at,omitempty"`
	CancelledAt            *filter.TimestampFilter `json:"cancelled_at,omitempty"`
	HasScheduledChanges    *filter.BooleanFilter   `json:"has_scheduled_changes,omitempty"`
	UpdatedAt              *filter.TimestampFilter `json:"updated_at,omitempty"`
	OfflinePaymentMethod   *filter.EnumFilter      `json:"offline_payment_method,omitempty"`
	AutoCloseInvoices      *filter.BooleanFilter   `json:"auto_close_invoices,omitempty"`
	OverrideRelationship   *filter.BooleanFilter   `json:"override_relationship,omitempty"`
	SortBy                 *filter.SortFilter      `json:"sort_by,omitempty"`
	BusinessEntityId       *filter.StringFilter    `json:"business_entity_id,omitempty"`
	Channel                *filter.EnumFilter      `json:"channel,omitempty"`
}

type MoveRequestParams added in v3.16.1

type MoveRequestParams struct {
	ToCustomerId      string `json:"to_customer_id"`
	CopyPaymentSource *bool  `json:"copy_payment_source,omitempty"`
}

type OverrideBillingProfileRequestParams

type OverrideBillingProfileRequestParams struct {
	PaymentSourceId string              `json:"payment_source_id,omitempty"`
	AutoCollection  enum.AutoCollection `json:"auto_collection,omitempty"`
}

type PauseRequestParams

type PauseRequestParams struct {
	PauseOption             enum.PauseOption             `json:"pause_option,omitempty"`
	PauseDate               *int64                       `json:"pause_date,omitempty"`
	UnbilledChargesHandling enum.UnbilledChargesHandling `json:"unbilled_charges_handling,omitempty"`
	InvoiceDunningHandling  enum.InvoiceDunningHandling  `json:"invoice_dunning_handling,omitempty"`
	SkipBillingCycles       *int32                       `json:"skip_billing_cycles,omitempty"`
	ResumeDate              *int64                       `json:"resume_date,omitempty"`
}

type ReactivateContractTermParams

type ReactivateContractTermParams struct {
	ActionAtTermEnd          subscriptionEnum.ContractTermActionAtTermEnd `json:"action_at_term_end,omitempty"`
	CancellationCutoffPeriod *int32                                       `json:"cancellation_cutoff_period,omitempty"`
}

type ReactivatePaymentIntentParams

type ReactivatePaymentIntentParams struct {
	Id                    string                              `json:"id,omitempty"`
	GatewayAccountId      string                              `json:"gateway_account_id,omitempty"`
	GwToken               string                              `json:"gw_token,omitempty"`
	PaymentMethodType     paymentIntentEnum.PaymentMethodType `json:"payment_method_type,omitempty"`
	ReferenceId           string                              `json:"reference_id,omitempty"`
	GwPaymentMethodId     string                              `json:"gw_payment_method_id,omitempty"`
	AdditionalInformation map[string]interface{}              `json:"additional_information,omitempty"`
}

type ReactivateRequestParams

type ReactivateRequestParams struct {
	TrialEnd                          *int64                               `json:"trial_end,omitempty"`
	BillingCycles                     *int32                               `json:"billing_cycles,omitempty"`
	TrialPeriodDays                   *int32                               `json:"trial_period_days,omitempty"`
	ReactivateFrom                    *int64                               `json:"reactivate_from,omitempty"`
	InvoiceImmediately                *bool                                `json:"invoice_immediately,omitempty"`
	BillingAlignmentMode              enum.BillingAlignmentMode            `json:"billing_alignment_mode,omitempty"`
	TermsToCharge                     *int32                               `json:"terms_to_charge,omitempty"`
	InvoiceDate                       *int64                               `json:"invoice_date,omitempty"`
	ContractTerm                      *ReactivateContractTermParams        `json:"contract_term,omitempty"`
	ContractTermBillingCycleOnRenewal *int32                               `json:"contract_term_billing_cycle_on_renewal,omitempty"`
	PaymentInitiator                  enum.PaymentInitiator                `json:"payment_initiator,omitempty"`
	StatementDescriptor               *ReactivateStatementDescriptorParams `json:"statement_descriptor,omitempty"`
	PaymentIntent                     *ReactivatePaymentIntentParams       `json:"payment_intent,omitempty"`
}

type ReactivateStatementDescriptorParams added in v3.11.0

type ReactivateStatementDescriptorParams struct {
	Descriptor string `json:"descriptor,omitempty"`
}

type ReferralInfo

type ReferralInfo struct {
	ReferralCode              string                                    `json:"referral_code"`
	CouponCode                string                                    `json:"coupon_code"`
	ReferrerId                string                                    `json:"referrer_id"`
	ExternalReferenceId       string                                    `json:"external_reference_id"`
	RewardStatus              subscriptionEnum.ReferralInfoRewardStatus `json:"reward_status"`
	ReferralSystem            enum.ReferralSystem                       `json:"referral_system"`
	AccountId                 string                                    `json:"account_id"`
	CampaignId                string                                    `json:"campaign_id"`
	ExternalCampaignId        string                                    `json:"external_campaign_id"`
	FriendOfferType           enum.FriendOfferType                      `json:"friend_offer_type"`
	ReferrerRewardType        enum.ReferrerRewardType                   `json:"referrer_reward_type"`
	NotifyReferralSystem      enum.NotifyReferralSystem                 `json:"notify_referral_system"`
	DestinationUrl            string                                    `json:"destination_url"`
	PostPurchaseWidgetEnabled bool                                      `json:"post_purchase_widget_enabled"`
	Object                    string                                    `json:"object"`
}

type RegenerateInvoiceRequestParams

type RegenerateInvoiceRequestParams struct {
	DateFrom           *int64 `json:"date_from,omitempty"`
	DateTo             *int64 `json:"date_to,omitempty"`
	Prorate            *bool  `json:"prorate,omitempty"`
	InvoiceImmediately *bool  `json:"invoice_immediately,omitempty"`
}

type RemoveAdvanceInvoiceScheduleRequestParams

type RemoveAdvanceInvoiceScheduleRequestParams struct {
	SpecificDatesSchedule []*RemoveAdvanceInvoiceScheduleSpecificDatesScheduleParams `json:"specific_dates_schedule,omitempty"`
}

type RemoveAdvanceInvoiceScheduleSpecificDatesScheduleParams

type RemoveAdvanceInvoiceScheduleSpecificDatesScheduleParams struct {
	Id string `json:"id,omitempty"`
}

type RemoveCouponsRequestParams

type RemoveCouponsRequestParams struct {
	CouponIds []string `json:"coupon_ids,omitempty"`
}

type RemoveScheduledCancellationContractTermParams added in v3.35.0

type RemoveScheduledCancellationContractTermParams struct {
	ActionAtTermEnd          subscriptionEnum.ContractTermActionAtTermEnd `json:"action_at_term_end,omitempty"`
	CancellationCutoffPeriod *int32                                       `json:"cancellation_cutoff_period,omitempty"`
}

type RemoveScheduledCancellationRequestParams

type RemoveScheduledCancellationRequestParams struct {
	BillingCycles                     *int32                                         `json:"billing_cycles,omitempty"`
	ContractTerm                      *RemoveScheduledCancellationContractTermParams `json:"contract_term,omitempty"`
	ContractTermBillingCycleOnRenewal *int32                                         `json:"contract_term_billing_cycle_on_renewal,omitempty"`
}

type ResumePaymentIntentParams

type ResumePaymentIntentParams struct {
	Id                    string                              `json:"id,omitempty"`
	GatewayAccountId      string                              `json:"gateway_account_id,omitempty"`
	GwToken               string                              `json:"gw_token,omitempty"`
	PaymentMethodType     paymentIntentEnum.PaymentMethodType `json:"payment_method_type,omitempty"`
	ReferenceId           string                              `json:"reference_id,omitempty"`
	GwPaymentMethodId     string                              `json:"gw_payment_method_id,omitempty"`
	AdditionalInformation map[string]interface{}              `json:"additional_information,omitempty"`
}

type ResumeRequestParams

type ResumeRequestParams struct {
	ResumeOption           enum.ResumeOption           `json:"resume_option,omitempty"`
	ResumeDate             *int64                      `json:"resume_date,omitempty"`
	ChargesHandling        enum.ChargesHandling        `json:"charges_handling,omitempty"`
	UnpaidInvoicesHandling enum.UnpaidInvoicesHandling `json:"unpaid_invoices_handling,omitempty"`
	PaymentInitiator       enum.PaymentInitiator       `json:"payment_initiator,omitempty"`
	PaymentIntent          *ResumePaymentIntentParams  `json:"payment_intent,omitempty"`
}

type ShippingAddress

type ShippingAddress struct {
	FirstName        string                `json:"first_name"`
	LastName         string                `json:"last_name"`
	Email            string                `json:"email"`
	Company          string                `json:"company"`
	Phone            string                `json:"phone"`
	Line1            string                `json:"line1"`
	Line2            string                `json:"line2"`
	Line3            string                `json:"line3"`
	City             string                `json:"city"`
	StateCode        string                `json:"state_code"`
	State            string                `json:"state"`
	Country          string                `json:"country"`
	Zip              string                `json:"zip"`
	ValidationStatus enum.ValidationStatus `json:"validation_status"`
	Object           string                `json:"object"`
}

type Subscription

type Subscription struct {
	Id                                string                             `json:"id"`
	CurrencyCode                      string                             `json:"currency_code"`
	PlanId                            string                             `json:"plan_id"`
	PlanQuantity                      int32                              `json:"plan_quantity"`
	PlanUnitPrice                     int64                              `json:"plan_unit_price"`
	SetupFee                          int64                              `json:"setup_fee"`
	BillingPeriod                     int32                              `json:"billing_period"`
	BillingPeriodUnit                 subscriptionEnum.BillingPeriodUnit `json:"billing_period_unit"`
	StartDate                         int64                              `json:"start_date"`
	TrialEnd                          int64                              `json:"trial_end"`
	RemainingBillingCycles            int32                              `json:"remaining_billing_cycles"`
	PoNumber                          string                             `json:"po_number"`
	AutoCollection                    enum.AutoCollection                `json:"auto_collection"`
	PlanQuantityInDecimal             string                             `json:"plan_quantity_in_decimal"`
	PlanUnitPriceInDecimal            string                             `json:"plan_unit_price_in_decimal"`
	CustomerId                        string                             `json:"customer_id"`
	PlanAmount                        int64                              `json:"plan_amount"`
	PlanFreeQuantity                  int32                              `json:"plan_free_quantity"`
	Status                            subscriptionEnum.Status            `json:"status"`
	TrialStart                        int64                              `json:"trial_start"`
	TrialEndAction                    enum.TrialEndAction                `json:"trial_end_action"`
	CurrentTermStart                  int64                              `json:"current_term_start"`
	CurrentTermEnd                    int64                              `json:"current_term_end"`
	NextBillingAt                     int64                              `json:"next_billing_at"`
	CreatedAt                         int64                              `json:"created_at"`
	StartedAt                         int64                              `json:"started_at"`
	ActivatedAt                       int64                              `json:"activated_at"`
	GiftId                            string                             `json:"gift_id"`
	ContractTermBillingCycleOnRenewal int32                              `json:"contract_term_billing_cycle_on_renewal"`
	OverrideRelationship              bool                               `json:"override_relationship"`
	PauseDate                         int64                              `json:"pause_date"`
	ResumeDate                        int64                              `json:"resume_date"`
	CancelledAt                       int64                              `json:"cancelled_at"`
	CancelReason                      subscriptionEnum.CancelReason      `json:"cancel_reason"`
	AffiliateToken                    string                             `json:"affiliate_token"`
	CreatedFromIp                     string                             `json:"created_from_ip"`
	ResourceVersion                   int64                              `json:"resource_version"`
	UpdatedAt                         int64                              `json:"updated_at"`
	HasScheduledAdvanceInvoices       bool                               `json:"has_scheduled_advance_invoices"`
	HasScheduledChanges               bool                               `json:"has_scheduled_changes"`
	PaymentSourceId                   string                             `json:"payment_source_id"`
	PlanFreeQuantityInDecimal         string                             `json:"plan_free_quantity_in_decimal"`
	PlanAmountInDecimal               string                             `json:"plan_amount_in_decimal"`
	CancelScheduleCreatedAt           int64                              `json:"cancel_schedule_created_at"`
	OfflinePaymentMethod              enum.OfflinePaymentMethod          `json:"offline_payment_method"`
	Channel                           enum.Channel                       `json:"channel"`
	NetTermDays                       int32                              `json:"net_term_days"`
	ActiveId                          string                             `json:"active_id"`
	SubscriptionItems                 []*SubscriptionItem                `json:"subscription_items"`
	ItemTiers                         []*ItemTier                        `json:"item_tiers"`
	ChargedItems                      []*ChargedItem                     `json:"charged_items"`
	DueInvoicesCount                  int32                              `json:"due_invoices_count"`
	DueSince                          int64                              `json:"due_since"`
	TotalDues                         int64                              `json:"total_dues"`
	Mrr                               int64                              `json:"mrr"`
	//Deprecated: this field is deprecated
	Arr                     int64                     `json:"arr"`
	ExchangeRate            float64                   `json:"exchange_rate"`
	BaseCurrencyCode        string                    `json:"base_currency_code"`
	Addons                  []*Addon                  `json:"addons"`
	EventBasedAddons        []*EventBasedAddon        `json:"event_based_addons"`
	ChargedEventBasedAddons []*ChargedEventBasedAddon `json:"charged_event_based_addons"`
	//Deprecated: this field is deprecated
	Coupon                string                 `json:"coupon"`
	Coupons               []*Coupon              `json:"coupons"`
	ShippingAddress       *ShippingAddress       `json:"shipping_address"`
	ReferralInfo          *ReferralInfo          `json:"referral_info"`
	BillingOverride       *BillingOverride       `json:"billing_override"`
	InvoiceNotes          string                 `json:"invoice_notes"`
	MetaData              json.RawMessage        `json:"meta_data"`
	Deleted               bool                   `json:"deleted"`
	ChangesScheduledAt    int64                  `json:"changes_scheduled_at"`
	ContractTerm          *ContractTerm          `json:"contract_term"`
	CancelReasonCode      string                 `json:"cancel_reason_code"`
	FreePeriod            int32                  `json:"free_period"`
	FreePeriodUnit        enum.FreePeriodUnit    `json:"free_period_unit"`
	CreatePendingInvoices bool                   `json:"create_pending_invoices"`
	AutoCloseInvoices     bool                   `json:"auto_close_invoices"`
	Discounts             []*Discount            `json:"discounts"`
	BusinessEntityId      string                 `json:"business_entity_id"`
	Decommissioned        bool                   `json:"decommissioned"`
	CustomField           map[string]interface{} `json:"custom_field"`
	Object                string                 `json:"object"`

	// Deprecated: MetaData is deprecated please use MetaData instead.
	Metadata json.RawMessage `json:"metadata"`
}

type SubscriptionItem

type SubscriptionItem struct {
	ItemPriceId       string        `json:"item_price_id"`
	ItemType          enum.ItemType `json:"item_type"`
	Quantity          int32         `json:"quantity"`
	QuantityInDecimal string        `json:"quantity_in_decimal"`
	//Deprecated: this field is deprecated
	MeteredQuantity string `json:"metered_quantity"`
	//Deprecated: this field is deprecated
	LastCalculatedAt                int64                                `json:"last_calculated_at"`
	UnitPrice                       int64                                `json:"unit_price"`
	UnitPriceInDecimal              string                               `json:"unit_price_in_decimal"`
	Amount                          int64                                `json:"amount"`
	CurrentTermStart                int64                                `json:"current_term_start"`
	CurrentTermEnd                  int64                                `json:"current_term_end"`
	NextBillingAt                   int64                                `json:"next_billing_at"`
	AmountInDecimal                 string                               `json:"amount_in_decimal"`
	BillingPeriod                   int32                                `json:"billing_period"`
	BillingPeriodUnit               subscriptionEnum.BillingPeriodUnit   `json:"billing_period_unit"`
	FreeQuantity                    int32                                `json:"free_quantity"`
	FreeQuantityInDecimal           string                               `json:"free_quantity_in_decimal"`
	TrialEnd                        int64                                `json:"trial_end"`
	BillingCycles                   int32                                `json:"billing_cycles"`
	ServicePeriodDays               int32                                `json:"service_period_days"`
	ChargeOnEvent                   enum.ChargeOnEvent                   `json:"charge_on_event"`
	ChargeOnce                      bool                                 `json:"charge_once"`
	ChargeOnOption                  enum.ChargeOnOption                  `json:"charge_on_option"`
	ProrationType                   enum.ProrationType                   `json:"proration_type"`
	UsageAccumulationResetFrequency enum.UsageAccumulationResetFrequency `json:"usage_accumulation_reset_frequency"`
	Object                          string                               `json:"object"`
}

type SubscriptionsForCustomerRequestParams

type SubscriptionsForCustomerRequestParams struct {
	Limit  *int32 `json:"limit,omitempty"`
	Offset string `json:"offset,omitempty"`
}

type UpdateAddonParams

type UpdateAddonParams struct {
	Id                 string             `json:"id,omitempty"`
	Quantity           *int32             `json:"quantity,omitempty"`
	UnitPrice          *int64             `json:"unit_price,omitempty"`
	BillingCycles      *int32             `json:"billing_cycles,omitempty"`
	QuantityInDecimal  string             `json:"quantity_in_decimal,omitempty"`
	UnitPriceInDecimal string             `json:"unit_price_in_decimal,omitempty"`
	TrialEnd           *int64             `json:"trial_end,omitempty"`
	ProrationType      enum.ProrationType `json:"proration_type,omitempty"`
}

type UpdateBillingAddressParams

type UpdateBillingAddressParams struct {
	FirstName        string                `json:"first_name,omitempty"`
	LastName         string                `json:"last_name,omitempty"`
	Email            string                `json:"email,omitempty"`
	Company          string                `json:"company,omitempty"`
	Phone            string                `json:"phone,omitempty"`
	Line1            string                `json:"line1,omitempty"`
	Line2            string                `json:"line2,omitempty"`
	Line3            string                `json:"line3,omitempty"`
	City             string                `json:"city,omitempty"`
	StateCode        string                `json:"state_code,omitempty"`
	State            string                `json:"state,omitempty"`
	Zip              string                `json:"zip,omitempty"`
	Country          string                `json:"country,omitempty"`
	ValidationStatus enum.ValidationStatus `json:"validation_status,omitempty"`
}

type UpdateCardParams

type UpdateCardParams struct {
	Gateway               enum.Gateway             `json:"gateway,omitempty"`
	GatewayAccountId      string                   `json:"gateway_account_id,omitempty"`
	TmpToken              string                   `json:"tmp_token,omitempty"`
	FirstName             string                   `json:"first_name,omitempty"`
	LastName              string                   `json:"last_name,omitempty"`
	Number                string                   `json:"number,omitempty"`
	ExpiryMonth           *int32                   `json:"expiry_month,omitempty"`
	ExpiryYear            *int32                   `json:"expiry_year,omitempty"`
	Cvv                   string                   `json:"cvv,omitempty"`
	PreferredScheme       cardEnum.PreferredScheme `json:"preferred_scheme,omitempty"`
	BillingAddr1          string                   `json:"billing_addr1,omitempty"`
	BillingAddr2          string                   `json:"billing_addr2,omitempty"`
	BillingCity           string                   `json:"billing_city,omitempty"`
	BillingStateCode      string                   `json:"billing_state_code,omitempty"`
	BillingState          string                   `json:"billing_state,omitempty"`
	BillingZip            string                   `json:"billing_zip,omitempty"`
	BillingCountry        string                   `json:"billing_country,omitempty"`
	IpAddress             string                   `json:"ip_address,omitempty"`
	AdditionalInformation map[string]interface{}   `json:"additional_information,omitempty"`
}

type UpdateContractTermParams

type UpdateContractTermParams struct {
	ActionAtTermEnd          subscriptionEnum.ContractTermActionAtTermEnd `json:"action_at_term_end,omitempty"`
	CancellationCutoffPeriod *int32                                       `json:"cancellation_cutoff_period,omitempty"`
}

type UpdateCouponParams added in v3.8.0

type UpdateCouponParams struct {
	CouponId  string `json:"coupon_id,omitempty"`
	ApplyTill *int64 `json:"apply_till,omitempty"`
}

type UpdateCustomerParams

type UpdateCustomerParams struct {
	VatNumber                        string                `json:"vat_number,omitempty"`
	VatNumberPrefix                  string                `json:"vat_number_prefix,omitempty"`
	EntityIdentifierScheme           string                `json:"entity_identifier_scheme,omitempty"`
	IsEinvoiceEnabled                *bool                 `json:"is_einvoice_enabled,omitempty"`
	EinvoicingMethod                 enum.EinvoicingMethod `json:"einvoicing_method,omitempty"`
	EntityIdentifierStandard         string                `json:"entity_identifier_standard,omitempty"`
	BusinessCustomerWithoutVatNumber *bool                 `json:"business_customer_without_vat_number,omitempty"`
	RegisteredForGst                 *bool                 `json:"registered_for_gst,omitempty"`
}

type UpdateEventBasedAddonParams

type UpdateEventBasedAddonParams struct {
	Id                  string        `json:"id,omitempty"`
	Quantity            *int32        `json:"quantity,omitempty"`
	UnitPrice           *int64        `json:"unit_price,omitempty"`
	ServicePeriodInDays *int32        `json:"service_period_in_days,omitempty"`
	ChargeOn            enum.ChargeOn `json:"charge_on,omitempty"`
	OnEvent             enum.OnEvent  `json:"on_event,omitempty"`
	ChargeOnce          *bool         `json:"charge_once,omitempty"`
	QuantityInDecimal   string        `json:"quantity_in_decimal,omitempty"`
	UnitPriceInDecimal  string        `json:"unit_price_in_decimal,omitempty"`
}

type UpdateForItemsBillingAddressParams

type UpdateForItemsBillingAddressParams struct {
	FirstName        string                `json:"first_name,omitempty"`
	LastName         string                `json:"last_name,omitempty"`
	Email            string                `json:"email,omitempty"`
	Company          string                `json:"company,omitempty"`
	Phone            string                `json:"phone,omitempty"`
	Line1            string                `json:"line1,omitempty"`
	Line2            string                `json:"line2,omitempty"`
	Line3            string                `json:"line3,omitempty"`
	City             string                `json:"city,omitempty"`
	StateCode        string                `json:"state_code,omitempty"`
	State            string                `json:"state,omitempty"`
	Zip              string                `json:"zip,omitempty"`
	Country          string                `json:"country,omitempty"`
	ValidationStatus enum.ValidationStatus `json:"validation_status,omitempty"`
}

type UpdateForItemsBillingOverrideParams added in v3.28.0

type UpdateForItemsBillingOverrideParams struct {
	MaxExcessPaymentUsage     *int64 `json:"max_excess_payment_usage,omitempty"`
	MaxRefundableCreditsUsage *int64 `json:"max_refundable_credits_usage,omitempty"`
}

type UpdateForItemsCardParams

type UpdateForItemsCardParams struct {
	Gateway               enum.Gateway             `json:"gateway,omitempty"`
	GatewayAccountId      string                   `json:"gateway_account_id,omitempty"`
	TmpToken              string                   `json:"tmp_token,omitempty"`
	FirstName             string                   `json:"first_name,omitempty"`
	LastName              string                   `json:"last_name,omitempty"`
	Number                string                   `json:"number,omitempty"`
	ExpiryMonth           *int32                   `json:"expiry_month,omitempty"`
	ExpiryYear            *int32                   `json:"expiry_year,omitempty"`
	Cvv                   string                   `json:"cvv,omitempty"`
	PreferredScheme       cardEnum.PreferredScheme `json:"preferred_scheme,omitempty"`
	BillingAddr1          string                   `json:"billing_addr1,omitempty"`
	BillingAddr2          string                   `json:"billing_addr2,omitempty"`
	BillingCity           string                   `json:"billing_city,omitempty"`
	BillingStateCode      string                   `json:"billing_state_code,omitempty"`
	BillingState          string                   `json:"billing_state,omitempty"`
	BillingZip            string                   `json:"billing_zip,omitempty"`
	BillingCountry        string                   `json:"billing_country,omitempty"`
	IpAddress             string                   `json:"ip_address,omitempty"`
	AdditionalInformation map[string]interface{}   `json:"additional_information,omitempty"`
}

type UpdateForItemsContractTermParams

type UpdateForItemsContractTermParams struct {
	ActionAtTermEnd          subscriptionEnum.ContractTermActionAtTermEnd `json:"action_at_term_end,omitempty"`
	CancellationCutoffPeriod *int32                                       `json:"cancellation_cutoff_period,omitempty"`
	ContractStart            *int64                                       `json:"contract_start,omitempty"`
}

type UpdateForItemsCouponParams added in v3.8.0

type UpdateForItemsCouponParams struct {
	CouponId  string `json:"coupon_id,omitempty"`
	ApplyTill *int64 `json:"apply_till,omitempty"`
}

type UpdateForItemsCustomerParams

type UpdateForItemsCustomerParams struct {
	VatNumber                        string                `json:"vat_number,omitempty"`
	VatNumberPrefix                  string                `json:"vat_number_prefix,omitempty"`
	EntityIdentifierScheme           string                `json:"entity_identifier_scheme,omitempty"`
	IsEinvoiceEnabled                *bool                 `json:"is_einvoice_enabled,omitempty"`
	EinvoicingMethod                 enum.EinvoicingMethod `json:"einvoicing_method,omitempty"`
	EntityIdentifierStandard         string                `json:"entity_identifier_standard,omitempty"`
	BusinessCustomerWithoutVatNumber *bool                 `json:"business_customer_without_vat_number,omitempty"`
	RegisteredForGst                 *bool                 `json:"registered_for_gst,omitempty"`
}

type UpdateForItemsDiscountParams

type UpdateForItemsDiscountParams struct {
	ApplyOn       enum.ApplyOn       `json:"apply_on,omitempty"`
	DurationType  enum.DurationType  `json:"duration_type"`
	Percentage    *float64           `json:"percentage,omitempty"`
	Amount        *int64             `json:"amount,omitempty"`
	Period        *int32             `json:"period,omitempty"`
	PeriodUnit    enum.PeriodUnit    `json:"period_unit,omitempty"`
	IncludedInMrr *bool              `json:"included_in_mrr,omitempty"`
	ItemPriceId   string             `json:"item_price_id,omitempty"`
	Quantity      *int32             `json:"quantity,omitempty"`
	OperationType enum.OperationType `json:"operation_type"`
	Id            string             `json:"id,omitempty"`
}

type UpdateForItemsItemTierParams

type UpdateForItemsItemTierParams struct {
	ItemPriceId           string           `json:"item_price_id,omitempty"`
	StartingUnit          *int32           `json:"starting_unit,omitempty"`
	EndingUnit            *int32           `json:"ending_unit,omitempty"`
	Price                 *int64           `json:"price,omitempty"`
	StartingUnitInDecimal string           `json:"starting_unit_in_decimal,omitempty"`
	EndingUnitInDecimal   string           `json:"ending_unit_in_decimal,omitempty"`
	PriceInDecimal        string           `json:"price_in_decimal,omitempty"`
	PricingType           enum.PricingType `json:"pricing_type,omitempty"`
	PackageSize           *int32           `json:"package_size,omitempty"`
}

type UpdateForItemsPaymentIntentParams

type UpdateForItemsPaymentIntentParams struct {
	Id                    string                              `json:"id,omitempty"`
	GatewayAccountId      string                              `json:"gateway_account_id,omitempty"`
	GwToken               string                              `json:"gw_token,omitempty"`
	PaymentMethodType     paymentIntentEnum.PaymentMethodType `json:"payment_method_type,omitempty"`
	ReferenceId           string                              `json:"reference_id,omitempty"`
	GwPaymentMethodId     string                              `json:"gw_payment_method_id,omitempty"`
	AdditionalInformation map[string]interface{}              `json:"additional_information,omitempty"`
}

type UpdateForItemsPaymentMethodParams

type UpdateForItemsPaymentMethodParams struct {
	Type                  enum.Type              `json:"type,omitempty"`
	Gateway               enum.Gateway           `json:"gateway,omitempty"`
	GatewayAccountId      string                 `json:"gateway_account_id,omitempty"`
	ReferenceId           string                 `json:"reference_id,omitempty"`
	TmpToken              string                 `json:"tmp_token,omitempty"`
	IssuingCountry        string                 `json:"issuing_country,omitempty"`
	AdditionalInformation map[string]interface{} `json:"additional_information,omitempty"`
}

type UpdateForItemsRequestParams

type UpdateForItemsRequestParams struct {
	SubscriptionItems                 []*UpdateForItemsSubscriptionItemParams  `json:"subscription_items,omitempty"`
	MandatoryItemsToRemove            []string                                 `json:"mandatory_items_to_remove,omitempty"`
	ReplaceItemsList                  *bool                                    `json:"replace_items_list,omitempty"`
	SetupFee                          *int64                                   `json:"setup_fee,omitempty"`
	Discounts                         []*UpdateForItemsDiscountParams          `json:"discounts,omitempty"`
	ItemTiers                         []*UpdateForItemsItemTierParams          `json:"item_tiers,omitempty"`
	NetTermDays                       *int32                                   `json:"net_term_days,omitempty"`
	InvoiceDate                       *int64                                   `json:"invoice_date,omitempty"`
	StartDate                         *int64                                   `json:"start_date,omitempty"`
	TrialEnd                          *int64                                   `json:"trial_end,omitempty"`
	BillingCycles                     *int32                                   `json:"billing_cycles,omitempty"`
	Coupon                            string                                   `json:"coupon,omitempty"`
	TermsToCharge                     *int32                                   `json:"terms_to_charge,omitempty"`
	ReactivateFrom                    *int64                                   `json:"reactivate_from,omitempty"`
	BillingAlignmentMode              enum.BillingAlignmentMode                `json:"billing_alignment_mode,omitempty"`
	AutoCollection                    enum.AutoCollection                      `json:"auto_collection,omitempty"`
	OfflinePaymentMethod              enum.OfflinePaymentMethod                `json:"offline_payment_method,omitempty"`
	PoNumber                          string                                   `json:"po_number,omitempty"`
	CouponIds                         []string                                 `json:"coupon_ids,omitempty"`
	ReplaceCouponList                 *bool                                    `json:"replace_coupon_list,omitempty"`
	Prorate                           *bool                                    `json:"prorate,omitempty"`
	EndOfTerm                         *bool                                    `json:"end_of_term,omitempty"`
	ForceTermReset                    *bool                                    `json:"force_term_reset,omitempty"`
	Reactivate                        *bool                                    `json:"reactivate,omitempty"`
	Card                              *UpdateForItemsCardParams                `json:"card,omitempty"`
	TokenId                           string                                   `json:"token_id,omitempty"`
	PaymentMethod                     *UpdateForItemsPaymentMethodParams       `json:"payment_method,omitempty"`
	PaymentIntent                     *UpdateForItemsPaymentIntentParams       `json:"payment_intent,omitempty"`
	BillingAddress                    *UpdateForItemsBillingAddressParams      `json:"billing_address,omitempty"`
	ShippingAddress                   *UpdateForItemsShippingAddressParams     `json:"shipping_address,omitempty"`
	StatementDescriptor               *UpdateForItemsStatementDescriptorParams `json:"statement_descriptor,omitempty"`
	Customer                          *UpdateForItemsCustomerParams            `json:"customer,omitempty"`
	InvoiceNotes                      string                                   `json:"invoice_notes,omitempty"`
	MetaData                          map[string]interface{}                   `json:"meta_data,omitempty"`
	InvoiceImmediately                *bool                                    `json:"invoice_immediately,omitempty"`
	OverrideRelationship              *bool                                    `json:"override_relationship,omitempty"`
	ChangesScheduledAt                *int64                                   `json:"changes_scheduled_at,omitempty"`
	ChangeOption                      enum.ChangeOption                        `json:"change_option,omitempty"`
	ContractTerm                      *UpdateForItemsContractTermParams        `json:"contract_term,omitempty"`
	ContractTermBillingCycleOnRenewal *int32                                   `json:"contract_term_billing_cycle_on_renewal,omitempty"`
	FreePeriod                        *int32                                   `json:"free_period,omitempty"`
	FreePeriodUnit                    enum.FreePeriodUnit                      `json:"free_period_unit,omitempty"`
	CreatePendingInvoices             *bool                                    `json:"create_pending_invoices,omitempty"`
	AutoCloseInvoices                 *bool                                    `json:"auto_close_invoices,omitempty"`
	TrialEndAction                    enum.TrialEndAction                      `json:"trial_end_action,omitempty"`
	PaymentInitiator                  enum.PaymentInitiator                    `json:"payment_initiator,omitempty"`
	Coupons                           []*UpdateForItemsCouponParams            `json:"coupons,omitempty"`
	InvoiceUsages                     *bool                                    `json:"invoice_usages,omitempty"`
	BillingOverride                   *UpdateForItemsBillingOverrideParams     `json:"billing_override,omitempty"`
}

type UpdateForItemsShippingAddressParams

type UpdateForItemsShippingAddressParams struct {
	FirstName        string                `json:"first_name,omitempty"`
	LastName         string                `json:"last_name,omitempty"`
	Email            string                `json:"email,omitempty"`
	Company          string                `json:"company,omitempty"`
	Phone            string                `json:"phone,omitempty"`
	Line1            string                `json:"line1,omitempty"`
	Line2            string                `json:"line2,omitempty"`
	Line3            string                `json:"line3,omitempty"`
	City             string                `json:"city,omitempty"`
	StateCode        string                `json:"state_code,omitempty"`
	State            string                `json:"state,omitempty"`
	Zip              string                `json:"zip,omitempty"`
	Country          string                `json:"country,omitempty"`
	ValidationStatus enum.ValidationStatus `json:"validation_status,omitempty"`
}

type UpdateForItemsStatementDescriptorParams added in v3.11.0

type UpdateForItemsStatementDescriptorParams struct {
	Descriptor string `json:"descriptor,omitempty"`
}

type UpdateForItemsSubscriptionItemParams

type UpdateForItemsSubscriptionItemParams struct {
	ItemPriceId                     string                               `json:"item_price_id"`
	Quantity                        *int32                               `json:"quantity,omitempty"`
	QuantityInDecimal               string                               `json:"quantity_in_decimal,omitempty"`
	UnitPrice                       *int64                               `json:"unit_price,omitempty"`
	UnitPriceInDecimal              string                               `json:"unit_price_in_decimal,omitempty"`
	BillingCycles                   *int32                               `json:"billing_cycles,omitempty"`
	TrialEnd                        *int64                               `json:"trial_end,omitempty"`
	ServicePeriodDays               *int32                               `json:"service_period_days,omitempty"`
	ChargeOnEvent                   enum.ChargeOnEvent                   `json:"charge_on_event,omitempty"`
	ChargeOnce                      *bool                                `json:"charge_once,omitempty"`
	ChargeOnOption                  enum.ChargeOnOption                  `json:"charge_on_option,omitempty"`
	ItemType                        enum.ItemType                        `json:"item_type,omitempty"`
	ProrationType                   enum.ProrationType                   `json:"proration_type,omitempty"`
	UsageAccumulationResetFrequency enum.UsageAccumulationResetFrequency `json:"usage_accumulation_reset_frequency,omitempty"`
}

type UpdatePaymentIntentParams

type UpdatePaymentIntentParams struct {
	Id                    string                              `json:"id,omitempty"`
	GatewayAccountId      string                              `json:"gateway_account_id,omitempty"`
	GwToken               string                              `json:"gw_token,omitempty"`
	PaymentMethodType     paymentIntentEnum.PaymentMethodType `json:"payment_method_type,omitempty"`
	ReferenceId           string                              `json:"reference_id,omitempty"`
	GwPaymentMethodId     string                              `json:"gw_payment_method_id,omitempty"`
	AdditionalInformation map[string]interface{}              `json:"additional_information,omitempty"`
}

type UpdatePaymentMethodParams

type UpdatePaymentMethodParams struct {
	Type                  enum.Type              `json:"type,omitempty"`
	Gateway               enum.Gateway           `json:"gateway,omitempty"`
	GatewayAccountId      string                 `json:"gateway_account_id,omitempty"`
	ReferenceId           string                 `json:"reference_id,omitempty"`
	TmpToken              string                 `json:"tmp_token,omitempty"`
	IssuingCountry        string                 `json:"issuing_country,omitempty"`
	AdditionalInformation map[string]interface{} `json:"additional_information,omitempty"`
}

type UpdateRequestParams

type UpdateRequestParams struct {
	PlanId                            string                           `json:"plan_id,omitempty"`
	PlanQuantity                      *int32                           `json:"plan_quantity,omitempty"`
	PlanUnitPrice                     *int64                           `json:"plan_unit_price,omitempty"`
	SetupFee                          *int64                           `json:"setup_fee,omitempty"`
	Addons                            []*UpdateAddonParams             `json:"addons,omitempty"`
	EventBasedAddons                  []*UpdateEventBasedAddonParams   `json:"event_based_addons,omitempty"`
	ReplaceAddonList                  *bool                            `json:"replace_addon_list,omitempty"`
	MandatoryAddonsToRemove           []string                         `json:"mandatory_addons_to_remove,omitempty"`
	PlanQuantityInDecimal             string                           `json:"plan_quantity_in_decimal,omitempty"`
	PlanUnitPriceInDecimal            string                           `json:"plan_unit_price_in_decimal,omitempty"`
	InvoiceDate                       *int64                           `json:"invoice_date,omitempty"`
	StartDate                         *int64                           `json:"start_date,omitempty"`
	TrialEnd                          *int64                           `json:"trial_end,omitempty"`
	BillingCycles                     *int32                           `json:"billing_cycles,omitempty"`
	Coupon                            string                           `json:"coupon,omitempty"`
	TermsToCharge                     *int32                           `json:"terms_to_charge,omitempty"`
	ReactivateFrom                    *int64                           `json:"reactivate_from,omitempty"`
	BillingAlignmentMode              enum.BillingAlignmentMode        `json:"billing_alignment_mode,omitempty"`
	AutoCollection                    enum.AutoCollection              `json:"auto_collection,omitempty"`
	OfflinePaymentMethod              enum.OfflinePaymentMethod        `json:"offline_payment_method,omitempty"`
	PoNumber                          string                           `json:"po_number,omitempty"`
	CouponIds                         []string                         `json:"coupon_ids,omitempty"`
	ReplaceCouponList                 *bool                            `json:"replace_coupon_list,omitempty"`
	Prorate                           *bool                            `json:"prorate,omitempty"`
	EndOfTerm                         *bool                            `json:"end_of_term,omitempty"`
	ForceTermReset                    *bool                            `json:"force_term_reset,omitempty"`
	Reactivate                        *bool                            `json:"reactivate,omitempty"`
	Card                              *UpdateCardParams                `json:"card,omitempty"`
	TokenId                           string                           `json:"token_id,omitempty"`
	PaymentMethod                     *UpdatePaymentMethodParams       `json:"payment_method,omitempty"`
	PaymentIntent                     *UpdatePaymentIntentParams       `json:"payment_intent,omitempty"`
	BillingAddress                    *UpdateBillingAddressParams      `json:"billing_address,omitempty"`
	ShippingAddress                   *UpdateShippingAddressParams     `json:"shipping_address,omitempty"`
	StatementDescriptor               *UpdateStatementDescriptorParams `json:"statement_descriptor,omitempty"`
	Customer                          *UpdateCustomerParams            `json:"customer,omitempty"`
	InvoiceNotes                      string                           `json:"invoice_notes,omitempty"`
	MetaData                          map[string]interface{}           `json:"meta_data,omitempty"`
	InvoiceImmediately                *bool                            `json:"invoice_immediately,omitempty"`
	OverrideRelationship              *bool                            `json:"override_relationship,omitempty"`
	ChangesScheduledAt                *int64                           `json:"changes_scheduled_at,omitempty"`
	ChangeOption                      enum.ChangeOption                `json:"change_option,omitempty"`
	ContractTerm                      *UpdateContractTermParams        `json:"contract_term,omitempty"`
	ContractTermBillingCycleOnRenewal *int32                           `json:"contract_term_billing_cycle_on_renewal,omitempty"`
	FreePeriod                        *int32                           `json:"free_period,omitempty"`
	FreePeriodUnit                    enum.FreePeriodUnit              `json:"free_period_unit,omitempty"`
	TrialEndAction                    enum.TrialEndAction              `json:"trial_end_action,omitempty"`
	Coupons                           []*UpdateCouponParams            `json:"coupons,omitempty"`
}

type UpdateShippingAddressParams

type UpdateShippingAddressParams struct {
	FirstName        string                `json:"first_name,omitempty"`
	LastName         string                `json:"last_name,omitempty"`
	Email            string                `json:"email,omitempty"`
	Company          string                `json:"company,omitempty"`
	Phone            string                `json:"phone,omitempty"`
	Line1            string                `json:"line1,omitempty"`
	Line2            string                `json:"line2,omitempty"`
	Line3            string                `json:"line3,omitempty"`
	City             string                `json:"city,omitempty"`
	StateCode        string                `json:"state_code,omitempty"`
	State            string                `json:"state,omitempty"`
	Zip              string                `json:"zip,omitempty"`
	Country          string                `json:"country,omitempty"`
	ValidationStatus enum.ValidationStatus `json:"validation_status,omitempty"`
}

type UpdateStatementDescriptorParams added in v3.11.0

type UpdateStatementDescriptorParams struct {
	Descriptor string `json:"descriptor,omitempty"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL