maxio-advanced-billing-sdk 2.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
@@ -227,7 +227,9 @@ module AdvancedBilling
|
|
|
227
227
|
APIHelper.valid_type?(value.consolidation_level,
|
|
228
228
|
->(val) { val.instance_of? String }) and
|
|
229
229
|
APIHelper.valid_type?(value.line_items,
|
|
230
|
-
->(val) { InvoiceLineItemEventData.validate(val) }
|
|
230
|
+
->(val) { InvoiceLineItemEventData.validate(val) },
|
|
231
|
+
is_model_hash: true,
|
|
232
|
+
is_inner_model_hash: true)
|
|
231
233
|
)
|
|
232
234
|
end
|
|
233
235
|
|
|
@@ -263,7 +265,9 @@ module AdvancedBilling
|
|
|
263
265
|
APIHelper.valid_type?(value['consolidation_level'],
|
|
264
266
|
->(val) { val.instance_of? String }) and
|
|
265
267
|
APIHelper.valid_type?(value['line_items'],
|
|
266
|
-
->(val) { InvoiceLineItemEventData.validate(val) }
|
|
268
|
+
->(val) { InvoiceLineItemEventData.validate(val) },
|
|
269
|
+
is_model_hash: true,
|
|
270
|
+
is_inner_model_hash: true)
|
|
267
271
|
)
|
|
268
272
|
end
|
|
269
273
|
end
|
|
@@ -302,9 +302,9 @@ module AdvancedBilling
|
|
|
302
302
|
price_point_id =
|
|
303
303
|
hash.key?('price_point_id') ? hash['price_point_id'] : SKIP
|
|
304
304
|
hide = hash.key?('hide') ? hash['hide'] : SKIP
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
305
|
+
if hash['component_cost_data']
|
|
306
|
+
component_cost_data = InvoiceLineItemComponentCostData.from_hash(hash['component_cost_data'])
|
|
307
|
+
end
|
|
308
308
|
product_price_point_id =
|
|
309
309
|
hash.key?('product_price_point_id') ? hash['product_price_point_id'] : SKIP
|
|
310
310
|
custom_item = hash.key?('custom_item') ? hash['custom_item'] : SKIP
|
|
@@ -272,5 +272,15 @@ module AdvancedBilling
|
|
|
272
272
|
custom_item,
|
|
273
273
|
hash)
|
|
274
274
|
end
|
|
275
|
+
|
|
276
|
+
# Validates an instance of the object from a given value.
|
|
277
|
+
# @param [InvoiceLineItemEventData | Hash] The value against the validation is performed.
|
|
278
|
+
def self.validate(value)
|
|
279
|
+
return true if value.instance_of? self
|
|
280
|
+
|
|
281
|
+
return false unless value.instance_of? Hash
|
|
282
|
+
|
|
283
|
+
true
|
|
284
|
+
end
|
|
275
285
|
end
|
|
276
286
|
end
|
|
@@ -66,5 +66,15 @@ module AdvancedBilling
|
|
|
66
66
|
amount,
|
|
67
67
|
hash)
|
|
68
68
|
end
|
|
69
|
+
|
|
70
|
+
# Validates an instance of the object from a given value.
|
|
71
|
+
# @param [InvoiceLineItemPricingDetail | Hash] The value against the validation is performed.
|
|
72
|
+
def self.validate(value)
|
|
73
|
+
return true if value.instance_of? self
|
|
74
|
+
|
|
75
|
+
return false unless value.instance_of? Hash
|
|
76
|
+
|
|
77
|
+
true
|
|
78
|
+
end
|
|
69
79
|
end
|
|
70
80
|
end
|
|
@@ -109,5 +109,15 @@ module AdvancedBilling
|
|
|
109
109
|
vat_number,
|
|
110
110
|
hash)
|
|
111
111
|
end
|
|
112
|
+
|
|
113
|
+
# Validates an instance of the object from a given value.
|
|
114
|
+
# @param [InvoicePayer | Hash] The value against the validation is performed.
|
|
115
|
+
def self.validate(value)
|
|
116
|
+
return true if value.instance_of? self
|
|
117
|
+
|
|
118
|
+
return false unless value.instance_of? Hash
|
|
119
|
+
|
|
120
|
+
true
|
|
121
|
+
end
|
|
112
122
|
end
|
|
113
123
|
end
|
|
@@ -164,5 +164,15 @@ module AdvancedBilling
|
|
|
164
164
|
def to_custom_transaction_time
|
|
165
165
|
DateTimeHelper.to_rfc3339(transaction_time)
|
|
166
166
|
end
|
|
167
|
+
|
|
168
|
+
# Validates an instance of the object from a given value.
|
|
169
|
+
# @param [InvoicePayment | Hash] The value against the validation is performed.
|
|
170
|
+
def self.validate(value)
|
|
171
|
+
return true if value.instance_of? self
|
|
172
|
+
|
|
173
|
+
return false unless value.instance_of? Hash
|
|
174
|
+
|
|
175
|
+
true
|
|
176
|
+
end
|
|
167
177
|
end
|
|
168
178
|
end
|
|
@@ -130,5 +130,15 @@ module AdvancedBilling
|
|
|
130
130
|
masked_card_number,
|
|
131
131
|
hash)
|
|
132
132
|
end
|
|
133
|
+
|
|
134
|
+
# Validates an instance of the object from a given value.
|
|
135
|
+
# @param [InvoicePaymentMethod | Hash] The value against the validation is performed.
|
|
136
|
+
def self.validate(value)
|
|
137
|
+
return true if value.instance_of? self
|
|
138
|
+
|
|
139
|
+
return false unless value.instance_of? Hash
|
|
140
|
+
|
|
141
|
+
true
|
|
142
|
+
end
|
|
133
143
|
end
|
|
134
144
|
end
|
|
@@ -81,15 +81,5 @@ module AdvancedBilling
|
|
|
81
81
|
ending_balance_in_cents,
|
|
82
82
|
hash)
|
|
83
83
|
end
|
|
84
|
-
|
|
85
|
-
# Validates an instance of the object from a given value.
|
|
86
|
-
# @param [InvoicePrePayment | Hash] The value against the validation is performed.
|
|
87
|
-
def self.validate(value)
|
|
88
|
-
return true if value.instance_of? self
|
|
89
|
-
|
|
90
|
-
return false unless value.instance_of? Hash
|
|
91
|
-
|
|
92
|
-
true
|
|
93
|
-
end
|
|
94
84
|
end
|
|
95
85
|
end
|
|
@@ -84,5 +84,15 @@ module AdvancedBilling
|
|
|
84
84
|
def to_custom_captured_at
|
|
85
85
|
DateTimeHelper.to_rfc3339(captured_at)
|
|
86
86
|
end
|
|
87
|
+
|
|
88
|
+
# Validates an instance of the object from a given value.
|
|
89
|
+
# @param [InvoicePreviousBalance | Hash] The value against the validation is performed.
|
|
90
|
+
def self.validate(value)
|
|
91
|
+
return true if value.instance_of? self
|
|
92
|
+
|
|
93
|
+
return false unless value.instance_of? Hash
|
|
94
|
+
|
|
95
|
+
true
|
|
96
|
+
end
|
|
87
97
|
end
|
|
88
98
|
end
|
|
@@ -134,5 +134,15 @@ module AdvancedBilling
|
|
|
134
134
|
gateway_handle,
|
|
135
135
|
hash)
|
|
136
136
|
end
|
|
137
|
+
|
|
138
|
+
# Validates an instance of the object from a given value.
|
|
139
|
+
# @param [InvoiceRefund | Hash] The value against the validation is performed.
|
|
140
|
+
def self.validate(value)
|
|
141
|
+
return true if value.instance_of? self
|
|
142
|
+
|
|
143
|
+
return false unless value.instance_of? Hash
|
|
144
|
+
|
|
145
|
+
true
|
|
146
|
+
end
|
|
137
147
|
end
|
|
138
148
|
end
|
|
@@ -89,5 +89,15 @@ module AdvancedBilling
|
|
|
89
89
|
logo_url,
|
|
90
90
|
hash)
|
|
91
91
|
end
|
|
92
|
+
|
|
93
|
+
# Validates an instance of the object from a given value.
|
|
94
|
+
# @param [InvoiceSeller | Hash] The value against the validation is performed.
|
|
95
|
+
def self.validate(value)
|
|
96
|
+
return true if value.instance_of? self
|
|
97
|
+
|
|
98
|
+
return false unless value.instance_of? Hash
|
|
99
|
+
|
|
100
|
+
true
|
|
101
|
+
end
|
|
92
102
|
end
|
|
93
103
|
end
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
module AdvancedBilling
|
|
7
7
|
# The current status of the invoice. See [Invoice
|
|
8
|
-
# Statuses](https://chargify.zendesk.com/hc/en-us/articles/
|
|
9
|
-
#
|
|
8
|
+
# Statuses](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405078794253
|
|
9
|
+
# -Introduction-to-Invoices#invoice-statuses) for more.
|
|
10
10
|
class InvoiceStatus
|
|
11
11
|
INVOICE_STATUS = [
|
|
12
12
|
# TODO: Write general description for DRAFT
|
|
@@ -178,5 +178,15 @@ module AdvancedBilling
|
|
|
178
178
|
tax_component_breakouts,
|
|
179
179
|
hash)
|
|
180
180
|
end
|
|
181
|
+
|
|
182
|
+
# Validates an instance of the object from a given value.
|
|
183
|
+
# @param [InvoiceTax | Hash] The value against the validation is performed.
|
|
184
|
+
def self.validate(value)
|
|
185
|
+
return true if value.instance_of? self
|
|
186
|
+
|
|
187
|
+
return false unless value.instance_of? Hash
|
|
188
|
+
|
|
189
|
+
true
|
|
190
|
+
end
|
|
181
191
|
end
|
|
182
192
|
end
|
|
@@ -88,5 +88,15 @@ module AdvancedBilling
|
|
|
88
88
|
tax_exempt_amount,
|
|
89
89
|
hash)
|
|
90
90
|
end
|
|
91
|
+
|
|
92
|
+
# Validates an instance of the object from a given value.
|
|
93
|
+
# @param [InvoiceTaxBreakout | Hash] The value against the validation is performed.
|
|
94
|
+
def self.validate(value)
|
|
95
|
+
return true if value.instance_of? self
|
|
96
|
+
|
|
97
|
+
return false unless value.instance_of? Hash
|
|
98
|
+
|
|
99
|
+
true
|
|
100
|
+
end
|
|
91
101
|
end
|
|
92
102
|
end
|
|
@@ -87,5 +87,15 @@ module AdvancedBilling
|
|
|
87
87
|
subdivision_code,
|
|
88
88
|
hash)
|
|
89
89
|
end
|
|
90
|
+
|
|
91
|
+
# Validates an instance of the object from a given value.
|
|
92
|
+
# @param [InvoiceTaxComponentBreakout | Hash] The value against the validation is performed.
|
|
93
|
+
def self.validate(value)
|
|
94
|
+
return true if value.instance_of? self
|
|
95
|
+
|
|
96
|
+
return false unless value.instance_of? Hash
|
|
97
|
+
|
|
98
|
+
true
|
|
99
|
+
end
|
|
90
100
|
end
|
|
91
101
|
end
|
|
@@ -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
|
+
# IssueInvoiceEvent Model.
|
|
9
|
+
class IssueInvoiceEvent < 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 `issue_invoice` event
|
|
30
|
+
# @return [IssueInvoiceEventData]
|
|
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::ISSUE_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::ISSUE_INVOICE
|
|
83
|
+
event_data = IssueInvoiceEventData.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
|
+
IssueInvoiceEvent.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 [IssueInvoiceEvent | 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) { IssueInvoiceEventData.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) { IssueInvoiceEventData.validate(val) },
|
|
135
|
+
is_model_hash: true)
|
|
136
|
+
)
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
end
|
|
@@ -24,15 +24,15 @@ module AdvancedBilling
|
|
|
24
24
|
# @return [InvoiceConsolidationLevel]
|
|
25
25
|
attr_accessor :consolidation_level
|
|
26
26
|
|
|
27
|
-
# The status of the invoice before event
|
|
28
|
-
# Statuses](https://chargify.zendesk.com/hc/en-us/articles/
|
|
29
|
-
#
|
|
27
|
+
# The status of the invoice before event occurrence. See [Invoice
|
|
28
|
+
# Statuses](https://maxio-chargify.zendesk.com/hc/en-us/articles/54050787942
|
|
29
|
+
# 53-Introduction-to-Invoices#invoice-statusess) for more.
|
|
30
30
|
# @return [InvoiceStatus]
|
|
31
31
|
attr_accessor :from_status
|
|
32
32
|
|
|
33
|
-
# The status of the invoice after event
|
|
34
|
-
# Statuses](https://chargify.zendesk.com/hc/en-us/articles/
|
|
35
|
-
#
|
|
33
|
+
# The status of the invoice after event occurrence. See [Invoice
|
|
34
|
+
# Statuses](https://maxio-chargify.zendesk.com/hc/en-us/articles/54050787942
|
|
35
|
+
# 53-Introduction-to-Invoices#invoice-statusess) for more.
|
|
36
36
|
# @return [InvoiceStatus]
|
|
37
37
|
attr_accessor :to_status
|
|
38
38
|
|
|
@@ -27,7 +27,9 @@ module AdvancedBilling
|
|
|
27
27
|
|
|
28
28
|
# An array for optional fields
|
|
29
29
|
def self.optionals
|
|
30
|
-
[
|
|
30
|
+
%w[
|
|
31
|
+
memo
|
|
32
|
+
]
|
|
31
33
|
end
|
|
32
34
|
|
|
33
35
|
# An array for nullable fields
|
|
@@ -36,10 +38,10 @@ module AdvancedBilling
|
|
|
36
38
|
end
|
|
37
39
|
|
|
38
40
|
def initialize(amount = nil,
|
|
39
|
-
memo =
|
|
41
|
+
memo = SKIP,
|
|
40
42
|
additional_properties = {})
|
|
41
43
|
@amount = amount
|
|
42
|
-
@memo = memo
|
|
44
|
+
@memo = memo unless memo == SKIP
|
|
43
45
|
|
|
44
46
|
# Add additional model properties to the instance.
|
|
45
47
|
additional_properties.each do |_name, _value|
|
|
@@ -55,7 +57,7 @@ module AdvancedBilling
|
|
|
55
57
|
amount = hash.key?('amount') ? APIHelper.deserialize_union_type(
|
|
56
58
|
UnionTypeLookUp.get(:IssueServiceCreditAmount), hash['amount']
|
|
57
59
|
) : nil
|
|
58
|
-
memo = hash.key?('memo') ? hash['memo'] :
|
|
60
|
+
memo = hash.key?('memo') ? hash['memo'] : SKIP
|
|
59
61
|
|
|
60
62
|
# Clean out expected properties from Hash.
|
|
61
63
|
names.each_value { |k| hash.delete(k) }
|
|
@@ -70,22 +72,14 @@ module AdvancedBilling
|
|
|
70
72
|
# @param [IssueServiceCredit | Hash] The value against the validation is performed.
|
|
71
73
|
def self.validate(value)
|
|
72
74
|
if value.instance_of? self
|
|
73
|
-
return (
|
|
74
|
-
|
|
75
|
-
.validate(value.amount) and
|
|
76
|
-
APIHelper.valid_type?(value.memo,
|
|
77
|
-
->(val) { val.instance_of? String })
|
|
78
|
-
)
|
|
75
|
+
return UnionTypeLookUp.get(:IssueServiceCreditAmount)
|
|
76
|
+
.validate(value.amount)
|
|
79
77
|
end
|
|
80
78
|
|
|
81
79
|
return false unless value.instance_of? Hash
|
|
82
80
|
|
|
83
|
-
(
|
|
84
|
-
|
|
85
|
-
.validate(value['amount']) and
|
|
86
|
-
APIHelper.valid_type?(value['memo'],
|
|
87
|
-
->(val) { val.instance_of? String })
|
|
88
|
-
)
|
|
81
|
+
UnionTypeLookUp.get(:IssueServiceCreditAmount)
|
|
82
|
+
.validate(value['amount'])
|
|
89
83
|
end
|
|
90
84
|
end
|
|
91
85
|
end
|
|
@@ -116,9 +116,11 @@ module AdvancedBilling
|
|
|
116
116
|
APIHelper.valid_type?(value.item_name,
|
|
117
117
|
->(val) { val.instance_of? String }) and
|
|
118
118
|
APIHelper.valid_type?(value.previous_price_point,
|
|
119
|
-
->(val) { ItemPricePointData.validate(val) }
|
|
119
|
+
->(val) { ItemPricePointData.validate(val) },
|
|
120
|
+
is_model_hash: true) and
|
|
120
121
|
APIHelper.valid_type?(value.current_price_point,
|
|
121
|
-
->(val) { ItemPricePointData.validate(val) }
|
|
122
|
+
->(val) { ItemPricePointData.validate(val) },
|
|
123
|
+
is_model_hash: true)
|
|
122
124
|
)
|
|
123
125
|
end
|
|
124
126
|
|
|
@@ -134,9 +136,11 @@ module AdvancedBilling
|
|
|
134
136
|
APIHelper.valid_type?(value['item_name'],
|
|
135
137
|
->(val) { val.instance_of? String }) and
|
|
136
138
|
APIHelper.valid_type?(value['previous_price_point'],
|
|
137
|
-
->(val) { ItemPricePointData.validate(val) }
|
|
139
|
+
->(val) { ItemPricePointData.validate(val) },
|
|
140
|
+
is_model_hash: true) and
|
|
138
141
|
APIHelper.valid_type?(value['current_price_point'],
|
|
139
|
-
->(val) { ItemPricePointData.validate(val) }
|
|
142
|
+
->(val) { ItemPricePointData.validate(val) },
|
|
143
|
+
is_model_hash: true)
|
|
140
144
|
)
|
|
141
145
|
end
|
|
142
146
|
end
|
|
@@ -76,5 +76,15 @@ module AdvancedBilling
|
|
|
76
76
|
name,
|
|
77
77
|
hash)
|
|
78
78
|
end
|
|
79
|
+
|
|
80
|
+
# Validates an instance of the object from a given value.
|
|
81
|
+
# @param [ItemPricePointData | Hash] The value against the validation is performed.
|
|
82
|
+
def self.validate(value)
|
|
83
|
+
return true if value.instance_of? self
|
|
84
|
+
|
|
85
|
+
return false unless value.instance_of? Hash
|
|
86
|
+
|
|
87
|
+
true
|
|
88
|
+
end
|
|
79
89
|
end
|
|
80
90
|
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# advanced_billing
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module AdvancedBilling
|
|
7
|
+
# ListComponentsFilter Model.
|
|
8
|
+
class ListComponentsFilter < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Allows fetching components with matching id based on provided value. Use
|
|
13
|
+
# in query `filter[ids]=1,2,3`.
|
|
14
|
+
# @return [Array[Integer]]
|
|
15
|
+
attr_accessor :ids
|
|
16
|
+
|
|
17
|
+
# Allows fetching components with matching use_site_exchange_rate based on
|
|
18
|
+
# provided value (refers to default price point). Use in query
|
|
19
|
+
# `filter[use_site_exchange_rate]=true`.
|
|
20
|
+
# @return [TrueClass | FalseClass]
|
|
21
|
+
attr_accessor :use_site_exchange_rate
|
|
22
|
+
|
|
23
|
+
# A mapping from model property names to API property names.
|
|
24
|
+
def self.names
|
|
25
|
+
@_hash = {} if @_hash.nil?
|
|
26
|
+
@_hash['ids'] = 'ids'
|
|
27
|
+
@_hash['use_site_exchange_rate'] = 'use_site_exchange_rate'
|
|
28
|
+
@_hash
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# An array for optional fields
|
|
32
|
+
def self.optionals
|
|
33
|
+
%w[
|
|
34
|
+
ids
|
|
35
|
+
use_site_exchange_rate
|
|
36
|
+
]
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# An array for nullable fields
|
|
40
|
+
def self.nullables
|
|
41
|
+
[]
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def initialize(ids = SKIP,
|
|
45
|
+
use_site_exchange_rate = SKIP,
|
|
46
|
+
additional_properties = {})
|
|
47
|
+
@ids = ids unless ids == SKIP
|
|
48
|
+
@use_site_exchange_rate = use_site_exchange_rate unless use_site_exchange_rate == SKIP
|
|
49
|
+
|
|
50
|
+
# Add additional model properties to the instance.
|
|
51
|
+
additional_properties.each do |_name, _value|
|
|
52
|
+
instance_variable_set("@#{_name}", _value)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Creates an instance of the object from a hash.
|
|
57
|
+
def self.from_hash(hash)
|
|
58
|
+
return nil unless hash
|
|
59
|
+
|
|
60
|
+
# Extract variables from the hash.
|
|
61
|
+
ids = hash.key?('ids') ? hash['ids'] : SKIP
|
|
62
|
+
use_site_exchange_rate =
|
|
63
|
+
hash.key?('use_site_exchange_rate') ? hash['use_site_exchange_rate'] : SKIP
|
|
64
|
+
|
|
65
|
+
# Clean out expected properties from Hash.
|
|
66
|
+
names.each_value { |k| hash.delete(k) }
|
|
67
|
+
|
|
68
|
+
# Create object from extracted values.
|
|
69
|
+
ListComponentsFilter.new(ids,
|
|
70
|
+
use_site_exchange_rate,
|
|
71
|
+
hash)
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|