maxio-advanced-billing-sdk 2.0.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +40 -40
- data/lib/advanced_billing/controllers/advance_invoice_controller.rb +6 -4
- data/lib/advanced_billing/controllers/base_controller.rb +1 -1
- data/lib/advanced_billing/controllers/components_controller.rb +9 -58
- data/lib/advanced_billing/controllers/coupons_controller.rb +6 -115
- data/lib/advanced_billing/controllers/custom_fields_controller.rb +4 -4
- data/lib/advanced_billing/controllers/events_based_billing_segments_controller.rb +5 -22
- data/lib/advanced_billing/controllers/insights_controller.rb +3 -4
- data/lib/advanced_billing/controllers/invoices_controller.rb +11 -0
- data/lib/advanced_billing/controllers/payment_profiles_controller.rb +26 -0
- data/lib/advanced_billing/controllers/product_families_controller.rb +5 -14
- data/lib/advanced_billing/controllers/product_price_points_controller.rb +3 -40
- data/lib/advanced_billing/controllers/products_controller.rb +5 -14
- data/lib/advanced_billing/controllers/subscription_components_controller.rb +16 -66
- data/lib/advanced_billing/controllers/subscription_group_invoice_account_controller.rb +5 -15
- data/lib/advanced_billing/controllers/subscription_groups_controller.rb +6 -6
- data/lib/advanced_billing/controllers/subscription_invoice_account_controller.rb +13 -20
- data/lib/advanced_billing/controllers/subscriptions_controller.rb +49 -14
- data/lib/advanced_billing/models/ach_agreement.rb +10 -0
- data/lib/advanced_billing/models/address_change.rb +0 -22
- data/lib/advanced_billing/models/agreement_acceptance.rb +10 -0
- data/lib/advanced_billing/models/allocation.rb +1 -3
- data/lib/advanced_billing/models/applied_credit_note_data.rb +10 -0
- data/lib/advanced_billing/models/apply_credit_note_event.rb +139 -0
- data/lib/advanced_billing/models/apply_credit_note_event_data.rb +3 -1
- data/lib/advanced_billing/models/apply_debit_note_event.rb +139 -0
- data/lib/advanced_billing/models/apply_debit_note_event_data.rb +36 -2
- data/lib/advanced_billing/models/apply_payment_event.rb +139 -0
- data/lib/advanced_billing/models/apply_payment_event_data.rb +21 -7
- data/lib/advanced_billing/models/backport_invoice_event.rb +139 -0
- data/lib/advanced_billing/models/bank_account_attributes.rb +10 -0
- data/lib/advanced_billing/models/billing_manifest.rb +5 -1
- data/lib/advanced_billing/models/billing_schedule.rb +10 -0
- data/lib/advanced_billing/models/change_chargeback_status_event.rb +141 -0
- data/lib/advanced_billing/models/change_chargeback_status_event_data.rb +73 -0
- data/lib/advanced_billing/models/change_invoice_collection_method_event.rb +141 -0
- data/lib/advanced_billing/models/change_invoice_status_event.rb +141 -0
- data/lib/advanced_billing/models/change_invoice_status_event_data.rb +131 -0
- data/lib/advanced_billing/models/chargeback_status.rb +29 -0
- data/lib/advanced_billing/models/component.rb +3 -13
- data/lib/advanced_billing/models/component_cost_data.rb +10 -0
- data/lib/advanced_billing/models/component_cost_data_rate_tier.rb +10 -0
- data/lib/advanced_billing/models/component_custom_price.rb +10 -0
- data/lib/advanced_billing/models/component_price_point.rb +2 -13
- data/lib/advanced_billing/models/component_price_point_item.rb +10 -0
- data/lib/advanced_billing/models/coupon.rb +4 -14
- data/lib/advanced_billing/models/create_component_price_point.rb +6 -2
- data/lib/advanced_billing/models/create_component_price_point_request.rb +1 -1
- data/lib/advanced_billing/models/create_component_price_points_request.rb +1 -1
- data/lib/advanced_billing/models/create_credit_note_event.rb +139 -0
- data/lib/advanced_billing/models/create_debit_note_event.rb +139 -0
- data/lib/advanced_billing/models/create_invoice_payment_application.rb +22 -0
- data/lib/advanced_billing/models/create_multi_invoice_payment.rb +6 -2
- data/lib/advanced_billing/models/create_offer_component.rb +11 -0
- data/lib/advanced_billing/models/create_payment_profile.rb +4 -4
- data/lib/advanced_billing/models/create_prepaid_usage_component_price_point.rb +10 -4
- data/lib/advanced_billing/models/create_product_family.rb +14 -4
- data/lib/advanced_billing/models/create_subscription.rb +2 -2
- data/lib/advanced_billing/models/credit_card_attributes.rb +10 -0
- data/lib/advanced_billing/models/credit_note_application.rb +10 -0
- data/lib/advanced_billing/models/credit_note_line_item.rb +10 -0
- data/lib/advanced_billing/models/customer.rb +13 -1
- data/lib/advanced_billing/models/customer_attributes.rb +10 -0
- data/lib/advanced_billing/models/customer_change.rb +7 -22
- data/lib/advanced_billing/models/customer_custom_fields_change.rb +0 -22
- data/lib/advanced_billing/models/customer_payer_change.rb +0 -22
- data/lib/advanced_billing/models/debit_note.rb +351 -0
- data/lib/advanced_billing/models/debit_note_role.rb +23 -0
- data/lib/advanced_billing/models/debit_note_status.rb +29 -0
- data/lib/advanced_billing/models/deduct_service_credit.rb +10 -16
- data/lib/advanced_billing/models/dunner_data.rb +38 -0
- data/lib/advanced_billing/models/dunning_step_data.rb +34 -0
- data/lib/advanced_billing/models/dunning_step_reached.rb +12 -6
- data/lib/advanced_billing/models/failed_payment_event.rb +139 -0
- data/lib/advanced_billing/models/failed_payment_event_data.rb +132 -0
- data/lib/advanced_billing/models/group_billing.rb +10 -0
- data/lib/advanced_billing/models/group_settings.rb +4 -2
- data/lib/advanced_billing/models/group_target.rb +14 -0
- data/lib/advanced_billing/models/historic_usage.rb +109 -0
- data/lib/advanced_billing/models/include_null_or_not_null.rb +23 -0
- data/lib/advanced_billing/models/invoice.rb +18 -8
- data/lib/advanced_billing/models/invoice_address.rb +10 -0
- data/lib/advanced_billing/models/invoice_balance_item.rb +10 -0
- data/lib/advanced_billing/models/invoice_credit.rb +10 -0
- data/lib/advanced_billing/models/invoice_custom_field.rb +10 -0
- data/lib/advanced_billing/models/invoice_customer.rb +10 -0
- data/lib/advanced_billing/models/invoice_discount.rb +10 -0
- data/lib/advanced_billing/models/invoice_discount_breakout.rb +10 -0
- data/lib/advanced_billing/models/invoice_display_settings.rb +10 -0
- data/lib/advanced_billing/models/invoice_event_type.rb +3 -0
- data/lib/advanced_billing/models/invoice_issued.rb +6 -2
- data/lib/advanced_billing/models/invoice_line_item.rb +3 -3
- data/lib/advanced_billing/models/invoice_line_item_event_data.rb +10 -0
- data/lib/advanced_billing/models/invoice_line_item_pricing_detail.rb +10 -0
- data/lib/advanced_billing/models/invoice_payer.rb +10 -0
- data/lib/advanced_billing/models/invoice_payment.rb +10 -0
- data/lib/advanced_billing/models/invoice_payment_method.rb +10 -0
- data/lib/advanced_billing/models/invoice_pre_payment.rb +0 -10
- data/lib/advanced_billing/models/invoice_previous_balance.rb +10 -0
- data/lib/advanced_billing/models/invoice_refund.rb +10 -0
- data/lib/advanced_billing/models/invoice_seller.rb +10 -0
- data/lib/advanced_billing/models/invoice_status.rb +2 -2
- data/lib/advanced_billing/models/invoice_tax.rb +10 -0
- data/lib/advanced_billing/models/invoice_tax_breakout.rb +10 -0
- data/lib/advanced_billing/models/invoice_tax_component_breakout.rb +10 -0
- data/lib/advanced_billing/models/issue_invoice_event.rb +139 -0
- data/lib/advanced_billing/models/issue_invoice_event_data.rb +6 -6
- data/lib/advanced_billing/models/issue_service_credit.rb +10 -16
- data/lib/advanced_billing/models/item_price_point_changed.rb +8 -4
- data/lib/advanced_billing/models/item_price_point_data.rb +10 -0
- data/lib/advanced_billing/models/list_components_filter.rb +74 -0
- data/lib/advanced_billing/models/list_coupons_filter.rb +168 -0
- data/lib/advanced_billing/models/list_invoice_events_response.rb +14 -11
- data/lib/advanced_billing/models/{refund_prepayment_aggregated_error.rb → list_mrr_filter.rb} +14 -12
- data/lib/advanced_billing/models/{list_subscription_group_prepayment_date_field.rb → list_prepayment_date_field.rb} +4 -4
- data/lib/advanced_billing/models/list_prepayments_filter.rb +88 -0
- data/lib/advanced_billing/models/list_price_points_filter.rb +163 -0
- data/lib/advanced_billing/models/list_products_filter.rb +81 -0
- data/lib/advanced_billing/models/list_segments_filter.rb +103 -0
- data/lib/advanced_billing/models/list_subscription_components_filter.rb +74 -0
- data/lib/advanced_billing/models/list_subscription_components_for_site_filter.rb +84 -0
- data/lib/advanced_billing/models/list_subscription_components_include.rb +4 -1
- data/lib/advanced_billing/models/metafield_scope.rb +10 -0
- data/lib/advanced_billing/models/nested_subscription_group.rb +0 -10
- data/lib/advanced_billing/models/origin_invoice.rb +10 -0
- data/lib/advanced_billing/models/overage_pricing.rb +14 -0
- data/lib/advanced_billing/models/paid_invoice.rb +2 -2
- data/lib/advanced_billing/models/payer_attributes.rb +10 -0
- data/lib/advanced_billing/models/prepaid_component_price_point.rb +10 -0
- data/lib/advanced_billing/models/prepaid_product_price_point_filter.rb +56 -0
- data/lib/advanced_billing/models/prepaid_usage.rb +6 -2
- data/lib/advanced_billing/models/prepaid_usage_allocation_detail.rb +10 -0
- data/lib/advanced_billing/models/product.rb +5 -16
- data/lib/advanced_billing/models/product_price_point.rb +9 -0
- data/lib/advanced_billing/models/proforma_invoice.rb +2 -2
- data/lib/advanced_billing/models/proforma_invoice_issued.rb +6 -2
- data/lib/advanced_billing/models/reactivation_billing.rb +10 -0
- data/lib/advanced_billing/models/record_payment_response.rb +1 -13
- data/lib/advanced_billing/models/refund_invoice_event.rb +139 -0
- data/lib/advanced_billing/models/refund_invoice_event_data.rb +4 -2
- data/lib/advanced_billing/models/refund_invoice_request.rb +1 -1
- data/lib/advanced_billing/models/refund_prepayment.rb +3 -1
- data/lib/advanced_billing/models/remove_payment_event.rb +139 -0
- data/lib/advanced_billing/models/remove_payment_event_data.rb +1 -1
- data/lib/advanced_billing/models/segment_price.rb +10 -0
- data/lib/advanced_billing/models/subscription.rb +10 -16
- data/lib/advanced_billing/models/subscription_component.rb +26 -7
- data/lib/advanced_billing/models/subscription_component_subscription.rb +10 -0
- data/lib/advanced_billing/models/subscription_filter.rb +153 -0
- data/lib/advanced_billing/models/subscription_group.rb +2 -2
- data/lib/advanced_billing/models/subscription_group_bank_account.rb +10 -0
- data/lib/advanced_billing/models/subscription_group_component_custom_price.rb +10 -0
- data/lib/advanced_billing/models/subscription_group_prepayment_response.rb +3 -1
- data/lib/advanced_billing/models/subscription_group_signup.rb +2 -2
- data/lib/advanced_billing/models/subscription_group_signup_failure.rb +4 -2
- data/lib/advanced_billing/models/subscription_group_signup_failure_data.rb +10 -0
- data/lib/advanced_billing/models/subscription_group_signup_item.rb +10 -0
- data/lib/advanced_billing/models/subscription_group_signup_response.rb +2 -2
- data/lib/advanced_billing/models/subscription_group_signup_success.rb +8 -4
- data/lib/advanced_billing/models/subscription_group_signup_success_data.rb +50 -0
- data/lib/advanced_billing/models/update_customer.rb +12 -0
- data/lib/advanced_billing/models/update_subscription_component.rb +10 -0
- data/lib/advanced_billing/models/upsert_prepaid_configuration.rb +10 -0
- data/lib/advanced_billing/models/usage.rb +3 -1
- data/lib/advanced_billing/models/void_invoice_event.rb +139 -0
- data/lib/advanced_billing/models/void_invoice_event_data.rb +8 -7
- data/lib/advanced_billing/models/void_remainder_event.rb +139 -0
- data/lib/advanced_billing/models/void_remainder_event_data.rb +4 -2
- data/lib/advanced_billing/utilities/union_type_lookup.rb +69 -199
- data/lib/advanced_billing.rb +42 -18
- metadata +38 -17
- data/lib/advanced_billing/exceptions/refund_prepayment_aggregated_errors_response_exception.rb +0 -33
- data/lib/advanced_billing/models/billing_address.rb +0 -117
- data/lib/advanced_billing/models/credit_note1.rb +0 -419
- data/lib/advanced_billing/models/customer1.rb +0 -125
- data/lib/advanced_billing/models/invoice_event.rb +0 -124
- data/lib/advanced_billing/models/invoice_event_data.rb +0 -447
- data/lib/advanced_billing/models/invoice_event_payment.rb +0 -168
- data/lib/advanced_billing/models/invoice_event_payment1.rb +0 -160
- data/lib/advanced_billing/models/prepayment_aggregated_error.rb +0 -81
- data/lib/advanced_billing/models/price_point.rb +0 -216
- data/lib/advanced_billing/models/refund.rb +0 -138
- data/lib/advanced_billing/models/seller.rb +0 -92
- data/lib/advanced_billing/models/shipping_address.rb +0 -117
@@ -0,0 +1,139 @@
|
|
1
|
+
# advanced_billing
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require 'date'
|
7
|
+
module AdvancedBilling
|
8
|
+
# RefundInvoiceEvent Model.
|
9
|
+
class RefundInvoiceEvent < BaseModel
|
10
|
+
SKIP = Object.new
|
11
|
+
private_constant :SKIP
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [Integer]
|
15
|
+
attr_accessor :id
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [DateTime]
|
19
|
+
attr_accessor :timestamp
|
20
|
+
|
21
|
+
# TODO: Write general description for this method
|
22
|
+
# @return [Invoice]
|
23
|
+
attr_accessor :invoice
|
24
|
+
|
25
|
+
# TODO: Write general description for this method
|
26
|
+
# @return [InvoiceEventType]
|
27
|
+
attr_accessor :event_type
|
28
|
+
|
29
|
+
# Example schema for an `refund_invoice` event
|
30
|
+
# @return [RefundInvoiceEventData]
|
31
|
+
attr_accessor :event_data
|
32
|
+
|
33
|
+
# A mapping from model property names to API property names.
|
34
|
+
def self.names
|
35
|
+
@_hash = {} if @_hash.nil?
|
36
|
+
@_hash['id'] = 'id'
|
37
|
+
@_hash['timestamp'] = 'timestamp'
|
38
|
+
@_hash['invoice'] = 'invoice'
|
39
|
+
@_hash['event_type'] = 'event_type'
|
40
|
+
@_hash['event_data'] = 'event_data'
|
41
|
+
@_hash
|
42
|
+
end
|
43
|
+
|
44
|
+
# An array for optional fields
|
45
|
+
def self.optionals
|
46
|
+
[]
|
47
|
+
end
|
48
|
+
|
49
|
+
# An array for nullable fields
|
50
|
+
def self.nullables
|
51
|
+
[]
|
52
|
+
end
|
53
|
+
|
54
|
+
def initialize(id = nil,
|
55
|
+
timestamp = nil,
|
56
|
+
invoice = nil,
|
57
|
+
event_type = InvoiceEventType::REFUND_INVOICE,
|
58
|
+
event_data = nil,
|
59
|
+
additional_properties = {})
|
60
|
+
@id = id
|
61
|
+
@timestamp = timestamp
|
62
|
+
@invoice = invoice
|
63
|
+
@event_type = event_type
|
64
|
+
@event_data = event_data
|
65
|
+
|
66
|
+
# Add additional model properties to the instance.
|
67
|
+
additional_properties.each do |_name, _value|
|
68
|
+
instance_variable_set("@#{_name}", _value)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
# Creates an instance of the object from a hash.
|
73
|
+
def self.from_hash(hash)
|
74
|
+
return nil unless hash
|
75
|
+
|
76
|
+
# Extract variables from the hash.
|
77
|
+
id = hash.key?('id') ? hash['id'] : nil
|
78
|
+
timestamp = if hash.key?('timestamp')
|
79
|
+
(DateTimeHelper.from_rfc3339(hash['timestamp']) if hash['timestamp'])
|
80
|
+
end
|
81
|
+
invoice = Invoice.from_hash(hash['invoice']) if hash['invoice']
|
82
|
+
event_type = hash['event_type'] ||= InvoiceEventType::REFUND_INVOICE
|
83
|
+
event_data = RefundInvoiceEventData.from_hash(hash['event_data']) if hash['event_data']
|
84
|
+
|
85
|
+
# Clean out expected properties from Hash.
|
86
|
+
names.each_value { |k| hash.delete(k) }
|
87
|
+
|
88
|
+
# Create object from extracted values.
|
89
|
+
RefundInvoiceEvent.new(id,
|
90
|
+
timestamp,
|
91
|
+
invoice,
|
92
|
+
event_type,
|
93
|
+
event_data,
|
94
|
+
hash)
|
95
|
+
end
|
96
|
+
|
97
|
+
def to_custom_timestamp
|
98
|
+
DateTimeHelper.to_rfc3339(timestamp)
|
99
|
+
end
|
100
|
+
|
101
|
+
# Validates an instance of the object from a given value.
|
102
|
+
# @param [RefundInvoiceEvent | Hash] The value against the validation is performed.
|
103
|
+
def self.validate(value)
|
104
|
+
if value.instance_of? self
|
105
|
+
return (
|
106
|
+
APIHelper.valid_type?(value.id,
|
107
|
+
->(val) { val.instance_of? Integer }) and
|
108
|
+
APIHelper.valid_type?(value.timestamp,
|
109
|
+
->(val) { val.instance_of? DateTime }) and
|
110
|
+
APIHelper.valid_type?(value.invoice,
|
111
|
+
->(val) { Invoice.validate(val) },
|
112
|
+
is_model_hash: true) and
|
113
|
+
APIHelper.valid_type?(value.event_type,
|
114
|
+
->(val) { InvoiceEventType.validate(val) }) and
|
115
|
+
APIHelper.valid_type?(value.event_data,
|
116
|
+
->(val) { RefundInvoiceEventData.validate(val) },
|
117
|
+
is_model_hash: true)
|
118
|
+
)
|
119
|
+
end
|
120
|
+
|
121
|
+
return false unless value.instance_of? Hash
|
122
|
+
|
123
|
+
(
|
124
|
+
APIHelper.valid_type?(value['id'],
|
125
|
+
->(val) { val.instance_of? Integer }) and
|
126
|
+
APIHelper.valid_type?(value['timestamp'],
|
127
|
+
->(val) { val.instance_of? String }) and
|
128
|
+
APIHelper.valid_type?(value['invoice'],
|
129
|
+
->(val) { Invoice.validate(val) },
|
130
|
+
is_model_hash: true) and
|
131
|
+
APIHelper.valid_type?(value['event_type'],
|
132
|
+
->(val) { InvoiceEventType.validate(val) }) and
|
133
|
+
APIHelper.valid_type?(value['event_data'],
|
134
|
+
->(val) { RefundInvoiceEventData.validate(val) },
|
135
|
+
is_model_hash: true)
|
136
|
+
)
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
@@ -172,7 +172,8 @@ module AdvancedBilling
|
|
172
172
|
APIHelper.valid_type?(value.apply_credit,
|
173
173
|
->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
|
174
174
|
APIHelper.valid_type?(value.credit_note_attributes,
|
175
|
-
->(val) { CreditNote.validate(val) }
|
175
|
+
->(val) { CreditNote.validate(val) },
|
176
|
+
is_model_hash: true) and
|
176
177
|
APIHelper.valid_type?(value.payment_id,
|
177
178
|
->(val) { val.instance_of? Integer }) and
|
178
179
|
APIHelper.valid_type?(value.refund_amount,
|
@@ -190,7 +191,8 @@ module AdvancedBilling
|
|
190
191
|
APIHelper.valid_type?(value['apply_credit'],
|
191
192
|
->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
|
192
193
|
APIHelper.valid_type?(value['credit_note_attributes'],
|
193
|
-
->(val) { CreditNote.validate(val) }
|
194
|
+
->(val) { CreditNote.validate(val) },
|
195
|
+
is_model_hash: true) and
|
194
196
|
APIHelper.valid_type?(value['payment_id'],
|
195
197
|
->(val) { val.instance_of? Integer }) and
|
196
198
|
APIHelper.valid_type?(value['refund_amount'],
|
@@ -0,0 +1,139 @@
|
|
1
|
+
# advanced_billing
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require 'date'
|
7
|
+
module AdvancedBilling
|
8
|
+
# RemovePaymentEvent Model.
|
9
|
+
class RemovePaymentEvent < BaseModel
|
10
|
+
SKIP = Object.new
|
11
|
+
private_constant :SKIP
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [Integer]
|
15
|
+
attr_accessor :id
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [DateTime]
|
19
|
+
attr_accessor :timestamp
|
20
|
+
|
21
|
+
# TODO: Write general description for this method
|
22
|
+
# @return [Invoice]
|
23
|
+
attr_accessor :invoice
|
24
|
+
|
25
|
+
# TODO: Write general description for this method
|
26
|
+
# @return [InvoiceEventType]
|
27
|
+
attr_accessor :event_type
|
28
|
+
|
29
|
+
# Example schema for an `remove_payment` event
|
30
|
+
# @return [RemovePaymentEventData]
|
31
|
+
attr_accessor :event_data
|
32
|
+
|
33
|
+
# A mapping from model property names to API property names.
|
34
|
+
def self.names
|
35
|
+
@_hash = {} if @_hash.nil?
|
36
|
+
@_hash['id'] = 'id'
|
37
|
+
@_hash['timestamp'] = 'timestamp'
|
38
|
+
@_hash['invoice'] = 'invoice'
|
39
|
+
@_hash['event_type'] = 'event_type'
|
40
|
+
@_hash['event_data'] = 'event_data'
|
41
|
+
@_hash
|
42
|
+
end
|
43
|
+
|
44
|
+
# An array for optional fields
|
45
|
+
def self.optionals
|
46
|
+
[]
|
47
|
+
end
|
48
|
+
|
49
|
+
# An array for nullable fields
|
50
|
+
def self.nullables
|
51
|
+
[]
|
52
|
+
end
|
53
|
+
|
54
|
+
def initialize(id = nil,
|
55
|
+
timestamp = nil,
|
56
|
+
invoice = nil,
|
57
|
+
event_type = InvoiceEventType::REMOVE_PAYMENT,
|
58
|
+
event_data = nil,
|
59
|
+
additional_properties = {})
|
60
|
+
@id = id
|
61
|
+
@timestamp = timestamp
|
62
|
+
@invoice = invoice
|
63
|
+
@event_type = event_type
|
64
|
+
@event_data = event_data
|
65
|
+
|
66
|
+
# Add additional model properties to the instance.
|
67
|
+
additional_properties.each do |_name, _value|
|
68
|
+
instance_variable_set("@#{_name}", _value)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
# Creates an instance of the object from a hash.
|
73
|
+
def self.from_hash(hash)
|
74
|
+
return nil unless hash
|
75
|
+
|
76
|
+
# Extract variables from the hash.
|
77
|
+
id = hash.key?('id') ? hash['id'] : nil
|
78
|
+
timestamp = if hash.key?('timestamp')
|
79
|
+
(DateTimeHelper.from_rfc3339(hash['timestamp']) if hash['timestamp'])
|
80
|
+
end
|
81
|
+
invoice = Invoice.from_hash(hash['invoice']) if hash['invoice']
|
82
|
+
event_type = hash['event_type'] ||= InvoiceEventType::REMOVE_PAYMENT
|
83
|
+
event_data = RemovePaymentEventData.from_hash(hash['event_data']) if hash['event_data']
|
84
|
+
|
85
|
+
# Clean out expected properties from Hash.
|
86
|
+
names.each_value { |k| hash.delete(k) }
|
87
|
+
|
88
|
+
# Create object from extracted values.
|
89
|
+
RemovePaymentEvent.new(id,
|
90
|
+
timestamp,
|
91
|
+
invoice,
|
92
|
+
event_type,
|
93
|
+
event_data,
|
94
|
+
hash)
|
95
|
+
end
|
96
|
+
|
97
|
+
def to_custom_timestamp
|
98
|
+
DateTimeHelper.to_rfc3339(timestamp)
|
99
|
+
end
|
100
|
+
|
101
|
+
# Validates an instance of the object from a given value.
|
102
|
+
# @param [RemovePaymentEvent | Hash] The value against the validation is performed.
|
103
|
+
def self.validate(value)
|
104
|
+
if value.instance_of? self
|
105
|
+
return (
|
106
|
+
APIHelper.valid_type?(value.id,
|
107
|
+
->(val) { val.instance_of? Integer }) and
|
108
|
+
APIHelper.valid_type?(value.timestamp,
|
109
|
+
->(val) { val.instance_of? DateTime }) and
|
110
|
+
APIHelper.valid_type?(value.invoice,
|
111
|
+
->(val) { Invoice.validate(val) },
|
112
|
+
is_model_hash: true) and
|
113
|
+
APIHelper.valid_type?(value.event_type,
|
114
|
+
->(val) { InvoiceEventType.validate(val) }) and
|
115
|
+
APIHelper.valid_type?(value.event_data,
|
116
|
+
->(val) { RemovePaymentEventData.validate(val) },
|
117
|
+
is_model_hash: true)
|
118
|
+
)
|
119
|
+
end
|
120
|
+
|
121
|
+
return false unless value.instance_of? Hash
|
122
|
+
|
123
|
+
(
|
124
|
+
APIHelper.valid_type?(value['id'],
|
125
|
+
->(val) { val.instance_of? Integer }) and
|
126
|
+
APIHelper.valid_type?(value['timestamp'],
|
127
|
+
->(val) { val.instance_of? String }) and
|
128
|
+
APIHelper.valid_type?(value['invoice'],
|
129
|
+
->(val) { Invoice.validate(val) },
|
130
|
+
is_model_hash: true) and
|
131
|
+
APIHelper.valid_type?(value['event_type'],
|
132
|
+
->(val) { InvoiceEventType.validate(val) }) and
|
133
|
+
APIHelper.valid_type?(value['event_data'],
|
134
|
+
->(val) { RemovePaymentEventData.validate(val) },
|
135
|
+
is_model_hash: true)
|
136
|
+
)
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
@@ -32,7 +32,7 @@ module AdvancedBilling
|
|
32
32
|
attr_accessor :transaction_time
|
33
33
|
|
34
34
|
# A nested data structure detailing the method of payment
|
35
|
-
# @return [
|
35
|
+
# @return [Object]
|
36
36
|
attr_accessor :payment_method
|
37
37
|
|
38
38
|
# The flag that shows whether the original payment was a prepayment or not
|
@@ -132,5 +132,15 @@ module AdvancedBilling
|
|
132
132
|
segment_id,
|
133
133
|
hash)
|
134
134
|
end
|
135
|
+
|
136
|
+
# Validates an instance of the object from a given value.
|
137
|
+
# @param [SegmentPrice | Hash] The value against the validation is performed.
|
138
|
+
def self.validate(value)
|
139
|
+
return true if value.instance_of? self
|
140
|
+
|
141
|
+
return false unless value.instance_of? Hash
|
142
|
+
|
143
|
+
true
|
144
|
+
end
|
135
145
|
end
|
136
146
|
end
|
@@ -291,7 +291,8 @@ module AdvancedBilling
|
|
291
291
|
# @return [Integer]
|
292
292
|
attr_accessor :payer_id
|
293
293
|
|
294
|
-
# The balance in cents plus the estimated renewal amount in cents.
|
294
|
+
# The balance in cents plus the estimated renewal amount in cents. Returned
|
295
|
+
# ONLY for readSubscription operation as it's compute intensive operation.
|
295
296
|
# @return [Integer]
|
296
297
|
attr_accessor :current_billing_amount_in_cents
|
297
298
|
|
@@ -530,13 +531,17 @@ module AdvancedBilling
|
|
530
531
|
# An array for nullable fields
|
531
532
|
def self.nullables
|
532
533
|
%w[
|
534
|
+
current_period_ends_at
|
535
|
+
next_assessment_at
|
533
536
|
trial_started_at
|
534
537
|
trial_ended_at
|
538
|
+
activated_at
|
535
539
|
expires_at
|
536
540
|
cancellation_message
|
537
541
|
cancellation_method
|
538
542
|
cancel_at_end_of_period
|
539
543
|
canceled_at
|
544
|
+
current_period_started_at
|
540
545
|
delayed_cancel_at
|
541
546
|
coupon_code
|
542
547
|
snap_day
|
@@ -560,6 +565,7 @@ module AdvancedBilling
|
|
560
565
|
receives_invoice_emails
|
561
566
|
locale
|
562
567
|
scheduled_cancellation_at
|
568
|
+
prepaid_configuration
|
563
569
|
]
|
564
570
|
end
|
565
571
|
|
@@ -588,7 +594,7 @@ module AdvancedBilling
|
|
588
594
|
delayed_cancel_at = SKIP,
|
589
595
|
coupon_code = SKIP,
|
590
596
|
snap_day = SKIP,
|
591
|
-
payment_collection_method =
|
597
|
+
payment_collection_method = SKIP,
|
592
598
|
customer = SKIP,
|
593
599
|
product = SKIP,
|
594
600
|
credit_card = SKIP,
|
@@ -807,13 +813,11 @@ module AdvancedBilling
|
|
807
813
|
coupon_code = hash.key?('coupon_code') ? hash['coupon_code'] : SKIP
|
808
814
|
snap_day = hash.key?('snap_day') ? hash['snap_day'] : SKIP
|
809
815
|
payment_collection_method =
|
810
|
-
hash['payment_collection_method']
|
816
|
+
hash.key?('payment_collection_method') ? hash['payment_collection_method'] : SKIP
|
811
817
|
customer = Customer.from_hash(hash['customer']) if hash['customer']
|
812
818
|
product = Product.from_hash(hash['product']) if hash['product']
|
813
819
|
credit_card = CreditCardPaymentProfile.from_hash(hash['credit_card']) if hash['credit_card']
|
814
|
-
group =
|
815
|
-
UnionTypeLookUp.get(:SubscriptionGroup2), hash['group']
|
816
|
-
) : SKIP
|
820
|
+
group = NestedSubscriptionGroup.from_hash(hash['group']) if hash['group']
|
817
821
|
bank_account = BankAccountPaymentProfile.from_hash(hash['bank_account']) if
|
818
822
|
hash['bank_account']
|
819
823
|
payment_type = hash.key?('payment_type') ? hash['payment_type'] : SKIP
|
@@ -1010,15 +1014,5 @@ module AdvancedBilling
|
|
1010
1014
|
def to_custom_scheduled_cancellation_at
|
1011
1015
|
DateTimeHelper.to_rfc3339(scheduled_cancellation_at)
|
1012
1016
|
end
|
1013
|
-
|
1014
|
-
# Validates an instance of the object from a given value.
|
1015
|
-
# @param [Subscription | Hash] The value against the validation is performed.
|
1016
|
-
def self.validate(value)
|
1017
|
-
return true if value.instance_of? self
|
1018
|
-
|
1019
|
-
return false unless value.instance_of? Hash
|
1020
|
-
|
1021
|
-
true
|
1022
|
-
end
|
1023
1017
|
end
|
1024
1018
|
end
|
@@ -110,7 +110,7 @@ module AdvancedBilling
|
|
110
110
|
# The type of credit to be created when upgrading/downgrading. Defaults to
|
111
111
|
# the component and then site setting if one is not provided.
|
112
112
|
# Available values: `full`, `prorated`, `none`.
|
113
|
-
# @return [
|
113
|
+
# @return [PricePointType]
|
114
114
|
attr_accessor :price_point_type
|
115
115
|
|
116
116
|
# The type of credit to be created when upgrading/downgrading. Defaults to
|
@@ -166,6 +166,11 @@ module AdvancedBilling
|
|
166
166
|
# @return [SubscriptionComponentSubscription]
|
167
167
|
attr_accessor :subscription
|
168
168
|
|
169
|
+
# An optional object, will be returned if provided `include=subscription`
|
170
|
+
# query param.
|
171
|
+
# @return [Array[HistoricUsage]]
|
172
|
+
attr_accessor :historic_usages
|
173
|
+
|
169
174
|
# An optional object, will be returned if provided `include=subscription`
|
170
175
|
# query param.
|
171
176
|
# @return [TrueClass | FalseClass]
|
@@ -215,6 +220,7 @@ module AdvancedBilling
|
|
215
220
|
@_hash['description'] = 'description'
|
216
221
|
@_hash['allow_fractional_quantities'] = 'allow_fractional_quantities'
|
217
222
|
@_hash['subscription'] = 'subscription'
|
223
|
+
@_hash['historic_usages'] = 'historic_usages'
|
218
224
|
@_hash['display_on_hosted_page'] = 'display_on_hosted_page'
|
219
225
|
@_hash['interval'] = 'interval'
|
220
226
|
@_hash['interval_unit'] = 'interval_unit'
|
@@ -252,6 +258,7 @@ module AdvancedBilling
|
|
252
258
|
description
|
253
259
|
allow_fractional_quantities
|
254
260
|
subscription
|
261
|
+
historic_usages
|
255
262
|
display_on_hosted_page
|
256
263
|
interval
|
257
264
|
interval_unit
|
@@ -268,6 +275,7 @@ module AdvancedBilling
|
|
268
275
|
archived_at
|
269
276
|
price_point_id
|
270
277
|
price_point_handle
|
278
|
+
price_point_type
|
271
279
|
price_point_name
|
272
280
|
use_site_exchange_rate
|
273
281
|
description
|
@@ -302,6 +310,7 @@ module AdvancedBilling
|
|
302
310
|
description = SKIP,
|
303
311
|
allow_fractional_quantities = SKIP,
|
304
312
|
subscription = SKIP,
|
313
|
+
historic_usages = SKIP,
|
305
314
|
display_on_hosted_page = SKIP,
|
306
315
|
interval = SKIP,
|
307
316
|
interval_unit = SKIP,
|
@@ -337,6 +346,7 @@ module AdvancedBilling
|
|
337
346
|
allow_fractional_quantities
|
338
347
|
end
|
339
348
|
@subscription = subscription unless subscription == SKIP
|
349
|
+
@historic_usages = historic_usages unless historic_usages == SKIP
|
340
350
|
@display_on_hosted_page = display_on_hosted_page unless display_on_hosted_page == SKIP
|
341
351
|
@interval = interval unless interval == SKIP
|
342
352
|
@interval_unit = interval_unit unless interval_unit == SKIP
|
@@ -362,9 +372,8 @@ module AdvancedBilling
|
|
362
372
|
allocated_quantity = hash.key?('allocated_quantity') ? APIHelper.deserialize_union_type(
|
363
373
|
UnionTypeLookUp.get(:SubscriptionComponentAllocatedQuantity), hash['allocated_quantity']
|
364
374
|
) : SKIP
|
365
|
-
pricing_scheme =
|
366
|
-
|
367
|
-
) : SKIP
|
375
|
+
pricing_scheme =
|
376
|
+
hash.key?('pricing_scheme') ? hash['pricing_scheme'] : SKIP
|
368
377
|
component_id = hash.key?('component_id') ? hash['component_id'] : SKIP
|
369
378
|
component_handle =
|
370
379
|
hash.key?('component_handle') ? hash['component_handle'] : SKIP
|
@@ -384,9 +393,8 @@ module AdvancedBilling
|
|
384
393
|
hash.key?('price_point_id') ? hash['price_point_id'] : SKIP
|
385
394
|
price_point_handle =
|
386
395
|
hash.key?('price_point_handle') ? hash['price_point_handle'] : SKIP
|
387
|
-
price_point_type =
|
388
|
-
|
389
|
-
) : SKIP
|
396
|
+
price_point_type =
|
397
|
+
hash.key?('price_point_type') ? hash['price_point_type'] : SKIP
|
390
398
|
price_point_name =
|
391
399
|
hash.key?('price_point_name') ? hash['price_point_name'] : SKIP
|
392
400
|
product_family_id =
|
@@ -410,6 +418,16 @@ module AdvancedBilling
|
|
410
418
|
hash.key?('allow_fractional_quantities') ? hash['allow_fractional_quantities'] : SKIP
|
411
419
|
subscription = SubscriptionComponentSubscription.from_hash(hash['subscription']) if
|
412
420
|
hash['subscription']
|
421
|
+
# Parameter is an array, so we need to iterate through it
|
422
|
+
historic_usages = nil
|
423
|
+
unless hash['historic_usages'].nil?
|
424
|
+
historic_usages = []
|
425
|
+
hash['historic_usages'].each do |structure|
|
426
|
+
historic_usages << (HistoricUsage.from_hash(structure) if structure)
|
427
|
+
end
|
428
|
+
end
|
429
|
+
|
430
|
+
historic_usages = SKIP unless hash.key?('historic_usages')
|
413
431
|
display_on_hosted_page =
|
414
432
|
hash.key?('display_on_hosted_page') ? hash['display_on_hosted_page'] : SKIP
|
415
433
|
interval = hash.key?('interval') ? hash['interval'] : SKIP
|
@@ -447,6 +465,7 @@ module AdvancedBilling
|
|
447
465
|
description,
|
448
466
|
allow_fractional_quantities,
|
449
467
|
subscription,
|
468
|
+
historic_usages,
|
450
469
|
display_on_hosted_page,
|
451
470
|
interval,
|
452
471
|
interval_unit,
|
@@ -212,5 +212,15 @@ module AdvancedBilling
|
|
212
212
|
def to_custom_updated_at
|
213
213
|
DateTimeHelper.to_rfc3339(updated_at)
|
214
214
|
end
|
215
|
+
|
216
|
+
# Validates an instance of the object from a given value.
|
217
|
+
# @param [SubscriptionComponentSubscription | Hash] The value against the validation is performed.
|
218
|
+
def self.validate(value)
|
219
|
+
return true if value.instance_of? self
|
220
|
+
|
221
|
+
return false unless value.instance_of? Hash
|
222
|
+
|
223
|
+
true
|
224
|
+
end
|
215
225
|
end
|
216
226
|
end
|