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
|
+
# FailedPaymentEvent Model.
|
9
|
+
class FailedPaymentEvent < 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 `failed_payment` event
|
30
|
+
# @return [FailedPaymentEventData]
|
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::FAILED_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::FAILED_PAYMENT
|
83
|
+
event_data = FailedPaymentEventData.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
|
+
FailedPaymentEvent.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 [FailedPaymentEvent | 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) { FailedPaymentEventData.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) { FailedPaymentEventData.validate(val) },
|
135
|
+
is_model_hash: true)
|
136
|
+
)
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
@@ -0,0 +1,132 @@
|
|
1
|
+
# advanced_billing
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module AdvancedBilling
|
7
|
+
# Example schema for an `failed_payment` event
|
8
|
+
class FailedPaymentEventData < BaseModel
|
9
|
+
SKIP = Object.new
|
10
|
+
private_constant :SKIP
|
11
|
+
|
12
|
+
# The monetary value of the payment, expressed in cents.
|
13
|
+
# @return [Integer]
|
14
|
+
attr_accessor :amount_in_cents
|
15
|
+
|
16
|
+
# The monetary value of the payment, expressed in dollars.
|
17
|
+
# @return [Integer]
|
18
|
+
attr_accessor :applied_amount
|
19
|
+
|
20
|
+
# The memo passed when the payment was created.
|
21
|
+
# @return [String]
|
22
|
+
attr_accessor :memo
|
23
|
+
|
24
|
+
# The memo passed when the payment was created.
|
25
|
+
# @return [InvoicePaymentMethodType]
|
26
|
+
attr_accessor :payment_method
|
27
|
+
|
28
|
+
# The transaction ID of the failed payment.
|
29
|
+
# @return [Integer]
|
30
|
+
attr_accessor :transaction_id
|
31
|
+
|
32
|
+
# A mapping from model property names to API property names.
|
33
|
+
def self.names
|
34
|
+
@_hash = {} if @_hash.nil?
|
35
|
+
@_hash['amount_in_cents'] = 'amount_in_cents'
|
36
|
+
@_hash['applied_amount'] = 'applied_amount'
|
37
|
+
@_hash['memo'] = 'memo'
|
38
|
+
@_hash['payment_method'] = 'payment_method'
|
39
|
+
@_hash['transaction_id'] = 'transaction_id'
|
40
|
+
@_hash
|
41
|
+
end
|
42
|
+
|
43
|
+
# An array for optional fields
|
44
|
+
def self.optionals
|
45
|
+
%w[
|
46
|
+
memo
|
47
|
+
]
|
48
|
+
end
|
49
|
+
|
50
|
+
# An array for nullable fields
|
51
|
+
def self.nullables
|
52
|
+
%w[
|
53
|
+
memo
|
54
|
+
]
|
55
|
+
end
|
56
|
+
|
57
|
+
def initialize(amount_in_cents = nil,
|
58
|
+
applied_amount = nil,
|
59
|
+
payment_method = nil,
|
60
|
+
transaction_id = nil,
|
61
|
+
memo = SKIP,
|
62
|
+
additional_properties = {})
|
63
|
+
@amount_in_cents = amount_in_cents
|
64
|
+
@applied_amount = applied_amount
|
65
|
+
@memo = memo unless memo == SKIP
|
66
|
+
@payment_method = payment_method
|
67
|
+
@transaction_id = transaction_id
|
68
|
+
|
69
|
+
# Add additional model properties to the instance.
|
70
|
+
additional_properties.each do |_name, _value|
|
71
|
+
instance_variable_set("@#{_name}", _value)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# Creates an instance of the object from a hash.
|
76
|
+
def self.from_hash(hash)
|
77
|
+
return nil unless hash
|
78
|
+
|
79
|
+
# Extract variables from the hash.
|
80
|
+
amount_in_cents =
|
81
|
+
hash.key?('amount_in_cents') ? hash['amount_in_cents'] : nil
|
82
|
+
applied_amount =
|
83
|
+
hash.key?('applied_amount') ? hash['applied_amount'] : nil
|
84
|
+
payment_method =
|
85
|
+
hash.key?('payment_method') ? hash['payment_method'] : nil
|
86
|
+
transaction_id =
|
87
|
+
hash.key?('transaction_id') ? hash['transaction_id'] : nil
|
88
|
+
memo = hash.key?('memo') ? hash['memo'] : SKIP
|
89
|
+
|
90
|
+
# Clean out expected properties from Hash.
|
91
|
+
names.each_value { |k| hash.delete(k) }
|
92
|
+
|
93
|
+
# Create object from extracted values.
|
94
|
+
FailedPaymentEventData.new(amount_in_cents,
|
95
|
+
applied_amount,
|
96
|
+
payment_method,
|
97
|
+
transaction_id,
|
98
|
+
memo,
|
99
|
+
hash)
|
100
|
+
end
|
101
|
+
|
102
|
+
# Validates an instance of the object from a given value.
|
103
|
+
# @param [FailedPaymentEventData | Hash] The value against the validation is performed.
|
104
|
+
def self.validate(value)
|
105
|
+
if value.instance_of? self
|
106
|
+
return (
|
107
|
+
APIHelper.valid_type?(value.amount_in_cents,
|
108
|
+
->(val) { val.instance_of? Integer }) and
|
109
|
+
APIHelper.valid_type?(value.applied_amount,
|
110
|
+
->(val) { val.instance_of? Integer }) and
|
111
|
+
APIHelper.valid_type?(value.payment_method,
|
112
|
+
->(val) { InvoicePaymentMethodType.validate(val) }) and
|
113
|
+
APIHelper.valid_type?(value.transaction_id,
|
114
|
+
->(val) { val.instance_of? Integer })
|
115
|
+
)
|
116
|
+
end
|
117
|
+
|
118
|
+
return false unless value.instance_of? Hash
|
119
|
+
|
120
|
+
(
|
121
|
+
APIHelper.valid_type?(value['amount_in_cents'],
|
122
|
+
->(val) { val.instance_of? Integer }) and
|
123
|
+
APIHelper.valid_type?(value['applied_amount'],
|
124
|
+
->(val) { val.instance_of? Integer }) and
|
125
|
+
APIHelper.valid_type?(value['payment_method'],
|
126
|
+
->(val) { InvoicePaymentMethodType.validate(val) }) and
|
127
|
+
APIHelper.valid_type?(value['transaction_id'],
|
128
|
+
->(val) { val.instance_of? Integer })
|
129
|
+
)
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
@@ -83,5 +83,15 @@ module AdvancedBilling
|
|
83
83
|
prorate,
|
84
84
|
hash)
|
85
85
|
end
|
86
|
+
|
87
|
+
# Validates an instance of the object from a given value.
|
88
|
+
# @param [GroupBilling | Hash] The value against the validation is performed.
|
89
|
+
def self.validate(value)
|
90
|
+
return true if value.instance_of? self
|
91
|
+
|
92
|
+
return false unless value.instance_of? Hash
|
93
|
+
|
94
|
+
true
|
95
|
+
end
|
86
96
|
end
|
87
97
|
end
|
@@ -73,13 +73,15 @@ module AdvancedBilling
|
|
73
73
|
def self.validate(value)
|
74
74
|
if value.instance_of? self
|
75
75
|
return APIHelper.valid_type?(value.target,
|
76
|
-
->(val) { GroupTarget.validate(val) }
|
76
|
+
->(val) { GroupTarget.validate(val) },
|
77
|
+
is_model_hash: true)
|
77
78
|
end
|
78
79
|
|
79
80
|
return false unless value.instance_of? Hash
|
80
81
|
|
81
82
|
APIHelper.valid_type?(value['target'],
|
82
|
-
->(val) { GroupTarget.validate(val) }
|
83
|
+
->(val) { GroupTarget.validate(val) },
|
84
|
+
is_model_hash: true)
|
83
85
|
end
|
84
86
|
end
|
85
87
|
end
|
@@ -68,5 +68,19 @@ module AdvancedBilling
|
|
68
68
|
id,
|
69
69
|
hash)
|
70
70
|
end
|
71
|
+
|
72
|
+
# Validates an instance of the object from a given value.
|
73
|
+
# @param [GroupTarget | Hash] The value against the validation is performed.
|
74
|
+
def self.validate(value)
|
75
|
+
if value.instance_of? self
|
76
|
+
return APIHelper.valid_type?(value.type,
|
77
|
+
->(val) { GroupTargetType.validate(val) })
|
78
|
+
end
|
79
|
+
|
80
|
+
return false unless value.instance_of? Hash
|
81
|
+
|
82
|
+
APIHelper.valid_type?(value['type'],
|
83
|
+
->(val) { GroupTargetType.validate(val) })
|
84
|
+
end
|
71
85
|
end
|
72
86
|
end
|
@@ -0,0 +1,109 @@
|
|
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
|
+
# Optional for Event Based Components. If the `include=historic_usages` query
|
9
|
+
# param is provided, the last ten billing periods will be returned.
|
10
|
+
class HistoricUsage < BaseModel
|
11
|
+
SKIP = Object.new
|
12
|
+
private_constant :SKIP
|
13
|
+
|
14
|
+
# Total usage of a component for billing period
|
15
|
+
# @return [Float]
|
16
|
+
attr_accessor :total_usage_quantity
|
17
|
+
|
18
|
+
# Start date of billing period
|
19
|
+
# @return [DateTime]
|
20
|
+
attr_accessor :billing_period_starts_at
|
21
|
+
|
22
|
+
# End date of billing period
|
23
|
+
# @return [DateTime]
|
24
|
+
attr_accessor :billing_period_ends_at
|
25
|
+
|
26
|
+
# A mapping from model property names to API property names.
|
27
|
+
def self.names
|
28
|
+
@_hash = {} if @_hash.nil?
|
29
|
+
@_hash['total_usage_quantity'] = 'total_usage_quantity'
|
30
|
+
@_hash['billing_period_starts_at'] = 'billing_period_starts_at'
|
31
|
+
@_hash['billing_period_ends_at'] = 'billing_period_ends_at'
|
32
|
+
@_hash
|
33
|
+
end
|
34
|
+
|
35
|
+
# An array for optional fields
|
36
|
+
def self.optionals
|
37
|
+
%w[
|
38
|
+
total_usage_quantity
|
39
|
+
billing_period_starts_at
|
40
|
+
billing_period_ends_at
|
41
|
+
]
|
42
|
+
end
|
43
|
+
|
44
|
+
# An array for nullable fields
|
45
|
+
def self.nullables
|
46
|
+
[]
|
47
|
+
end
|
48
|
+
|
49
|
+
def initialize(total_usage_quantity = SKIP,
|
50
|
+
billing_period_starts_at = SKIP,
|
51
|
+
billing_period_ends_at = SKIP,
|
52
|
+
additional_properties = {})
|
53
|
+
@total_usage_quantity = total_usage_quantity unless total_usage_quantity == SKIP
|
54
|
+
@billing_period_starts_at = billing_period_starts_at unless billing_period_starts_at == SKIP
|
55
|
+
@billing_period_ends_at = billing_period_ends_at unless billing_period_ends_at == SKIP
|
56
|
+
|
57
|
+
# Add additional model properties to the instance.
|
58
|
+
additional_properties.each do |_name, _value|
|
59
|
+
instance_variable_set("@#{_name}", _value)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
# Creates an instance of the object from a hash.
|
64
|
+
def self.from_hash(hash)
|
65
|
+
return nil unless hash
|
66
|
+
|
67
|
+
# Extract variables from the hash.
|
68
|
+
total_usage_quantity =
|
69
|
+
hash.key?('total_usage_quantity') ? hash['total_usage_quantity'] : SKIP
|
70
|
+
billing_period_starts_at = if hash.key?('billing_period_starts_at')
|
71
|
+
(DateTimeHelper.from_rfc3339(hash['billing_period_starts_at']) if hash['billing_period_starts_at'])
|
72
|
+
else
|
73
|
+
SKIP
|
74
|
+
end
|
75
|
+
billing_period_ends_at = if hash.key?('billing_period_ends_at')
|
76
|
+
(DateTimeHelper.from_rfc3339(hash['billing_period_ends_at']) if hash['billing_period_ends_at'])
|
77
|
+
else
|
78
|
+
SKIP
|
79
|
+
end
|
80
|
+
|
81
|
+
# Clean out expected properties from Hash.
|
82
|
+
names.each_value { |k| hash.delete(k) }
|
83
|
+
|
84
|
+
# Create object from extracted values.
|
85
|
+
HistoricUsage.new(total_usage_quantity,
|
86
|
+
billing_period_starts_at,
|
87
|
+
billing_period_ends_at,
|
88
|
+
hash)
|
89
|
+
end
|
90
|
+
|
91
|
+
def to_custom_billing_period_starts_at
|
92
|
+
DateTimeHelper.to_rfc3339(billing_period_starts_at)
|
93
|
+
end
|
94
|
+
|
95
|
+
def to_custom_billing_period_ends_at
|
96
|
+
DateTimeHelper.to_rfc3339(billing_period_ends_at)
|
97
|
+
end
|
98
|
+
|
99
|
+
# Validates an instance of the object from a given value.
|
100
|
+
# @param [HistoricUsage | Hash] The value against the validation is performed.
|
101
|
+
def self.validate(value)
|
102
|
+
return true if value.instance_of? self
|
103
|
+
|
104
|
+
return false unless value.instance_of? Hash
|
105
|
+
|
106
|
+
true
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# advanced_billing
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module AdvancedBilling
|
7
|
+
# Allows to filter by `not_null` or `null`.
|
8
|
+
class IncludeNullOrNotNull
|
9
|
+
INCLUDE_NULL_OR_NOT_NULL = [
|
10
|
+
# TODO: Write general description for NOT_NULL
|
11
|
+
NOT_NULL = 'not_null'.freeze,
|
12
|
+
|
13
|
+
# TODO: Write general description for NULL
|
14
|
+
NULL = 'null'.freeze
|
15
|
+
].freeze
|
16
|
+
|
17
|
+
def self.validate(value)
|
18
|
+
return false if value.nil?
|
19
|
+
|
20
|
+
INCLUDE_NULL_OR_NOT_NULL.include?(value)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -81,20 +81,20 @@ module AdvancedBilling
|
|
81
81
|
attr_accessor :paid_date
|
82
82
|
|
83
83
|
# The current status of the invoice. See [Invoice
|
84
|
-
# Statuses](https://chargify.zendesk.com/hc/en-us/articles/
|
85
|
-
#
|
84
|
+
# Statuses](https://maxio-chargify.zendesk.com/hc/en-us/articles/54050787942
|
85
|
+
# 53-Introduction-to-Invoices#invoice-statuses) for more.
|
86
86
|
# @return [InvoiceStatus]
|
87
87
|
attr_accessor :status
|
88
88
|
|
89
89
|
# The current status of the invoice. See [Invoice
|
90
|
-
# Statuses](https://chargify.zendesk.com/hc/en-us/articles/
|
91
|
-
#
|
90
|
+
# Statuses](https://maxio-chargify.zendesk.com/hc/en-us/articles/54050787942
|
91
|
+
# 53-Introduction-to-Invoices#invoice-statuses) for more.
|
92
92
|
# @return [InvoiceRole]
|
93
93
|
attr_accessor :role
|
94
94
|
|
95
95
|
# The current status of the invoice. See [Invoice
|
96
|
-
# Statuses](https://chargify.zendesk.com/hc/en-us/articles/
|
97
|
-
#
|
96
|
+
# Statuses](https://maxio-chargify.zendesk.com/hc/en-us/articles/54050787942
|
97
|
+
# 53-Introduction-to-Invoices#invoice-statuses) for more.
|
98
98
|
# @return [Integer]
|
99
99
|
attr_accessor :parent_invoice_id
|
100
100
|
|
@@ -420,7 +420,7 @@ module AdvancedBilling
|
|
420
420
|
status = SKIP,
|
421
421
|
role = SKIP,
|
422
422
|
parent_invoice_id = SKIP,
|
423
|
-
collection_method =
|
423
|
+
collection_method = SKIP,
|
424
424
|
payment_instructions = SKIP,
|
425
425
|
currency = SKIP,
|
426
426
|
consolidation_level = SKIP,
|
@@ -556,7 +556,7 @@ module AdvancedBilling
|
|
556
556
|
parent_invoice_id =
|
557
557
|
hash.key?('parent_invoice_id') ? hash['parent_invoice_id'] : SKIP
|
558
558
|
collection_method =
|
559
|
-
hash['collection_method']
|
559
|
+
hash.key?('collection_method') ? hash['collection_method'] : SKIP
|
560
560
|
payment_instructions =
|
561
561
|
hash.key?('payment_instructions') ? hash['payment_instructions'] : SKIP
|
562
562
|
currency = hash.key?('currency') ? hash['currency'] : SKIP
|
@@ -740,5 +740,15 @@ module AdvancedBilling
|
|
740
740
|
def to_custom_updated_at
|
741
741
|
DateTimeHelper.to_rfc3339(updated_at)
|
742
742
|
end
|
743
|
+
|
744
|
+
# Validates an instance of the object from a given value.
|
745
|
+
# @param [Invoice | Hash] The value against the validation is performed.
|
746
|
+
def self.validate(value)
|
747
|
+
return true if value.instance_of? self
|
748
|
+
|
749
|
+
return false unless value.instance_of? Hash
|
750
|
+
|
751
|
+
true
|
752
|
+
end
|
743
753
|
end
|
744
754
|
end
|
@@ -113,5 +113,15 @@ module AdvancedBilling
|
|
113
113
|
country,
|
114
114
|
hash)
|
115
115
|
end
|
116
|
+
|
117
|
+
# Validates an instance of the object from a given value.
|
118
|
+
# @param [InvoiceAddress | Hash] The value against the validation is performed.
|
119
|
+
def self.validate(value)
|
120
|
+
return true if value.instance_of? self
|
121
|
+
|
122
|
+
return false unless value.instance_of? Hash
|
123
|
+
|
124
|
+
true
|
125
|
+
end
|
116
126
|
end
|
117
127
|
end
|
@@ -77,5 +77,15 @@ module AdvancedBilling
|
|
77
77
|
outstanding_amount,
|
78
78
|
hash)
|
79
79
|
end
|
80
|
+
|
81
|
+
# Validates an instance of the object from a given value.
|
82
|
+
# @param [InvoiceBalanceItem | Hash] The value against the validation is performed.
|
83
|
+
def self.validate(value)
|
84
|
+
return true if value.instance_of? self
|
85
|
+
|
86
|
+
return false unless value.instance_of? Hash
|
87
|
+
|
88
|
+
true
|
89
|
+
end
|
80
90
|
end
|
81
91
|
end
|
@@ -129,5 +129,15 @@ module AdvancedBilling
|
|
129
129
|
def to_custom_transaction_time
|
130
130
|
DateTimeHelper.to_rfc3339(transaction_time)
|
131
131
|
end
|
132
|
+
|
133
|
+
# Validates an instance of the object from a given value.
|
134
|
+
# @param [InvoiceCredit | Hash] The value against the validation is performed.
|
135
|
+
def self.validate(value)
|
136
|
+
return true if value.instance_of? self
|
137
|
+
|
138
|
+
return false unless value.instance_of? Hash
|
139
|
+
|
140
|
+
true
|
141
|
+
end
|
132
142
|
end
|
133
143
|
end
|
@@ -96,5 +96,15 @@ module AdvancedBilling
|
|
96
96
|
metadatum_id,
|
97
97
|
hash)
|
98
98
|
end
|
99
|
+
|
100
|
+
# Validates an instance of the object from a given value.
|
101
|
+
# @param [InvoiceCustomField | Hash] The value against the validation is performed.
|
102
|
+
def self.validate(value)
|
103
|
+
return true if value.instance_of? self
|
104
|
+
|
105
|
+
return false unless value.instance_of? Hash
|
106
|
+
|
107
|
+
true
|
108
|
+
end
|
99
109
|
end
|
100
110
|
end
|
@@ -122,5 +122,15 @@ module AdvancedBilling
|
|
122
122
|
reference,
|
123
123
|
hash)
|
124
124
|
end
|
125
|
+
|
126
|
+
# Validates an instance of the object from a given value.
|
127
|
+
# @param [InvoiceCustomer | Hash] The value against the validation is performed.
|
128
|
+
def self.validate(value)
|
129
|
+
return true if value.instance_of? self
|
130
|
+
|
131
|
+
return false unless value.instance_of? Hash
|
132
|
+
|
133
|
+
true
|
134
|
+
end
|
125
135
|
end
|
126
136
|
end
|
@@ -180,5 +180,15 @@ module AdvancedBilling
|
|
180
180
|
line_item_breakouts,
|
181
181
|
hash)
|
182
182
|
end
|
183
|
+
|
184
|
+
# Validates an instance of the object from a given value.
|
185
|
+
# @param [InvoiceDiscount | Hash] The value against the validation is performed.
|
186
|
+
def self.validate(value)
|
187
|
+
return true if value.instance_of? self
|
188
|
+
|
189
|
+
return false unless value.instance_of? Hash
|
190
|
+
|
191
|
+
true
|
192
|
+
end
|
183
193
|
end
|
184
194
|
end
|
@@ -78,5 +78,15 @@ module AdvancedBilling
|
|
78
78
|
discount_amount,
|
79
79
|
hash)
|
80
80
|
end
|
81
|
+
|
82
|
+
# Validates an instance of the object from a given value.
|
83
|
+
# @param [InvoiceDiscountBreakout | Hash] The value against the validation is performed.
|
84
|
+
def self.validate(value)
|
85
|
+
return true if value.instance_of? self
|
86
|
+
|
87
|
+
return false unless value.instance_of? Hash
|
88
|
+
|
89
|
+
true
|
90
|
+
end
|
81
91
|
end
|
82
92
|
end
|
@@ -71,5 +71,15 @@ module AdvancedBilling
|
|
71
71
|
include_discounts_on_lines,
|
72
72
|
hash)
|
73
73
|
end
|
74
|
+
|
75
|
+
# Validates an instance of the object from a given value.
|
76
|
+
# @param [InvoiceDisplaySettings | Hash] The value against the validation is performed.
|
77
|
+
def self.validate(value)
|
78
|
+
return true if value.instance_of? self
|
79
|
+
|
80
|
+
return false unless value.instance_of? Hash
|
81
|
+
|
82
|
+
true
|
83
|
+
end
|
74
84
|
end
|
75
85
|
end
|
@@ -22,6 +22,9 @@ module AdvancedBilling
|
|
22
22
|
# TODO: Write general description for APPLY_DEBIT_NOTE
|
23
23
|
APPLY_DEBIT_NOTE = 'apply_debit_note'.freeze,
|
24
24
|
|
25
|
+
# TODO: Write general description for CREATE_DEBIT_NOTE
|
26
|
+
CREATE_DEBIT_NOTE = 'create_debit_note'.freeze,
|
27
|
+
|
25
28
|
# TODO: Write general description for REFUND_INVOICE
|
26
29
|
REFUND_INVOICE = 'refund_invoice'.freeze,
|
27
30
|
|