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
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
# advanced_billing
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module AdvancedBilling
|
|
7
|
+
# DebitNote Model.
|
|
8
|
+
class DebitNote < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Unique identifier for the debit note. It is generated automatically by
|
|
13
|
+
# Chargify and has the prefix "db_" followed by alphanumeric characters.
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_accessor :uid
|
|
16
|
+
|
|
17
|
+
# ID of the site to which the debit note belongs.
|
|
18
|
+
# @return [Integer]
|
|
19
|
+
attr_accessor :site_id
|
|
20
|
+
|
|
21
|
+
# ID of the customer to which the debit note belongs.
|
|
22
|
+
# @return [Integer]
|
|
23
|
+
attr_accessor :customer_id
|
|
24
|
+
|
|
25
|
+
# ID of the subscription that generated the debit note.
|
|
26
|
+
# @return [Integer]
|
|
27
|
+
attr_accessor :subscription_id
|
|
28
|
+
|
|
29
|
+
# A unique, identifier that appears on the debit note and in places it is
|
|
30
|
+
# referenced.
|
|
31
|
+
# @return [Integer]
|
|
32
|
+
attr_accessor :number
|
|
33
|
+
|
|
34
|
+
# A monotonically increasing number assigned to debit notes as they are
|
|
35
|
+
# created.
|
|
36
|
+
# @return [Integer]
|
|
37
|
+
attr_accessor :sequence_number
|
|
38
|
+
|
|
39
|
+
# Unique identifier for the connected credit note. It is generated
|
|
40
|
+
# automatically by Chargify and has the prefix "cn_" followed by
|
|
41
|
+
# alphanumeric characters.
|
|
42
|
+
# While the UID is long and not appropriate to show to customers, the number
|
|
43
|
+
# is usually shorter and consumable by the customer and the merchant alike.
|
|
44
|
+
# @return [String]
|
|
45
|
+
attr_accessor :origin_credit_note_uid
|
|
46
|
+
|
|
47
|
+
# A unique, identifying string of the connected credit note.
|
|
48
|
+
# @return [String]
|
|
49
|
+
attr_accessor :origin_credit_note_number
|
|
50
|
+
|
|
51
|
+
# Date the document was issued to the customer. This is the date that the
|
|
52
|
+
# document was made available for payment.
|
|
53
|
+
# The format is "YYYY-MM-DD".
|
|
54
|
+
# @return [Date]
|
|
55
|
+
attr_accessor :issue_date
|
|
56
|
+
|
|
57
|
+
# Debit notes are applied to invoices to offset invoiced amounts - they
|
|
58
|
+
# adjust the amount due. This field is the date the debit note document
|
|
59
|
+
# became fully applied to the invoice.
|
|
60
|
+
# The format is "YYYY-MM-DD".
|
|
61
|
+
# @return [Date]
|
|
62
|
+
attr_accessor :applied_date
|
|
63
|
+
|
|
64
|
+
# Date the document is due for payment. The format is "YYYY-MM-DD".
|
|
65
|
+
# @return [Date]
|
|
66
|
+
attr_accessor :due_date
|
|
67
|
+
|
|
68
|
+
# Current status of the debit note.
|
|
69
|
+
# @return [DebitNoteStatus]
|
|
70
|
+
attr_accessor :status
|
|
71
|
+
|
|
72
|
+
# The memo printed on debit note, which is a description of the reason for
|
|
73
|
+
# the debit.
|
|
74
|
+
# @return [String]
|
|
75
|
+
attr_accessor :memo
|
|
76
|
+
|
|
77
|
+
# The role of the debit note.
|
|
78
|
+
# @return [DebitNoteRole]
|
|
79
|
+
attr_accessor :role
|
|
80
|
+
|
|
81
|
+
# The ISO 4217 currency code (3 character string) representing the currency
|
|
82
|
+
# of the credit note amount fields.
|
|
83
|
+
# @return [String]
|
|
84
|
+
attr_accessor :currency
|
|
85
|
+
|
|
86
|
+
# Information about the seller (merchant) listed on the masthead of the
|
|
87
|
+
# debit note.
|
|
88
|
+
# @return [InvoiceSeller]
|
|
89
|
+
attr_accessor :seller
|
|
90
|
+
|
|
91
|
+
# Information about the customer who is owner or recipient the debited
|
|
92
|
+
# subscription.
|
|
93
|
+
# @return [InvoiceCustomer]
|
|
94
|
+
attr_accessor :customer
|
|
95
|
+
|
|
96
|
+
# The billing address of the debited subscription.
|
|
97
|
+
# @return [InvoiceAddress]
|
|
98
|
+
attr_accessor :billing_address
|
|
99
|
+
|
|
100
|
+
# The shipping address of the debited subscription.
|
|
101
|
+
# @return [InvoiceAddress]
|
|
102
|
+
attr_accessor :shipping_address
|
|
103
|
+
|
|
104
|
+
# Line items on the debit note.
|
|
105
|
+
# @return [Array[CreditNoteLineItem]]
|
|
106
|
+
attr_accessor :line_items
|
|
107
|
+
|
|
108
|
+
# Line items on the debit note.
|
|
109
|
+
# @return [Array[InvoiceDiscount]]
|
|
110
|
+
attr_accessor :discounts
|
|
111
|
+
|
|
112
|
+
# Line items on the debit note.
|
|
113
|
+
# @return [Array[InvoiceTax]]
|
|
114
|
+
attr_accessor :taxes
|
|
115
|
+
|
|
116
|
+
# Line items on the debit note.
|
|
117
|
+
# @return [Array[InvoiceRefund]]
|
|
118
|
+
attr_accessor :refunds
|
|
119
|
+
|
|
120
|
+
# A mapping from model property names to API property names.
|
|
121
|
+
def self.names
|
|
122
|
+
@_hash = {} if @_hash.nil?
|
|
123
|
+
@_hash['uid'] = 'uid'
|
|
124
|
+
@_hash['site_id'] = 'site_id'
|
|
125
|
+
@_hash['customer_id'] = 'customer_id'
|
|
126
|
+
@_hash['subscription_id'] = 'subscription_id'
|
|
127
|
+
@_hash['number'] = 'number'
|
|
128
|
+
@_hash['sequence_number'] = 'sequence_number'
|
|
129
|
+
@_hash['origin_credit_note_uid'] = 'origin_credit_note_uid'
|
|
130
|
+
@_hash['origin_credit_note_number'] = 'origin_credit_note_number'
|
|
131
|
+
@_hash['issue_date'] = 'issue_date'
|
|
132
|
+
@_hash['applied_date'] = 'applied_date'
|
|
133
|
+
@_hash['due_date'] = 'due_date'
|
|
134
|
+
@_hash['status'] = 'status'
|
|
135
|
+
@_hash['memo'] = 'memo'
|
|
136
|
+
@_hash['role'] = 'role'
|
|
137
|
+
@_hash['currency'] = 'currency'
|
|
138
|
+
@_hash['seller'] = 'seller'
|
|
139
|
+
@_hash['customer'] = 'customer'
|
|
140
|
+
@_hash['billing_address'] = 'billing_address'
|
|
141
|
+
@_hash['shipping_address'] = 'shipping_address'
|
|
142
|
+
@_hash['line_items'] = 'line_items'
|
|
143
|
+
@_hash['discounts'] = 'discounts'
|
|
144
|
+
@_hash['taxes'] = 'taxes'
|
|
145
|
+
@_hash['refunds'] = 'refunds'
|
|
146
|
+
@_hash
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
# An array for optional fields
|
|
150
|
+
def self.optionals
|
|
151
|
+
%w[
|
|
152
|
+
uid
|
|
153
|
+
site_id
|
|
154
|
+
customer_id
|
|
155
|
+
subscription_id
|
|
156
|
+
number
|
|
157
|
+
sequence_number
|
|
158
|
+
origin_credit_note_uid
|
|
159
|
+
origin_credit_note_number
|
|
160
|
+
issue_date
|
|
161
|
+
applied_date
|
|
162
|
+
due_date
|
|
163
|
+
status
|
|
164
|
+
memo
|
|
165
|
+
role
|
|
166
|
+
currency
|
|
167
|
+
seller
|
|
168
|
+
customer
|
|
169
|
+
billing_address
|
|
170
|
+
shipping_address
|
|
171
|
+
line_items
|
|
172
|
+
discounts
|
|
173
|
+
taxes
|
|
174
|
+
refunds
|
|
175
|
+
]
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
# An array for nullable fields
|
|
179
|
+
def self.nullables
|
|
180
|
+
[]
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
def initialize(uid = SKIP,
|
|
184
|
+
site_id = SKIP,
|
|
185
|
+
customer_id = SKIP,
|
|
186
|
+
subscription_id = SKIP,
|
|
187
|
+
number = SKIP,
|
|
188
|
+
sequence_number = SKIP,
|
|
189
|
+
origin_credit_note_uid = SKIP,
|
|
190
|
+
origin_credit_note_number = SKIP,
|
|
191
|
+
issue_date = SKIP,
|
|
192
|
+
applied_date = SKIP,
|
|
193
|
+
due_date = SKIP,
|
|
194
|
+
status = SKIP,
|
|
195
|
+
memo = SKIP,
|
|
196
|
+
role = SKIP,
|
|
197
|
+
currency = SKIP,
|
|
198
|
+
seller = SKIP,
|
|
199
|
+
customer = SKIP,
|
|
200
|
+
billing_address = SKIP,
|
|
201
|
+
shipping_address = SKIP,
|
|
202
|
+
line_items = SKIP,
|
|
203
|
+
discounts = SKIP,
|
|
204
|
+
taxes = SKIP,
|
|
205
|
+
refunds = SKIP,
|
|
206
|
+
additional_properties = {})
|
|
207
|
+
@uid = uid unless uid == SKIP
|
|
208
|
+
@site_id = site_id unless site_id == SKIP
|
|
209
|
+
@customer_id = customer_id unless customer_id == SKIP
|
|
210
|
+
@subscription_id = subscription_id unless subscription_id == SKIP
|
|
211
|
+
@number = number unless number == SKIP
|
|
212
|
+
@sequence_number = sequence_number unless sequence_number == SKIP
|
|
213
|
+
@origin_credit_note_uid = origin_credit_note_uid unless origin_credit_note_uid == SKIP
|
|
214
|
+
unless origin_credit_note_number == SKIP
|
|
215
|
+
@origin_credit_note_number =
|
|
216
|
+
origin_credit_note_number
|
|
217
|
+
end
|
|
218
|
+
@issue_date = issue_date unless issue_date == SKIP
|
|
219
|
+
@applied_date = applied_date unless applied_date == SKIP
|
|
220
|
+
@due_date = due_date unless due_date == SKIP
|
|
221
|
+
@status = status unless status == SKIP
|
|
222
|
+
@memo = memo unless memo == SKIP
|
|
223
|
+
@role = role unless role == SKIP
|
|
224
|
+
@currency = currency unless currency == SKIP
|
|
225
|
+
@seller = seller unless seller == SKIP
|
|
226
|
+
@customer = customer unless customer == SKIP
|
|
227
|
+
@billing_address = billing_address unless billing_address == SKIP
|
|
228
|
+
@shipping_address = shipping_address unless shipping_address == SKIP
|
|
229
|
+
@line_items = line_items unless line_items == SKIP
|
|
230
|
+
@discounts = discounts unless discounts == SKIP
|
|
231
|
+
@taxes = taxes unless taxes == SKIP
|
|
232
|
+
@refunds = refunds unless refunds == SKIP
|
|
233
|
+
|
|
234
|
+
# Add additional model properties to the instance.
|
|
235
|
+
additional_properties.each do |_name, _value|
|
|
236
|
+
instance_variable_set("@#{_name}", _value)
|
|
237
|
+
end
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
# Creates an instance of the object from a hash.
|
|
241
|
+
def self.from_hash(hash)
|
|
242
|
+
return nil unless hash
|
|
243
|
+
|
|
244
|
+
# Extract variables from the hash.
|
|
245
|
+
uid = hash.key?('uid') ? hash['uid'] : SKIP
|
|
246
|
+
site_id = hash.key?('site_id') ? hash['site_id'] : SKIP
|
|
247
|
+
customer_id = hash.key?('customer_id') ? hash['customer_id'] : SKIP
|
|
248
|
+
subscription_id =
|
|
249
|
+
hash.key?('subscription_id') ? hash['subscription_id'] : SKIP
|
|
250
|
+
number = hash.key?('number') ? hash['number'] : SKIP
|
|
251
|
+
sequence_number =
|
|
252
|
+
hash.key?('sequence_number') ? hash['sequence_number'] : SKIP
|
|
253
|
+
origin_credit_note_uid =
|
|
254
|
+
hash.key?('origin_credit_note_uid') ? hash['origin_credit_note_uid'] : SKIP
|
|
255
|
+
origin_credit_note_number =
|
|
256
|
+
hash.key?('origin_credit_note_number') ? hash['origin_credit_note_number'] : SKIP
|
|
257
|
+
issue_date = hash.key?('issue_date') ? hash['issue_date'] : SKIP
|
|
258
|
+
applied_date = hash.key?('applied_date') ? hash['applied_date'] : SKIP
|
|
259
|
+
due_date = hash.key?('due_date') ? hash['due_date'] : SKIP
|
|
260
|
+
status = hash.key?('status') ? hash['status'] : SKIP
|
|
261
|
+
memo = hash.key?('memo') ? hash['memo'] : SKIP
|
|
262
|
+
role = hash.key?('role') ? hash['role'] : SKIP
|
|
263
|
+
currency = hash.key?('currency') ? hash['currency'] : SKIP
|
|
264
|
+
seller = InvoiceSeller.from_hash(hash['seller']) if hash['seller']
|
|
265
|
+
customer = InvoiceCustomer.from_hash(hash['customer']) if hash['customer']
|
|
266
|
+
billing_address = InvoiceAddress.from_hash(hash['billing_address']) if
|
|
267
|
+
hash['billing_address']
|
|
268
|
+
shipping_address = InvoiceAddress.from_hash(hash['shipping_address']) if
|
|
269
|
+
hash['shipping_address']
|
|
270
|
+
# Parameter is an array, so we need to iterate through it
|
|
271
|
+
line_items = nil
|
|
272
|
+
unless hash['line_items'].nil?
|
|
273
|
+
line_items = []
|
|
274
|
+
hash['line_items'].each do |structure|
|
|
275
|
+
line_items << (CreditNoteLineItem.from_hash(structure) if structure)
|
|
276
|
+
end
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
line_items = SKIP unless hash.key?('line_items')
|
|
280
|
+
# Parameter is an array, so we need to iterate through it
|
|
281
|
+
discounts = nil
|
|
282
|
+
unless hash['discounts'].nil?
|
|
283
|
+
discounts = []
|
|
284
|
+
hash['discounts'].each do |structure|
|
|
285
|
+
discounts << (InvoiceDiscount.from_hash(structure) if structure)
|
|
286
|
+
end
|
|
287
|
+
end
|
|
288
|
+
|
|
289
|
+
discounts = SKIP unless hash.key?('discounts')
|
|
290
|
+
# Parameter is an array, so we need to iterate through it
|
|
291
|
+
taxes = nil
|
|
292
|
+
unless hash['taxes'].nil?
|
|
293
|
+
taxes = []
|
|
294
|
+
hash['taxes'].each do |structure|
|
|
295
|
+
taxes << (InvoiceTax.from_hash(structure) if structure)
|
|
296
|
+
end
|
|
297
|
+
end
|
|
298
|
+
|
|
299
|
+
taxes = SKIP unless hash.key?('taxes')
|
|
300
|
+
# Parameter is an array, so we need to iterate through it
|
|
301
|
+
refunds = nil
|
|
302
|
+
unless hash['refunds'].nil?
|
|
303
|
+
refunds = []
|
|
304
|
+
hash['refunds'].each do |structure|
|
|
305
|
+
refunds << (InvoiceRefund.from_hash(structure) if structure)
|
|
306
|
+
end
|
|
307
|
+
end
|
|
308
|
+
|
|
309
|
+
refunds = SKIP unless hash.key?('refunds')
|
|
310
|
+
|
|
311
|
+
# Clean out expected properties from Hash.
|
|
312
|
+
names.each_value { |k| hash.delete(k) }
|
|
313
|
+
|
|
314
|
+
# Create object from extracted values.
|
|
315
|
+
DebitNote.new(uid,
|
|
316
|
+
site_id,
|
|
317
|
+
customer_id,
|
|
318
|
+
subscription_id,
|
|
319
|
+
number,
|
|
320
|
+
sequence_number,
|
|
321
|
+
origin_credit_note_uid,
|
|
322
|
+
origin_credit_note_number,
|
|
323
|
+
issue_date,
|
|
324
|
+
applied_date,
|
|
325
|
+
due_date,
|
|
326
|
+
status,
|
|
327
|
+
memo,
|
|
328
|
+
role,
|
|
329
|
+
currency,
|
|
330
|
+
seller,
|
|
331
|
+
customer,
|
|
332
|
+
billing_address,
|
|
333
|
+
shipping_address,
|
|
334
|
+
line_items,
|
|
335
|
+
discounts,
|
|
336
|
+
taxes,
|
|
337
|
+
refunds,
|
|
338
|
+
hash)
|
|
339
|
+
end
|
|
340
|
+
|
|
341
|
+
# Validates an instance of the object from a given value.
|
|
342
|
+
# @param [DebitNote | Hash] The value against the validation is performed.
|
|
343
|
+
def self.validate(value)
|
|
344
|
+
return true if value.instance_of? self
|
|
345
|
+
|
|
346
|
+
return false unless value.instance_of? Hash
|
|
347
|
+
|
|
348
|
+
true
|
|
349
|
+
end
|
|
350
|
+
end
|
|
351
|
+
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
|
+
# The role of the debit note.
|
|
8
|
+
class DebitNoteRole
|
|
9
|
+
DEBIT_NOTE_ROLE = [
|
|
10
|
+
# TODO: Write general description for CHARGEBACK
|
|
11
|
+
CHARGEBACK = 'chargeback'.freeze,
|
|
12
|
+
|
|
13
|
+
# TODO: Write general description for REFUND
|
|
14
|
+
REFUND = 'refund'.freeze
|
|
15
|
+
].freeze
|
|
16
|
+
|
|
17
|
+
def self.validate(value)
|
|
18
|
+
return false if value.nil?
|
|
19
|
+
|
|
20
|
+
DEBIT_NOTE_ROLE.include?(value)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# advanced_billing
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module AdvancedBilling
|
|
7
|
+
# Current status of the debit note.
|
|
8
|
+
class DebitNoteStatus
|
|
9
|
+
DEBIT_NOTE_STATUS = [
|
|
10
|
+
# TODO: Write general description for OPEN
|
|
11
|
+
OPEN = 'open'.freeze,
|
|
12
|
+
|
|
13
|
+
# TODO: Write general description for APPLIED
|
|
14
|
+
APPLIED = 'applied'.freeze,
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for BANISHED
|
|
17
|
+
BANISHED = 'banished'.freeze,
|
|
18
|
+
|
|
19
|
+
# TODO: Write general description for PAID
|
|
20
|
+
PAID = 'paid'.freeze
|
|
21
|
+
].freeze
|
|
22
|
+
|
|
23
|
+
def self.validate(value)
|
|
24
|
+
return false if value.nil?
|
|
25
|
+
|
|
26
|
+
DEBIT_NOTE_STATUS.include?(value)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -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(:DeductServiceCreditAmount), 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 [DeductServiceCredit | 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(:DeductServiceCreditAmount)
|
|
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(:DeductServiceCreditAmount)
|
|
82
|
+
.validate(value['amount'])
|
|
89
83
|
end
|
|
90
84
|
end
|
|
91
85
|
end
|
|
@@ -114,5 +114,43 @@ module AdvancedBilling
|
|
|
114
114
|
def to_custom_last_attempted_at
|
|
115
115
|
DateTimeHelper.to_rfc3339(last_attempted_at)
|
|
116
116
|
end
|
|
117
|
+
|
|
118
|
+
# Validates an instance of the object from a given value.
|
|
119
|
+
# @param [DunnerData | Hash] The value against the validation is performed.
|
|
120
|
+
def self.validate(value)
|
|
121
|
+
if value.instance_of? self
|
|
122
|
+
return (
|
|
123
|
+
APIHelper.valid_type?(value.state,
|
|
124
|
+
->(val) { val.instance_of? String }) and
|
|
125
|
+
APIHelper.valid_type?(value.subscription_id,
|
|
126
|
+
->(val) { val.instance_of? Integer }) and
|
|
127
|
+
APIHelper.valid_type?(value.revenue_at_risk_in_cents,
|
|
128
|
+
->(val) { val.instance_of? Integer }) and
|
|
129
|
+
APIHelper.valid_type?(value.created_at,
|
|
130
|
+
->(val) { val.instance_of? DateTime }) and
|
|
131
|
+
APIHelper.valid_type?(value.attempts,
|
|
132
|
+
->(val) { val.instance_of? Integer }) and
|
|
133
|
+
APIHelper.valid_type?(value.last_attempted_at,
|
|
134
|
+
->(val) { val.instance_of? DateTime })
|
|
135
|
+
)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
return false unless value.instance_of? Hash
|
|
139
|
+
|
|
140
|
+
(
|
|
141
|
+
APIHelper.valid_type?(value['state'],
|
|
142
|
+
->(val) { val.instance_of? String }) and
|
|
143
|
+
APIHelper.valid_type?(value['subscription_id'],
|
|
144
|
+
->(val) { val.instance_of? Integer }) and
|
|
145
|
+
APIHelper.valid_type?(value['revenue_at_risk_in_cents'],
|
|
146
|
+
->(val) { val.instance_of? Integer }) and
|
|
147
|
+
APIHelper.valid_type?(value['created_at'],
|
|
148
|
+
->(val) { val.instance_of? String }) and
|
|
149
|
+
APIHelper.valid_type?(value['attempts'],
|
|
150
|
+
->(val) { val.instance_of? Integer }) and
|
|
151
|
+
APIHelper.valid_type?(value['last_attempted_at'],
|
|
152
|
+
->(val) { val.instance_of? String })
|
|
153
|
+
)
|
|
154
|
+
end
|
|
117
155
|
end
|
|
118
156
|
end
|
|
@@ -126,5 +126,39 @@ module AdvancedBilling
|
|
|
126
126
|
sms_body,
|
|
127
127
|
hash)
|
|
128
128
|
end
|
|
129
|
+
|
|
130
|
+
# Validates an instance of the object from a given value.
|
|
131
|
+
# @param [DunningStepData | Hash] The value against the validation is performed.
|
|
132
|
+
def self.validate(value)
|
|
133
|
+
if value.instance_of? self
|
|
134
|
+
return (
|
|
135
|
+
APIHelper.valid_type?(value.day_threshold,
|
|
136
|
+
->(val) { val.instance_of? Integer }) and
|
|
137
|
+
APIHelper.valid_type?(value.action,
|
|
138
|
+
->(val) { val.instance_of? String }) and
|
|
139
|
+
APIHelper.valid_type?(value.send_email,
|
|
140
|
+
->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
|
|
141
|
+
APIHelper.valid_type?(value.send_bcc_email,
|
|
142
|
+
->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
|
|
143
|
+
APIHelper.valid_type?(value.send_sms,
|
|
144
|
+
->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass })
|
|
145
|
+
)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
return false unless value.instance_of? Hash
|
|
149
|
+
|
|
150
|
+
(
|
|
151
|
+
APIHelper.valid_type?(value['day_threshold'],
|
|
152
|
+
->(val) { val.instance_of? Integer }) and
|
|
153
|
+
APIHelper.valid_type?(value['action'],
|
|
154
|
+
->(val) { val.instance_of? String }) and
|
|
155
|
+
APIHelper.valid_type?(value['send_email'],
|
|
156
|
+
->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
|
|
157
|
+
APIHelper.valid_type?(value['send_bcc_email'],
|
|
158
|
+
->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
|
|
159
|
+
APIHelper.valid_type?(value['send_sms'],
|
|
160
|
+
->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass })
|
|
161
|
+
)
|
|
162
|
+
end
|
|
129
163
|
end
|
|
130
164
|
end
|
|
@@ -79,11 +79,14 @@ module AdvancedBilling
|
|
|
79
79
|
if value.instance_of? self
|
|
80
80
|
return (
|
|
81
81
|
APIHelper.valid_type?(value.dunner,
|
|
82
|
-
->(val) { DunnerData.validate(val) }
|
|
82
|
+
->(val) { DunnerData.validate(val) },
|
|
83
|
+
is_model_hash: true) and
|
|
83
84
|
APIHelper.valid_type?(value.current_step,
|
|
84
|
-
->(val) { DunningStepData.validate(val) }
|
|
85
|
+
->(val) { DunningStepData.validate(val) },
|
|
86
|
+
is_model_hash: true) and
|
|
85
87
|
APIHelper.valid_type?(value.next_step,
|
|
86
|
-
->(val) { DunningStepData.validate(val) }
|
|
88
|
+
->(val) { DunningStepData.validate(val) },
|
|
89
|
+
is_model_hash: true)
|
|
87
90
|
)
|
|
88
91
|
end
|
|
89
92
|
|
|
@@ -91,11 +94,14 @@ module AdvancedBilling
|
|
|
91
94
|
|
|
92
95
|
(
|
|
93
96
|
APIHelper.valid_type?(value['dunner'],
|
|
94
|
-
->(val) { DunnerData.validate(val) }
|
|
97
|
+
->(val) { DunnerData.validate(val) },
|
|
98
|
+
is_model_hash: true) and
|
|
95
99
|
APIHelper.valid_type?(value['current_step'],
|
|
96
|
-
->(val) { DunningStepData.validate(val) }
|
|
100
|
+
->(val) { DunningStepData.validate(val) },
|
|
101
|
+
is_model_hash: true) and
|
|
97
102
|
APIHelper.valid_type?(value['next_step'],
|
|
98
|
-
->(val) { DunningStepData.validate(val) }
|
|
103
|
+
->(val) { DunningStepData.validate(val) },
|
|
104
|
+
is_model_hash: true)
|
|
99
105
|
)
|
|
100
106
|
end
|
|
101
107
|
end
|