maxio-advanced-billing-sdk 4.0.0 → 5.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 +45 -45
- data/lib/advanced_billing/configuration.rb +2 -2
- data/lib/advanced_billing/controllers/advance_invoice_controller.rb +24 -24
- data/lib/advanced_billing/controllers/api_exports_controller.rb +57 -57
- data/lib/advanced_billing/controllers/base_controller.rb +10 -10
- data/lib/advanced_billing/controllers/billing_portal_controller.rb +33 -32
- data/lib/advanced_billing/controllers/component_price_points_controller.rb +60 -60
- data/lib/advanced_billing/controllers/components_controller.rb +110 -107
- data/lib/advanced_billing/controllers/coupons_controller.rb +89 -89
- data/lib/advanced_billing/controllers/custom_fields_controller.rb +76 -76
- data/lib/advanced_billing/controllers/customers_controller.rb +45 -41
- data/lib/advanced_billing/controllers/events_based_billing_segments_controller.rb +53 -53
- data/lib/advanced_billing/controllers/events_controller.rb +16 -15
- data/lib/advanced_billing/controllers/insights_controller.rb +17 -17
- data/lib/advanced_billing/controllers/invoices_controller.rb +99 -99
- data/lib/advanced_billing/controllers/offers_controller.rb +18 -15
- data/lib/advanced_billing/controllers/payment_profiles_controller.rb +107 -104
- data/lib/advanced_billing/controllers/product_families_controller.rb +26 -26
- data/lib/advanced_billing/controllers/product_price_points_controller.rb +62 -62
- data/lib/advanced_billing/controllers/products_controller.rb +37 -37
- data/lib/advanced_billing/controllers/proforma_invoices_controller.rb +61 -61
- data/lib/advanced_billing/controllers/reason_codes_controller.rb +35 -35
- data/lib/advanced_billing/controllers/referral_codes_controller.rb +9 -8
- data/lib/advanced_billing/controllers/sales_commissions_controller.rb +13 -13
- data/lib/advanced_billing/controllers/sites_controller.rb +11 -10
- data/lib/advanced_billing/controllers/subscription_components_controller.rb +170 -161
- data/lib/advanced_billing/controllers/subscription_group_invoice_account_controller.rb +23 -23
- data/lib/advanced_billing/controllers/subscription_group_status_controller.rb +21 -21
- data/lib/advanced_billing/controllers/subscription_groups_controller.rb +54 -54
- data/lib/advanced_billing/controllers/subscription_invoice_account_controller.rb +37 -37
- data/lib/advanced_billing/controllers/subscription_notes_controller.rb +20 -16
- data/lib/advanced_billing/controllers/subscription_products_controller.rb +20 -18
- data/lib/advanced_billing/controllers/subscription_status_controller.rb +74 -74
- data/lib/advanced_billing/controllers/subscriptions_controller.rb +163 -160
- data/lib/advanced_billing/controllers/webhooks_controller.rb +45 -44
- data/lib/advanced_billing/exceptions/component_allocation_error_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/component_price_point_error_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/customer_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/error_array_map_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/error_list_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/error_string_map_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/event_based_billing_list_segments_errors_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/event_based_billing_segment_errors_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/event_based_billing_segment_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/product_price_point_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/proforma_bad_request_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/refund_prepayment_base_errors_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/single_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/single_string_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/subscription_add_coupon_error_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/subscription_component_allocation_error_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/subscription_group_create_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/subscription_group_signup_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/subscription_group_update_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/subscription_remove_coupon_errors_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/subscriptions_mrr_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/too_many_management_link_requests_error_exception.rb +15 -15
- data/lib/advanced_billing/models/activate_event_based_component.rb +84 -0
- data/lib/advanced_billing/models/{current_vault.rb → all_vaults.rb} +28 -7
- data/lib/advanced_billing/models/allocation.rb +1 -0
- data/lib/advanced_billing/models/allocation_preview_item.rb +1 -0
- data/lib/advanced_billing/models/apple_pay_payment_profile.rb +232 -0
- data/lib/advanced_billing/models/apple_pay_vault.rb +20 -0
- data/lib/advanced_billing/models/bank_account_attributes.rb +2 -0
- data/lib/advanced_billing/models/bank_account_payment_profile.rb +25 -20
- data/lib/advanced_billing/models/bank_account_vault.rb +19 -9
- data/lib/advanced_billing/models/change_invoice_status_event_data.rb +6 -6
- data/lib/advanced_billing/models/component.rb +1 -0
- data/lib/advanced_billing/models/component_custom_price.rb +33 -14
- data/lib/advanced_billing/models/component_price_point_item.rb +3 -1
- data/lib/advanced_billing/models/create_component_price_point.rb +3 -1
- data/lib/advanced_billing/models/create_customer.rb +11 -1
- data/lib/advanced_billing/models/create_metafield.rb +2 -1
- data/lib/advanced_billing/models/create_or_update_product.rb +7 -4
- data/lib/advanced_billing/models/create_payment_profile.rb +1 -1
- data/lib/advanced_billing/models/create_prepaid_usage_component_price_point.rb +6 -5
- data/lib/advanced_billing/models/create_product_price_point.rb +5 -3
- data/lib/advanced_billing/models/create_subscription.rb +27 -25
- data/lib/advanced_billing/models/credit_card_payment_profile.rb +17 -16
- data/lib/advanced_billing/models/credit_card_vault.rb +117 -0
- data/lib/advanced_billing/models/credit_note.rb +2 -2
- data/lib/advanced_billing/models/customer.rb +11 -1
- data/lib/advanced_billing/models/customer_attributes.rb +12 -1
- data/lib/advanced_billing/models/ebb_component.rb +1 -0
- data/lib/advanced_billing/models/{extended_interval_unit.rb → expiration_interval_unit.rb} +4 -4
- data/lib/advanced_billing/models/full_subscription_group_response.rb +65 -50
- data/lib/advanced_billing/models/get_one_time_token_payment_profile.rb +1 -1
- data/lib/advanced_billing/models/invoice.rb +19 -9
- data/lib/advanced_billing/models/invoice_consolidation_level.rb +2 -2
- data/lib/advanced_billing/models/invoice_refund.rb +13 -1
- data/lib/advanced_billing/models/invoice_status.rb +2 -2
- data/lib/advanced_billing/models/invoice_tax.rb +29 -0
- data/lib/advanced_billing/models/invoice_tax_component_breakout.rb +101 -1
- data/lib/advanced_billing/models/issue_invoice_event_data.rb +6 -6
- data/lib/advanced_billing/models/metered_component.rb +4 -3
- data/lib/advanced_billing/models/offer_item.rb +3 -1
- data/lib/advanced_billing/models/on_off_component.rb +3 -2
- data/lib/advanced_billing/models/paid_invoice.rb +2 -2
- data/lib/advanced_billing/models/pay_pal_vault.rb +29 -0
- data/lib/advanced_billing/models/payment_profile_attributes.rb +5 -5
- data/lib/advanced_billing/models/payment_profile_response.rb +3 -3
- data/lib/advanced_billing/models/payment_type.rb +4 -1
- data/lib/advanced_billing/models/paypal_payment_profile.rb +242 -0
- data/lib/advanced_billing/models/prepaid_usage_component.rb +5 -4
- data/lib/advanced_billing/models/product.rb +2 -2
- data/lib/advanced_billing/models/product_price_point.rb +2 -2
- data/lib/advanced_billing/models/proforma_invoice.rb +6 -6
- data/lib/advanced_billing/models/quantity_based_component.rb +4 -3
- data/lib/advanced_billing/models/refund_invoice_event_data.rb +4 -4
- data/lib/advanced_billing/models/resent_invitation.rb +36 -0
- data/lib/advanced_billing/models/subscription.rb +13 -10
- data/lib/advanced_billing/models/subscription_component.rb +1 -0
- data/lib/advanced_billing/models/subscription_component_subscription.rb +26 -20
- data/lib/advanced_billing/models/subscription_custom_price.rb +5 -2
- data/lib/advanced_billing/models/subscription_group_bank_account.rb +2 -0
- data/lib/advanced_billing/models/subscription_group_credit_card.rb +1 -1
- data/lib/advanced_billing/models/subscription_group_signup_response.rb +39 -30
- data/lib/advanced_billing/models/subscription_state.rb +30 -30
- data/lib/advanced_billing/models/tax_configuration.rb +1 -2
- data/lib/advanced_billing/models/update_component_price_point.rb +3 -1
- data/lib/advanced_billing/models/update_customer.rb +12 -1
- data/lib/advanced_billing/models/update_payment_profile.rb +1 -1
- data/lib/advanced_billing/utilities/file_wrapper.rb +9 -9
- data/lib/advanced_billing/utilities/union_type_lookup.rb +17 -3
- data/lib/advanced_billing.rb +10 -4
- metadata +16 -10
@@ -27,7 +27,8 @@ module AdvancedBilling
|
|
27
27
|
# @return [MetafieldInput]
|
28
28
|
attr_accessor :input_type
|
29
29
|
|
30
|
-
# Only applicable when input_type is radio or dropdown
|
30
|
+
# Only applicable when input_type is radio or dropdown. Empty strings will
|
31
|
+
# not be submitted.
|
31
32
|
# @return [Array[String]]
|
32
33
|
attr_accessor :enum
|
33
34
|
|
@@ -72,12 +72,12 @@ module AdvancedBilling
|
|
72
72
|
attr_accessor :expiration_interval
|
73
73
|
|
74
74
|
# A string representing the expiration interval unit for this product,
|
75
|
-
# either month or
|
76
|
-
# @return [
|
75
|
+
# either month, day or never
|
76
|
+
# @return [ExpirationIntervalUnit]
|
77
77
|
attr_accessor :expiration_interval_unit
|
78
78
|
|
79
79
|
# A string representing the expiration interval unit for this product,
|
80
|
-
# either month or
|
80
|
+
# either month, day or never
|
81
81
|
# @return [TrueClass | FalseClass]
|
82
82
|
attr_accessor :auto_create_signup_page
|
83
83
|
|
@@ -128,7 +128,10 @@ module AdvancedBilling
|
|
128
128
|
|
129
129
|
# An array for nullable fields
|
130
130
|
def self.nullables
|
131
|
-
[
|
131
|
+
%w[
|
132
|
+
trial_interval_unit
|
133
|
+
expiration_interval_unit
|
134
|
+
]
|
132
135
|
end
|
133
136
|
|
134
137
|
def initialize(name:, description:, price_in_cents:, interval:,
|
@@ -94,7 +94,7 @@ module AdvancedBilling
|
|
94
94
|
|
95
95
|
# The vault that stores the payment profile with the provided `vault_token`.
|
96
96
|
# Use `bogus` for testing.
|
97
|
-
# @return [
|
97
|
+
# @return [AllVaults]
|
98
98
|
attr_accessor :current_vault
|
99
99
|
|
100
100
|
# The “token” provided by your vault storage for an already stored payment
|
@@ -56,10 +56,9 @@ module AdvancedBilling
|
|
56
56
|
# @return [Float]
|
57
57
|
attr_accessor :expiration_interval
|
58
58
|
|
59
|
-
#
|
60
|
-
#
|
61
|
-
#
|
62
|
-
# @return [IntervalUnit]
|
59
|
+
# A string representing the expiration interval unit for this component,
|
60
|
+
# either month or day
|
61
|
+
# @return [ExpirationIntervalUnit]
|
63
62
|
attr_accessor :expiration_interval_unit
|
64
63
|
|
65
64
|
# A mapping from model property names to API property names.
|
@@ -92,7 +91,9 @@ module AdvancedBilling
|
|
92
91
|
|
93
92
|
# An array for nullable fields
|
94
93
|
def self.nullables
|
95
|
-
[
|
94
|
+
%w[
|
95
|
+
expiration_interval_unit
|
96
|
+
]
|
96
97
|
end
|
97
98
|
|
98
99
|
def initialize(name:, pricing_scheme:, prices:, overage_pricing:,
|
@@ -67,8 +67,8 @@ module AdvancedBilling
|
|
67
67
|
attr_accessor :expiration_interval
|
68
68
|
|
69
69
|
# A string representing the expiration interval unit for this product price
|
70
|
-
# point, either month or
|
71
|
-
# @return [
|
70
|
+
# point, either month, day or never
|
71
|
+
# @return [ExpirationIntervalUnit]
|
72
72
|
attr_accessor :expiration_interval_unit
|
73
73
|
|
74
74
|
# Whether or not to use the site's exchange rate or define your own pricing
|
@@ -114,7 +114,9 @@ module AdvancedBilling
|
|
114
114
|
|
115
115
|
# An array for nullable fields
|
116
116
|
def self.nullables
|
117
|
-
[
|
117
|
+
%w[
|
118
|
+
expiration_interval_unit
|
119
|
+
]
|
118
120
|
end
|
119
121
|
|
120
122
|
def initialize(name:, price_in_cents:, interval:, interval_unit:,
|
@@ -70,16 +70,17 @@ module AdvancedBilling
|
|
70
70
|
# (Optional) Set this attribute to a future date/time to sync imported
|
71
71
|
# subscriptions to your existing renewal schedule. See the notes on
|
72
72
|
# “Date/Time Format” in our [subscription import
|
73
|
-
# documentation](https://maxio
|
74
|
-
#
|
75
|
-
# in the future, no trial or initial
|
76
|
-
# the subscription. In fact, no
|
77
|
-
# payment will be captured
|
78
|
-
#
|
79
|
-
#
|
80
|
-
#
|
81
|
-
#
|
82
|
-
# notes in the section on
|
73
|
+
# documentation](https://maxio.zendesk.com/hc/en-us/articles/24251489107213-
|
74
|
+
# Advanced-Billing-Subscription-Imports#date-format). If you provide a
|
75
|
+
# next_billing_at timestamp that is in the future, no trial or initial
|
76
|
+
# charges will be applied when you create the subscription. In fact, no
|
77
|
+
# payment will be captured at all. The first payment will be captured,
|
78
|
+
# according to the prices defined by the product, near the time specified by
|
79
|
+
# next_billing_at. If you do not provide a value for next_billing_at, any
|
80
|
+
# trial and/or initial charges will be assessed and charged at the time of
|
81
|
+
# subscription creation. If the card cannot be successfully charged, the
|
82
|
+
# subscription will not be created. See further notes in the section on
|
83
|
+
# Importing Subscriptions.
|
83
84
|
# @return [DateTime]
|
84
85
|
attr_accessor :next_billing_at
|
85
86
|
|
@@ -87,16 +88,17 @@ module AdvancedBilling
|
|
87
88
|
# subscription in the "Awaiting Signup" state, rather than "Active" or
|
88
89
|
# "Trialing". See the notes on “Date/Time Format” in our [subscription
|
89
90
|
# import
|
90
|
-
# documentation](https://maxio
|
91
|
-
#
|
92
|
-
# behaves like any other. It can be canceled,
|
93
|
-
# date changed. etc. When the
|
94
|
-
#
|
95
|
-
#
|
96
|
-
#
|
97
|
-
#
|
98
|
-
#
|
99
|
-
# section on Delayed
|
91
|
+
# documentation](https://maxio.zendesk.com/hc/en-us/articles/24251489107213-
|
92
|
+
# Advanced-Billing-Subscription-Imports#date-format). In the "Awaiting
|
93
|
+
# Signup" state, a subscription behaves like any other. It can be canceled,
|
94
|
+
# allocated to, had its billing date changed. etc. When the
|
95
|
+
# initial_billing_at date hits, the subscription will transition to the
|
96
|
+
# expected state. If the product has a trial, the subscription will enter a
|
97
|
+
# trial, otherwise it will go active. Setup fees will be respected either
|
98
|
+
# before or after the trial, as configured on the price point. If the
|
99
|
+
# payment is due at the initial_billing_at and it fails the subscription
|
100
|
+
# will be immediately canceled. See further notes in the section on Delayed
|
101
|
+
# Signups.
|
100
102
|
# @return [DateTime]
|
101
103
|
attr_accessor :initial_billing_at
|
102
104
|
|
@@ -146,8 +148,8 @@ module AdvancedBilling
|
|
146
148
|
|
147
149
|
# (Optional) An array of component ids and quantities to be added to the
|
148
150
|
# subscription. See
|
149
|
-
# [Components](https://maxio
|
150
|
-
#
|
151
|
+
# [Components](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Co
|
152
|
+
# mponents-Overview) for more information.
|
151
153
|
# @return [Array[CreateSubscriptionComponent]]
|
152
154
|
attr_accessor :components
|
153
155
|
|
@@ -174,9 +176,9 @@ module AdvancedBilling
|
|
174
176
|
attr_accessor :group
|
175
177
|
|
176
178
|
# A valid referral code. (optional, see
|
177
|
-
# [Referrals](https://maxio
|
178
|
-
#
|
179
|
-
#
|
179
|
+
# [Referrals](https://maxio.zendesk.com/hc/en-us/articles/24286981223693-Ref
|
180
|
+
# errals-Reference#how-to-obtain-referral-codes) for more details). If
|
181
|
+
# supplied, must be valid, or else subscription creation will fail.
|
180
182
|
# @return [String]
|
181
183
|
attr_accessor :ref
|
182
184
|
|
@@ -48,7 +48,7 @@ module AdvancedBilling
|
|
48
48
|
|
49
49
|
# The vault that stores the payment profile with the provided `vault_token`.
|
50
50
|
# Use `bogus` for testing.
|
51
|
-
# @return [
|
51
|
+
# @return [CreditCardVault]
|
52
52
|
attr_accessor :current_vault
|
53
53
|
|
54
54
|
# The “token” provided by your vault storage for an already stored payment
|
@@ -143,6 +143,7 @@ module AdvancedBilling
|
|
143
143
|
id
|
144
144
|
first_name
|
145
145
|
last_name
|
146
|
+
masked_card_number
|
146
147
|
card_type
|
147
148
|
expiration_month
|
148
149
|
expiration_year
|
@@ -156,7 +157,6 @@ module AdvancedBilling
|
|
156
157
|
billing_country
|
157
158
|
customer_vault_token
|
158
159
|
billing_address_2
|
159
|
-
payment_type
|
160
160
|
disabled
|
161
161
|
chargify_token
|
162
162
|
site_gateway_setting_id
|
@@ -180,20 +180,21 @@ module AdvancedBilling
|
|
180
180
|
]
|
181
181
|
end
|
182
182
|
|
183
|
-
def initialize(
|
184
|
-
|
183
|
+
def initialize(payment_type: PaymentType::CREDIT_CARD, id: SKIP,
|
184
|
+
first_name: SKIP, last_name: SKIP, masked_card_number: SKIP,
|
185
|
+
card_type: SKIP, expiration_month: SKIP,
|
185
186
|
expiration_year: SKIP, customer_id: SKIP,
|
186
187
|
current_vault: SKIP, vault_token: SKIP,
|
187
188
|
billing_address: SKIP, billing_city: SKIP,
|
188
189
|
billing_state: SKIP, billing_zip: SKIP,
|
189
190
|
billing_country: SKIP, customer_vault_token: SKIP,
|
190
|
-
billing_address_2: SKIP,
|
191
|
+
billing_address_2: SKIP, disabled: SKIP,
|
191
192
|
chargify_token: SKIP, site_gateway_setting_id: SKIP,
|
192
193
|
gateway_handle: SKIP, additional_properties: {})
|
193
194
|
@id = id unless id == SKIP
|
194
195
|
@first_name = first_name unless first_name == SKIP
|
195
196
|
@last_name = last_name unless last_name == SKIP
|
196
|
-
@masked_card_number = masked_card_number
|
197
|
+
@masked_card_number = masked_card_number unless masked_card_number == SKIP
|
197
198
|
@card_type = card_type unless card_type == SKIP
|
198
199
|
@expiration_month = expiration_month unless expiration_month == SKIP
|
199
200
|
@expiration_year = expiration_year unless expiration_year == SKIP
|
@@ -207,7 +208,7 @@ module AdvancedBilling
|
|
207
208
|
@billing_country = billing_country unless billing_country == SKIP
|
208
209
|
@customer_vault_token = customer_vault_token unless customer_vault_token == SKIP
|
209
210
|
@billing_address_2 = billing_address_2 unless billing_address_2 == SKIP
|
210
|
-
@payment_type = payment_type
|
211
|
+
@payment_type = payment_type
|
211
212
|
@disabled = disabled unless disabled == SKIP
|
212
213
|
@chargify_token = chargify_token unless chargify_token == SKIP
|
213
214
|
@site_gateway_setting_id = site_gateway_setting_id unless site_gateway_setting_id == SKIP
|
@@ -224,11 +225,12 @@ module AdvancedBilling
|
|
224
225
|
return nil unless hash
|
225
226
|
|
226
227
|
# Extract variables from the hash.
|
227
|
-
|
228
|
-
hash.key?('masked_card_number') ? hash['masked_card_number'] : nil
|
228
|
+
payment_type = hash['payment_type'] ||= PaymentType::CREDIT_CARD
|
229
229
|
id = hash.key?('id') ? hash['id'] : SKIP
|
230
230
|
first_name = hash.key?('first_name') ? hash['first_name'] : SKIP
|
231
231
|
last_name = hash.key?('last_name') ? hash['last_name'] : SKIP
|
232
|
+
masked_card_number =
|
233
|
+
hash.key?('masked_card_number') ? hash['masked_card_number'] : SKIP
|
232
234
|
card_type = hash.key?('card_type') ? hash['card_type'] : SKIP
|
233
235
|
expiration_month =
|
234
236
|
hash.key?('expiration_month') ? hash['expiration_month'] : SKIP
|
@@ -248,7 +250,6 @@ module AdvancedBilling
|
|
248
250
|
hash.key?('customer_vault_token') ? hash['customer_vault_token'] : SKIP
|
249
251
|
billing_address_2 =
|
250
252
|
hash.key?('billing_address_2') ? hash['billing_address_2'] : SKIP
|
251
|
-
payment_type = hash.key?('payment_type') ? hash['payment_type'] : SKIP
|
252
253
|
disabled = hash.key?('disabled') ? hash['disabled'] : SKIP
|
253
254
|
chargify_token =
|
254
255
|
hash.key?('chargify_token') ? hash['chargify_token'] : SKIP
|
@@ -261,10 +262,11 @@ module AdvancedBilling
|
|
261
262
|
names.each_value { |k| hash.delete(k) }
|
262
263
|
|
263
264
|
# Create object from extracted values.
|
264
|
-
CreditCardPaymentProfile.new(
|
265
|
+
CreditCardPaymentProfile.new(payment_type: payment_type,
|
265
266
|
id: id,
|
266
267
|
first_name: first_name,
|
267
268
|
last_name: last_name,
|
269
|
+
masked_card_number: masked_card_number,
|
268
270
|
card_type: card_type,
|
269
271
|
expiration_month: expiration_month,
|
270
272
|
expiration_year: expiration_year,
|
@@ -278,7 +280,6 @@ module AdvancedBilling
|
|
278
280
|
billing_country: billing_country,
|
279
281
|
customer_vault_token: customer_vault_token,
|
280
282
|
billing_address_2: billing_address_2,
|
281
|
-
payment_type: payment_type,
|
282
283
|
disabled: disabled,
|
283
284
|
chargify_token: chargify_token,
|
284
285
|
site_gateway_setting_id: site_gateway_setting_id,
|
@@ -290,14 +291,14 @@ module AdvancedBilling
|
|
290
291
|
# @param [CreditCardPaymentProfile | Hash] The value against the validation is performed.
|
291
292
|
def self.validate(value)
|
292
293
|
if value.instance_of? self
|
293
|
-
return APIHelper.valid_type?(value.
|
294
|
-
->(val) { val
|
294
|
+
return APIHelper.valid_type?(value.payment_type,
|
295
|
+
->(val) { PaymentType.validate(val) })
|
295
296
|
end
|
296
297
|
|
297
298
|
return false unless value.instance_of? Hash
|
298
299
|
|
299
|
-
APIHelper.valid_type?(value['
|
300
|
-
->(val) { val
|
300
|
+
APIHelper.valid_type?(value['payment_type'],
|
301
|
+
->(val) { PaymentType.validate(val) })
|
301
302
|
end
|
302
303
|
end
|
303
304
|
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
# advanced_billing
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module AdvancedBilling
|
7
|
+
# The vault that stores the payment profile with the provided `vault_token`.
|
8
|
+
# Use `bogus` for testing.
|
9
|
+
class CreditCardVault
|
10
|
+
CREDIT_CARD_VAULT = [
|
11
|
+
# TODO: Write general description for ADYEN
|
12
|
+
ADYEN = 'adyen'.freeze,
|
13
|
+
|
14
|
+
# TODO: Write general description for AUTHORIZENET
|
15
|
+
AUTHORIZENET = 'authorizenet'.freeze,
|
16
|
+
|
17
|
+
# TODO: Write general description for BEANSTREAM
|
18
|
+
BEANSTREAM = 'beanstream'.freeze,
|
19
|
+
|
20
|
+
# TODO: Write general description for BLUE_SNAP
|
21
|
+
BLUE_SNAP = 'blue_snap'.freeze,
|
22
|
+
|
23
|
+
# TODO: Write general description for BOGUS
|
24
|
+
BOGUS = 'bogus'.freeze,
|
25
|
+
|
26
|
+
# TODO: Write general description for BRAINTREE1
|
27
|
+
BRAINTREE1 = 'braintree1'.freeze,
|
28
|
+
|
29
|
+
# TODO: Write general description for BRAINTREE_BLUE
|
30
|
+
BRAINTREE_BLUE = 'braintree_blue'.freeze,
|
31
|
+
|
32
|
+
# TODO: Write general description for CHECKOUT
|
33
|
+
CHECKOUT = 'checkout'.freeze,
|
34
|
+
|
35
|
+
# TODO: Write general description for CYBERSOURCE
|
36
|
+
CYBERSOURCE = 'cybersource'.freeze,
|
37
|
+
|
38
|
+
# TODO: Write general description for ELAVON
|
39
|
+
ELAVON = 'elavon'.freeze,
|
40
|
+
|
41
|
+
# TODO: Write general description for EWAY
|
42
|
+
EWAY = 'eway'.freeze,
|
43
|
+
|
44
|
+
# TODO: Write general description for EWAY_RAPID
|
45
|
+
EWAY_RAPID = 'eway_rapid'.freeze,
|
46
|
+
|
47
|
+
# TODO: Write general description for EWAY_RAPID_STD
|
48
|
+
EWAY_RAPID_STD = 'eway_rapid_std'.freeze,
|
49
|
+
|
50
|
+
# TODO: Write general description for FIRSTDATA
|
51
|
+
FIRSTDATA = 'firstdata'.freeze,
|
52
|
+
|
53
|
+
# TODO: Write general description for FORTE
|
54
|
+
FORTE = 'forte'.freeze,
|
55
|
+
|
56
|
+
# TODO: Write general description for LITLE
|
57
|
+
LITLE = 'litle'.freeze,
|
58
|
+
|
59
|
+
# TODO: Write general description for MAXIO_PAYMENTS
|
60
|
+
MAXIO_PAYMENTS = 'maxio_payments'.freeze,
|
61
|
+
|
62
|
+
# TODO: Write general description for MAXP
|
63
|
+
MAXP = 'maxp'.freeze,
|
64
|
+
|
65
|
+
# TODO: Write general description for MODUSLINK
|
66
|
+
MODUSLINK = 'moduslink'.freeze,
|
67
|
+
|
68
|
+
# TODO: Write general description for MONERIS
|
69
|
+
MONERIS = 'moneris'.freeze,
|
70
|
+
|
71
|
+
# TODO: Write general description for NMI
|
72
|
+
NMI = 'nmi'.freeze,
|
73
|
+
|
74
|
+
# TODO: Write general description for ORBITAL
|
75
|
+
ORBITAL = 'orbital'.freeze,
|
76
|
+
|
77
|
+
# TODO: Write general description for PAYMENT_EXPRESS
|
78
|
+
PAYMENT_EXPRESS = 'payment_express'.freeze,
|
79
|
+
|
80
|
+
# TODO: Write general description for PAYMILL
|
81
|
+
PAYMILL = 'paymill'.freeze,
|
82
|
+
|
83
|
+
# TODO: Write general description for PAYPAL
|
84
|
+
PAYPAL = 'paypal'.freeze,
|
85
|
+
|
86
|
+
# TODO: Write general description for PAYPAL_COMPLETE
|
87
|
+
PAYPAL_COMPLETE = 'paypal_complete'.freeze,
|
88
|
+
|
89
|
+
# TODO: Write general description for PIN
|
90
|
+
PIN = 'pin'.freeze,
|
91
|
+
|
92
|
+
# TODO: Write general description for SQUARE
|
93
|
+
SQUARE = 'square'.freeze,
|
94
|
+
|
95
|
+
# TODO: Write general description for STRIPE
|
96
|
+
STRIPE = 'stripe'.freeze,
|
97
|
+
|
98
|
+
# TODO: Write general description for STRIPE_CONNECT
|
99
|
+
STRIPE_CONNECT = 'stripe_connect'.freeze,
|
100
|
+
|
101
|
+
# TODO: Write general description for TRUST_COMMERCE
|
102
|
+
TRUST_COMMERCE = 'trust_commerce'.freeze,
|
103
|
+
|
104
|
+
# TODO: Write general description for UNIPAAS
|
105
|
+
UNIPAAS = 'unipaas'.freeze,
|
106
|
+
|
107
|
+
# TODO: Write general description for WIRECARD
|
108
|
+
WIRECARD = 'wirecard'.freeze
|
109
|
+
].freeze
|
110
|
+
|
111
|
+
def self.validate(value)
|
112
|
+
return false if value.nil?
|
113
|
+
|
114
|
+
CREDIT_CARD_VAULT.include?(value)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -147,8 +147,8 @@ module AdvancedBilling
|
|
147
147
|
|
148
148
|
# An array of origin invoices for the credit note. Learn more about [Origin
|
149
149
|
# Invoice from our
|
150
|
-
# docs](https://
|
151
|
-
# invoices)
|
150
|
+
# docs](https://maxio.zendesk.com/hc/en-us/articles/24252261284749-Credit-No
|
151
|
+
# tes-Proration#origin-invoices)
|
152
152
|
# @return [Array[OriginInvoice]]
|
153
153
|
attr_accessor :origin_invoices
|
154
154
|
|
@@ -129,6 +129,10 @@ module AdvancedBilling
|
|
129
129
|
# @return [String]
|
130
130
|
attr_accessor :default_subscription_group_uid
|
131
131
|
|
132
|
+
# The Salesforce ID for the customer
|
133
|
+
# @return [String]
|
134
|
+
attr_accessor :salesforce_id
|
135
|
+
|
132
136
|
# A mapping from model property names to API property names.
|
133
137
|
def self.names
|
134
138
|
@_hash = {} if @_hash.nil?
|
@@ -161,6 +165,7 @@ module AdvancedBilling
|
|
161
165
|
@_hash['locale'] = 'locale'
|
162
166
|
@_hash['default_subscription_group_uid'] =
|
163
167
|
'default_subscription_group_uid'
|
168
|
+
@_hash['salesforce_id'] = 'salesforce_id'
|
164
169
|
@_hash
|
165
170
|
end
|
166
171
|
|
@@ -194,6 +199,7 @@ module AdvancedBilling
|
|
194
199
|
parent_id
|
195
200
|
locale
|
196
201
|
default_subscription_group_uid
|
202
|
+
salesforce_id
|
197
203
|
]
|
198
204
|
end
|
199
205
|
|
@@ -220,6 +226,7 @@ module AdvancedBilling
|
|
220
226
|
parent_id
|
221
227
|
locale
|
222
228
|
default_subscription_group_uid
|
229
|
+
salesforce_id
|
223
230
|
]
|
224
231
|
end
|
225
232
|
|
@@ -232,7 +239,7 @@ module AdvancedBilling
|
|
232
239
|
portal_invite_last_sent_at: SKIP,
|
233
240
|
portal_invite_last_accepted_at: SKIP, tax_exempt: SKIP,
|
234
241
|
vat_number: SKIP, parent_id: SKIP, locale: SKIP,
|
235
|
-
default_subscription_group_uid: SKIP,
|
242
|
+
default_subscription_group_uid: SKIP, salesforce_id: SKIP,
|
236
243
|
additional_properties: {})
|
237
244
|
@first_name = first_name unless first_name == SKIP
|
238
245
|
@last_name = last_name unless last_name == SKIP
|
@@ -273,6 +280,7 @@ module AdvancedBilling
|
|
273
280
|
@default_subscription_group_uid =
|
274
281
|
default_subscription_group_uid
|
275
282
|
end
|
283
|
+
@salesforce_id = salesforce_id unless salesforce_id == SKIP
|
276
284
|
|
277
285
|
# Add additional model properties to the instance.
|
278
286
|
additional_properties.each do |_name, _value|
|
@@ -333,6 +341,7 @@ module AdvancedBilling
|
|
333
341
|
locale = hash.key?('locale') ? hash['locale'] : SKIP
|
334
342
|
default_subscription_group_uid =
|
335
343
|
hash.key?('default_subscription_group_uid') ? hash['default_subscription_group_uid'] : SKIP
|
344
|
+
salesforce_id = hash.key?('salesforce_id') ? hash['salesforce_id'] : SKIP
|
336
345
|
|
337
346
|
# Clean out expected properties from Hash.
|
338
347
|
names.each_value { |k| hash.delete(k) }
|
@@ -365,6 +374,7 @@ module AdvancedBilling
|
|
365
374
|
parent_id: parent_id,
|
366
375
|
locale: locale,
|
367
376
|
default_subscription_group_uid: default_subscription_group_uid,
|
377
|
+
salesforce_id: salesforce_id,
|
368
378
|
additional_properties: hash)
|
369
379
|
end
|
370
380
|
|
@@ -101,6 +101,10 @@ module AdvancedBilling
|
|
101
101
|
# @return [Integer]
|
102
102
|
attr_accessor :parent_id
|
103
103
|
|
104
|
+
# (Optional) The Salesforce ID of the customer.
|
105
|
+
# @return [String]
|
106
|
+
attr_accessor :salesforce_id
|
107
|
+
|
104
108
|
# A mapping from model property names to API property names.
|
105
109
|
def self.names
|
106
110
|
@_hash = {} if @_hash.nil?
|
@@ -122,6 +126,7 @@ module AdvancedBilling
|
|
122
126
|
@_hash['vat_number'] = 'vat_number'
|
123
127
|
@_hash['metafields'] = 'metafields'
|
124
128
|
@_hash['parent_id'] = 'parent_id'
|
129
|
+
@_hash['salesforce_id'] = 'salesforce_id'
|
125
130
|
@_hash
|
126
131
|
end
|
127
132
|
|
@@ -146,6 +151,7 @@ module AdvancedBilling
|
|
146
151
|
vat_number
|
147
152
|
metafields
|
148
153
|
parent_id
|
154
|
+
salesforce_id
|
149
155
|
]
|
150
156
|
end
|
151
157
|
|
@@ -154,6 +160,7 @@ module AdvancedBilling
|
|
154
160
|
%w[
|
155
161
|
address_2
|
156
162
|
parent_id
|
163
|
+
salesforce_id
|
157
164
|
]
|
158
165
|
end
|
159
166
|
|
@@ -162,7 +169,8 @@ module AdvancedBilling
|
|
162
169
|
address: SKIP, address_2: SKIP, city: SKIP, state: SKIP,
|
163
170
|
zip: SKIP, country: SKIP, phone: SKIP, verified: SKIP,
|
164
171
|
tax_exempt: SKIP, vat_number: SKIP, metafields: SKIP,
|
165
|
-
parent_id: SKIP,
|
172
|
+
parent_id: SKIP, salesforce_id: SKIP,
|
173
|
+
additional_properties: {})
|
166
174
|
@first_name = first_name unless first_name == SKIP
|
167
175
|
@last_name = last_name unless last_name == SKIP
|
168
176
|
@email = email unless email == SKIP
|
@@ -181,6 +189,7 @@ module AdvancedBilling
|
|
181
189
|
@vat_number = vat_number unless vat_number == SKIP
|
182
190
|
@metafields = metafields unless metafields == SKIP
|
183
191
|
@parent_id = parent_id unless parent_id == SKIP
|
192
|
+
@salesforce_id = salesforce_id unless salesforce_id == SKIP
|
184
193
|
|
185
194
|
# Add additional model properties to the instance.
|
186
195
|
additional_properties.each do |_name, _value|
|
@@ -211,6 +220,7 @@ module AdvancedBilling
|
|
211
220
|
vat_number = hash.key?('vat_number') ? hash['vat_number'] : SKIP
|
212
221
|
metafields = hash.key?('metafields') ? hash['metafields'] : SKIP
|
213
222
|
parent_id = hash.key?('parent_id') ? hash['parent_id'] : SKIP
|
223
|
+
salesforce_id = hash.key?('salesforce_id') ? hash['salesforce_id'] : SKIP
|
214
224
|
|
215
225
|
# Clean out expected properties from Hash.
|
216
226
|
names.each_value { |k| hash.delete(k) }
|
@@ -234,6 +244,7 @@ module AdvancedBilling
|
|
234
244
|
vat_number: vat_number,
|
235
245
|
metafields: metafields,
|
236
246
|
parent_id: parent_id,
|
247
|
+
salesforce_id: salesforce_id,
|
237
248
|
additional_properties: hash)
|
238
249
|
end
|
239
250
|
|
@@ -4,9 +4,9 @@
|
|
4
4
|
# ( https://apimatic.io ).
|
5
5
|
|
6
6
|
module AdvancedBilling
|
7
|
-
#
|
8
|
-
class
|
9
|
-
|
7
|
+
# Expiration Interval Unit.
|
8
|
+
class ExpirationIntervalUnit
|
9
|
+
EXPIRATION_INTERVAL_UNIT = [
|
10
10
|
# TODO: Write general description for DAY
|
11
11
|
DAY = 'day'.freeze,
|
12
12
|
|
@@ -20,7 +20,7 @@ module AdvancedBilling
|
|
20
20
|
def self.validate(value)
|
21
21
|
return false if value.nil?
|
22
22
|
|
23
|
-
|
23
|
+
EXPIRATION_INTERVAL_UNIT.include?(value)
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|