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.
Files changed (185) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +40 -40
  3. data/lib/advanced_billing/controllers/advance_invoice_controller.rb +6 -4
  4. data/lib/advanced_billing/controllers/base_controller.rb +1 -1
  5. data/lib/advanced_billing/controllers/components_controller.rb +9 -58
  6. data/lib/advanced_billing/controllers/coupons_controller.rb +6 -115
  7. data/lib/advanced_billing/controllers/custom_fields_controller.rb +4 -4
  8. data/lib/advanced_billing/controllers/events_based_billing_segments_controller.rb +5 -22
  9. data/lib/advanced_billing/controllers/insights_controller.rb +3 -4
  10. data/lib/advanced_billing/controllers/invoices_controller.rb +11 -0
  11. data/lib/advanced_billing/controllers/payment_profiles_controller.rb +26 -0
  12. data/lib/advanced_billing/controllers/product_families_controller.rb +5 -14
  13. data/lib/advanced_billing/controllers/product_price_points_controller.rb +3 -40
  14. data/lib/advanced_billing/controllers/products_controller.rb +5 -14
  15. data/lib/advanced_billing/controllers/subscription_components_controller.rb +16 -66
  16. data/lib/advanced_billing/controllers/subscription_group_invoice_account_controller.rb +5 -15
  17. data/lib/advanced_billing/controllers/subscription_groups_controller.rb +6 -6
  18. data/lib/advanced_billing/controllers/subscription_invoice_account_controller.rb +13 -20
  19. data/lib/advanced_billing/controllers/subscriptions_controller.rb +49 -14
  20. data/lib/advanced_billing/models/ach_agreement.rb +10 -0
  21. data/lib/advanced_billing/models/address_change.rb +0 -22
  22. data/lib/advanced_billing/models/agreement_acceptance.rb +10 -0
  23. data/lib/advanced_billing/models/allocation.rb +1 -3
  24. data/lib/advanced_billing/models/applied_credit_note_data.rb +10 -0
  25. data/lib/advanced_billing/models/apply_credit_note_event.rb +139 -0
  26. data/lib/advanced_billing/models/apply_credit_note_event_data.rb +3 -1
  27. data/lib/advanced_billing/models/apply_debit_note_event.rb +139 -0
  28. data/lib/advanced_billing/models/apply_debit_note_event_data.rb +36 -2
  29. data/lib/advanced_billing/models/apply_payment_event.rb +139 -0
  30. data/lib/advanced_billing/models/apply_payment_event_data.rb +21 -7
  31. data/lib/advanced_billing/models/backport_invoice_event.rb +139 -0
  32. data/lib/advanced_billing/models/bank_account_attributes.rb +10 -0
  33. data/lib/advanced_billing/models/billing_manifest.rb +5 -1
  34. data/lib/advanced_billing/models/billing_schedule.rb +10 -0
  35. data/lib/advanced_billing/models/change_chargeback_status_event.rb +141 -0
  36. data/lib/advanced_billing/models/change_chargeback_status_event_data.rb +73 -0
  37. data/lib/advanced_billing/models/change_invoice_collection_method_event.rb +141 -0
  38. data/lib/advanced_billing/models/change_invoice_status_event.rb +141 -0
  39. data/lib/advanced_billing/models/change_invoice_status_event_data.rb +131 -0
  40. data/lib/advanced_billing/models/chargeback_status.rb +29 -0
  41. data/lib/advanced_billing/models/component.rb +3 -13
  42. data/lib/advanced_billing/models/component_cost_data.rb +10 -0
  43. data/lib/advanced_billing/models/component_cost_data_rate_tier.rb +10 -0
  44. data/lib/advanced_billing/models/component_custom_price.rb +10 -0
  45. data/lib/advanced_billing/models/component_price_point.rb +2 -13
  46. data/lib/advanced_billing/models/component_price_point_item.rb +10 -0
  47. data/lib/advanced_billing/models/coupon.rb +4 -14
  48. data/lib/advanced_billing/models/create_component_price_point.rb +6 -2
  49. data/lib/advanced_billing/models/create_component_price_point_request.rb +1 -1
  50. data/lib/advanced_billing/models/create_component_price_points_request.rb +1 -1
  51. data/lib/advanced_billing/models/create_credit_note_event.rb +139 -0
  52. data/lib/advanced_billing/models/create_debit_note_event.rb +139 -0
  53. data/lib/advanced_billing/models/create_invoice_payment_application.rb +22 -0
  54. data/lib/advanced_billing/models/create_multi_invoice_payment.rb +6 -2
  55. data/lib/advanced_billing/models/create_offer_component.rb +11 -0
  56. data/lib/advanced_billing/models/create_payment_profile.rb +4 -4
  57. data/lib/advanced_billing/models/create_prepaid_usage_component_price_point.rb +10 -4
  58. data/lib/advanced_billing/models/create_product_family.rb +14 -4
  59. data/lib/advanced_billing/models/create_subscription.rb +2 -2
  60. data/lib/advanced_billing/models/credit_card_attributes.rb +10 -0
  61. data/lib/advanced_billing/models/credit_note_application.rb +10 -0
  62. data/lib/advanced_billing/models/credit_note_line_item.rb +10 -0
  63. data/lib/advanced_billing/models/customer.rb +13 -1
  64. data/lib/advanced_billing/models/customer_attributes.rb +10 -0
  65. data/lib/advanced_billing/models/customer_change.rb +7 -22
  66. data/lib/advanced_billing/models/customer_custom_fields_change.rb +0 -22
  67. data/lib/advanced_billing/models/customer_payer_change.rb +0 -22
  68. data/lib/advanced_billing/models/debit_note.rb +351 -0
  69. data/lib/advanced_billing/models/debit_note_role.rb +23 -0
  70. data/lib/advanced_billing/models/debit_note_status.rb +29 -0
  71. data/lib/advanced_billing/models/deduct_service_credit.rb +10 -16
  72. data/lib/advanced_billing/models/dunner_data.rb +38 -0
  73. data/lib/advanced_billing/models/dunning_step_data.rb +34 -0
  74. data/lib/advanced_billing/models/dunning_step_reached.rb +12 -6
  75. data/lib/advanced_billing/models/failed_payment_event.rb +139 -0
  76. data/lib/advanced_billing/models/failed_payment_event_data.rb +132 -0
  77. data/lib/advanced_billing/models/group_billing.rb +10 -0
  78. data/lib/advanced_billing/models/group_settings.rb +4 -2
  79. data/lib/advanced_billing/models/group_target.rb +14 -0
  80. data/lib/advanced_billing/models/historic_usage.rb +109 -0
  81. data/lib/advanced_billing/models/include_null_or_not_null.rb +23 -0
  82. data/lib/advanced_billing/models/invoice.rb +18 -8
  83. data/lib/advanced_billing/models/invoice_address.rb +10 -0
  84. data/lib/advanced_billing/models/invoice_balance_item.rb +10 -0
  85. data/lib/advanced_billing/models/invoice_credit.rb +10 -0
  86. data/lib/advanced_billing/models/invoice_custom_field.rb +10 -0
  87. data/lib/advanced_billing/models/invoice_customer.rb +10 -0
  88. data/lib/advanced_billing/models/invoice_discount.rb +10 -0
  89. data/lib/advanced_billing/models/invoice_discount_breakout.rb +10 -0
  90. data/lib/advanced_billing/models/invoice_display_settings.rb +10 -0
  91. data/lib/advanced_billing/models/invoice_event_type.rb +3 -0
  92. data/lib/advanced_billing/models/invoice_issued.rb +6 -2
  93. data/lib/advanced_billing/models/invoice_line_item.rb +3 -3
  94. data/lib/advanced_billing/models/invoice_line_item_event_data.rb +10 -0
  95. data/lib/advanced_billing/models/invoice_line_item_pricing_detail.rb +10 -0
  96. data/lib/advanced_billing/models/invoice_payer.rb +10 -0
  97. data/lib/advanced_billing/models/invoice_payment.rb +10 -0
  98. data/lib/advanced_billing/models/invoice_payment_method.rb +10 -0
  99. data/lib/advanced_billing/models/invoice_pre_payment.rb +0 -10
  100. data/lib/advanced_billing/models/invoice_previous_balance.rb +10 -0
  101. data/lib/advanced_billing/models/invoice_refund.rb +10 -0
  102. data/lib/advanced_billing/models/invoice_seller.rb +10 -0
  103. data/lib/advanced_billing/models/invoice_status.rb +2 -2
  104. data/lib/advanced_billing/models/invoice_tax.rb +10 -0
  105. data/lib/advanced_billing/models/invoice_tax_breakout.rb +10 -0
  106. data/lib/advanced_billing/models/invoice_tax_component_breakout.rb +10 -0
  107. data/lib/advanced_billing/models/issue_invoice_event.rb +139 -0
  108. data/lib/advanced_billing/models/issue_invoice_event_data.rb +6 -6
  109. data/lib/advanced_billing/models/issue_service_credit.rb +10 -16
  110. data/lib/advanced_billing/models/item_price_point_changed.rb +8 -4
  111. data/lib/advanced_billing/models/item_price_point_data.rb +10 -0
  112. data/lib/advanced_billing/models/list_components_filter.rb +74 -0
  113. data/lib/advanced_billing/models/list_coupons_filter.rb +168 -0
  114. data/lib/advanced_billing/models/list_invoice_events_response.rb +14 -11
  115. data/lib/advanced_billing/models/{refund_prepayment_aggregated_error.rb → list_mrr_filter.rb} +14 -12
  116. data/lib/advanced_billing/models/{list_subscription_group_prepayment_date_field.rb → list_prepayment_date_field.rb} +4 -4
  117. data/lib/advanced_billing/models/list_prepayments_filter.rb +88 -0
  118. data/lib/advanced_billing/models/list_price_points_filter.rb +163 -0
  119. data/lib/advanced_billing/models/list_products_filter.rb +81 -0
  120. data/lib/advanced_billing/models/list_segments_filter.rb +103 -0
  121. data/lib/advanced_billing/models/list_subscription_components_filter.rb +74 -0
  122. data/lib/advanced_billing/models/list_subscription_components_for_site_filter.rb +84 -0
  123. data/lib/advanced_billing/models/list_subscription_components_include.rb +4 -1
  124. data/lib/advanced_billing/models/metafield_scope.rb +10 -0
  125. data/lib/advanced_billing/models/nested_subscription_group.rb +0 -10
  126. data/lib/advanced_billing/models/origin_invoice.rb +10 -0
  127. data/lib/advanced_billing/models/overage_pricing.rb +14 -0
  128. data/lib/advanced_billing/models/paid_invoice.rb +2 -2
  129. data/lib/advanced_billing/models/payer_attributes.rb +10 -0
  130. data/lib/advanced_billing/models/prepaid_component_price_point.rb +10 -0
  131. data/lib/advanced_billing/models/prepaid_product_price_point_filter.rb +56 -0
  132. data/lib/advanced_billing/models/prepaid_usage.rb +6 -2
  133. data/lib/advanced_billing/models/prepaid_usage_allocation_detail.rb +10 -0
  134. data/lib/advanced_billing/models/product.rb +5 -16
  135. data/lib/advanced_billing/models/product_price_point.rb +9 -0
  136. data/lib/advanced_billing/models/proforma_invoice.rb +2 -2
  137. data/lib/advanced_billing/models/proforma_invoice_issued.rb +6 -2
  138. data/lib/advanced_billing/models/reactivation_billing.rb +10 -0
  139. data/lib/advanced_billing/models/record_payment_response.rb +1 -13
  140. data/lib/advanced_billing/models/refund_invoice_event.rb +139 -0
  141. data/lib/advanced_billing/models/refund_invoice_event_data.rb +4 -2
  142. data/lib/advanced_billing/models/refund_invoice_request.rb +1 -1
  143. data/lib/advanced_billing/models/refund_prepayment.rb +3 -1
  144. data/lib/advanced_billing/models/remove_payment_event.rb +139 -0
  145. data/lib/advanced_billing/models/remove_payment_event_data.rb +1 -1
  146. data/lib/advanced_billing/models/segment_price.rb +10 -0
  147. data/lib/advanced_billing/models/subscription.rb +10 -16
  148. data/lib/advanced_billing/models/subscription_component.rb +26 -7
  149. data/lib/advanced_billing/models/subscription_component_subscription.rb +10 -0
  150. data/lib/advanced_billing/models/subscription_filter.rb +153 -0
  151. data/lib/advanced_billing/models/subscription_group.rb +2 -2
  152. data/lib/advanced_billing/models/subscription_group_bank_account.rb +10 -0
  153. data/lib/advanced_billing/models/subscription_group_component_custom_price.rb +10 -0
  154. data/lib/advanced_billing/models/subscription_group_prepayment_response.rb +3 -1
  155. data/lib/advanced_billing/models/subscription_group_signup.rb +2 -2
  156. data/lib/advanced_billing/models/subscription_group_signup_failure.rb +4 -2
  157. data/lib/advanced_billing/models/subscription_group_signup_failure_data.rb +10 -0
  158. data/lib/advanced_billing/models/subscription_group_signup_item.rb +10 -0
  159. data/lib/advanced_billing/models/subscription_group_signup_response.rb +2 -2
  160. data/lib/advanced_billing/models/subscription_group_signup_success.rb +8 -4
  161. data/lib/advanced_billing/models/subscription_group_signup_success_data.rb +50 -0
  162. data/lib/advanced_billing/models/update_customer.rb +12 -0
  163. data/lib/advanced_billing/models/update_subscription_component.rb +10 -0
  164. data/lib/advanced_billing/models/upsert_prepaid_configuration.rb +10 -0
  165. data/lib/advanced_billing/models/usage.rb +3 -1
  166. data/lib/advanced_billing/models/void_invoice_event.rb +139 -0
  167. data/lib/advanced_billing/models/void_invoice_event_data.rb +8 -7
  168. data/lib/advanced_billing/models/void_remainder_event.rb +139 -0
  169. data/lib/advanced_billing/models/void_remainder_event_data.rb +4 -2
  170. data/lib/advanced_billing/utilities/union_type_lookup.rb +69 -199
  171. data/lib/advanced_billing.rb +42 -18
  172. metadata +38 -17
  173. data/lib/advanced_billing/exceptions/refund_prepayment_aggregated_errors_response_exception.rb +0 -33
  174. data/lib/advanced_billing/models/billing_address.rb +0 -117
  175. data/lib/advanced_billing/models/credit_note1.rb +0 -419
  176. data/lib/advanced_billing/models/customer1.rb +0 -125
  177. data/lib/advanced_billing/models/invoice_event.rb +0 -124
  178. data/lib/advanced_billing/models/invoice_event_data.rb +0 -447
  179. data/lib/advanced_billing/models/invoice_event_payment.rb +0 -168
  180. data/lib/advanced_billing/models/invoice_event_payment1.rb +0 -160
  181. data/lib/advanced_billing/models/prepayment_aggregated_error.rb +0 -81
  182. data/lib/advanced_billing/models/price_point.rb +0 -216
  183. data/lib/advanced_billing/models/refund.rb +0 -138
  184. data/lib/advanced_billing/models/seller.rb +0 -92
  185. data/lib/advanced_billing/models/shipping_address.rb +0 -117
@@ -24,6 +24,8 @@ module AdvancedBilling
24
24
  # @param [BasicDateField] date_field Optional parameter: The type of filter
25
25
  # you would like to apply to your search. Use in query:
26
26
  # `date_field=created_at`.
27
+ # @param [ListProductsFilter] filter Optional parameter: Filter to use for
28
+ # List Products operations
27
29
  # @param [String] start_date Optional parameter: The start date (format
28
30
  # YYYY-MM-DD) with which to filter the date_field. Returns products with a
29
31
  # timestamp at or after midnight (12:00:00 AM) in your site’s time zone on
@@ -47,17 +49,6 @@ module AdvancedBilling
47
49
  # @param [ListProductsInclude] include Optional parameter: Allows including
48
50
  # additional data in the response. Use in query
49
51
  # `include=prepaid_product_price_point`.
50
- # @param [IncludeNotNull]
51
- # filter_prepaid_product_price_point_product_price_point_id Optional
52
- # parameter: Allows fetching products only if a prepaid product price point
53
- # is present or not. To use this filter you also have to include the
54
- # following param in the request `include=prepaid_product_price_point`. Use
55
- # in query
56
- # `filter[prepaid_product_price_point][product_price_point_id]=not_null`.
57
- # @param [TrueClass | FalseClass] filter_use_site_exchange_rate Optional
58
- # parameter: Allows fetching products with matching use_site_exchange_rate
59
- # based on provided value (refers to default price point). Use in query
60
- # `filter[use_site_exchange_rate]=true`.
61
52
  # @return [Array[ProductResponse]] response from the API call
62
53
  def list_products_for_product_family(options = {})
63
54
  new_api_call_builder
@@ -70,16 +61,16 @@ module AdvancedBilling
70
61
  .query_param(new_parameter(options['page'], key: 'page'))
71
62
  .query_param(new_parameter(options['per_page'], key: 'per_page'))
72
63
  .query_param(new_parameter(options['date_field'], key: 'date_field'))
64
+ .query_param(new_parameter(options['filter'], key: 'filter'))
73
65
  .query_param(new_parameter(options['start_date'], key: 'start_date'))
74
66
  .query_param(new_parameter(options['end_date'], key: 'end_date'))
75
67
  .query_param(new_parameter(options['start_datetime'], key: 'start_datetime'))
76
68
  .query_param(new_parameter(options['end_datetime'], key: 'end_datetime'))
77
69
  .query_param(new_parameter(options['include_archived'], key: 'include_archived'))
78
70
  .query_param(new_parameter(options['include'], key: 'include'))
79
- .query_param(new_parameter(options['filter_prepaid_product_price_point_product_price_point_id'], key: 'filter[prepaid_product_price_point][product_price_point_id]'))
80
- .query_param(new_parameter(options['filter_use_site_exchange_rate'], key: 'filter[use_site_exchange_rate]'))
81
71
  .header_param(new_parameter('application/json', key: 'accept'))
82
- .auth(Single.new('BasicAuth')))
72
+ .auth(Single.new('BasicAuth'))
73
+ .array_serialization_format(ArraySerializationFormat::CSV))
83
74
  .response(new_response_handler
84
75
  .deserializer(APIHelper.method(:custom_type_deserializer))
85
76
  .deserialize_into(ProductResponse.method(:from_hash))
@@ -381,38 +381,8 @@ module AdvancedBilling
381
381
  # to a Site.
382
382
  # @param [SortingDirection] direction Optional parameter: Controls the order
383
383
  # in which results are returned. Use in query `direction=asc`.
384
- # @param [IncludeNotNull] filter_archived_at Optional parameter: Allows
385
- # fetching price points only if archived_at is present or not. Use in query:
386
- # `filter[archived_at]=not_null`.
387
- # @param [BasicDateField] filter_date_field Optional parameter: The type of
388
- # filter you would like to apply to your search. Use in query:
389
- # `filter[date_field]=created_at`.
390
- # @param [Date] filter_end_date Optional parameter: The end date (format
391
- # YYYY-MM-DD) with which to filter the date_field. Returns price points with
392
- # a timestamp up to and including 11:59:59PM in your site’s time zone on the
393
- # date specified.
394
- # @param [DateTime] filter_end_datetime Optional parameter: The end date and
395
- # time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field.
396
- # Returns price points with a timestamp at or before exact time provided in
397
- # query. You can specify timezone in query - otherwise your site's time zone
398
- # will be used. If provided, this parameter will be used instead of
399
- # end_date.
400
- # @param [Array[Integer]] filter_ids Optional parameter: Allows fetching
401
- # price points with matching id based on provided values. Use in query:
402
- # `filter[ids]=1,2,3`.
403
- # @param [Date] filter_start_date Optional parameter: The start date (format
404
- # YYYY-MM-DD) with which to filter the date_field. Returns price points with
405
- # a timestamp at or after midnight (12:00:00 AM) in your site’s time zone on
406
- # the date specified.
407
- # @param [DateTime] filter_start_datetime Optional parameter: The start date
408
- # and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field.
409
- # Returns price points with a timestamp at or after exact time provided in
410
- # query. You can specify timezone in query - otherwise your site's time zone
411
- # will be used. If provided, this parameter will be used instead of
412
- # start_date.
413
- # @param [Array[PricePointType]] filter_type Optional parameter: Allows
414
- # fetching price points with matching type. Use in query:
415
- # `filter[type]=catalog,custom`.
384
+ # @param [ListPricePointsFilter] filter Optional parameter: Filter to use
385
+ # for List PricePoints operations
416
386
  # @param [ListProductsPricePointsInclude] include Optional parameter: Allows
417
387
  # including additional data in the response. Use in query:
418
388
  # `include=currency_prices`.
@@ -434,14 +404,7 @@ module AdvancedBilling
434
404
  '/products_price_points.json',
435
405
  Server::DEFAULT)
436
406
  .query_param(new_parameter(options['direction'], key: 'direction'))
437
- .query_param(new_parameter(options['filter_archived_at'], key: 'filter[archived_at]'))
438
- .query_param(new_parameter(options['filter_date_field'], key: 'filter[date_field]'))
439
- .query_param(new_parameter(options['filter_end_date'], key: 'filter[end_date]'))
440
- .query_param(new_parameter(options['filter_end_datetime'], key: 'filter[end_datetime]'))
441
- .query_param(new_parameter(options['filter_ids'], key: 'filter[ids]'))
442
- .query_param(new_parameter(options['filter_start_date'], key: 'filter[start_date]'))
443
- .query_param(new_parameter(options['filter_start_datetime'], key: 'filter[start_datetime]'))
444
- .query_param(new_parameter(options['filter_type'], key: 'filter[type]'))
407
+ .query_param(new_parameter(options['filter'], key: 'filter'))
445
408
  .query_param(new_parameter(options['include'], key: 'include'))
446
409
  .query_param(new_parameter(options['page'], key: 'page'))
447
410
  .query_param(new_parameter(options['per_page'], key: 'per_page'))
@@ -149,6 +149,8 @@ module AdvancedBilling
149
149
  # @param [BasicDateField] date_field Optional parameter: The type of filter
150
150
  # you would like to apply to your search. Use in query:
151
151
  # `date_field=created_at`.
152
+ # @param [ListProductsFilter] filter Optional parameter: Filter to use for
153
+ # List Products operations
152
154
  # @param [Date] end_date Optional parameter: The end date (format
153
155
  # YYYY-MM-DD) with which to filter the date_field. Returns products with a
154
156
  # timestamp up to and including 11:59:59PM in your site’s time zone on the
@@ -184,17 +186,6 @@ module AdvancedBilling
184
186
  # @param [ListProductsInclude] include Optional parameter: Allows including
185
187
  # additional data in the response. Use in query
186
188
  # `include=prepaid_product_price_point`.
187
- # @param [IncludeNotNull]
188
- # filter_prepaid_product_price_point_product_price_point_id Optional
189
- # parameter: Allows fetching products only if a prepaid product price point
190
- # is present or not. To use this filter you also have to include the
191
- # following param in the request `include=prepaid_product_price_point`. Use
192
- # in query
193
- # `filter[prepaid_product_price_point][product_price_point_id]=not_null`.
194
- # @param [TrueClass | FalseClass] filter_use_site_exchange_rate Optional
195
- # parameter: Allows fetching products with matching use_site_exchange_rate
196
- # based on provided value (refers to default price point). Use in query
197
- # `filter[use_site_exchange_rate]=true`.
198
189
  # @return [Array[ProductResponse]] response from the API call
199
190
  def list_products(options = {})
200
191
  new_api_call_builder
@@ -202,6 +193,7 @@ module AdvancedBilling
202
193
  '/products.json',
203
194
  Server::DEFAULT)
204
195
  .query_param(new_parameter(options['date_field'], key: 'date_field'))
196
+ .query_param(new_parameter(options['filter'], key: 'filter'))
205
197
  .query_param(new_parameter(options['end_date'], key: 'end_date'))
206
198
  .query_param(new_parameter(options['end_datetime'], key: 'end_datetime'))
207
199
  .query_param(new_parameter(options['start_date'], key: 'start_date'))
@@ -210,10 +202,9 @@ module AdvancedBilling
210
202
  .query_param(new_parameter(options['per_page'], key: 'per_page'))
211
203
  .query_param(new_parameter(options['include_archived'], key: 'include_archived'))
212
204
  .query_param(new_parameter(options['include'], key: 'include'))
213
- .query_param(new_parameter(options['filter_prepaid_product_price_point_product_price_point_id'], key: 'filter[prepaid_product_price_point][product_price_point_id]'))
214
- .query_param(new_parameter(options['filter_use_site_exchange_rate'], key: 'filter[use_site_exchange_rate]'))
215
205
  .header_param(new_parameter('application/json', key: 'accept'))
216
- .auth(Single.new('BasicAuth')))
206
+ .auth(Single.new('BasicAuth'))
207
+ .array_serialization_format(ArraySerializationFormat::CSV))
217
208
  .response(new_response_handler
218
209
  .deserializer(APIHelper.method(:custom_type_deserializer))
219
210
  .deserialize_into(ProductResponse.method(:from_hash))
@@ -48,6 +48,8 @@ module AdvancedBilling
48
48
  # `date_field=updated_at`.
49
49
  # @param [SortingDirection] direction Optional parameter: Controls the order
50
50
  # in which results are returned. Use in query `direction=asc`.
51
+ # @param [ListSubscriptionComponentsFilter] filter Optional parameter:
52
+ # Filter to use for List Subscription Components operation
51
53
  # @param [String] end_date Optional parameter: The end date (format
52
54
  # YYYY-MM-DD) with which to filter the date_field. Returns components with a
53
55
  # timestamp up to and including 11:59:59PM in your site’s time zone on the
@@ -74,16 +76,13 @@ module AdvancedBilling
74
76
  # components with a timestamp at or after exact time provided in query. You
75
77
  # can specify timezone in query - otherwise your site''s time zone will be
76
78
  # used. If provided, this parameter will be used instead of start_date.
77
- # @param [ListSubscriptionComponentsInclude] include Optional parameter:
78
- # Allows including additional data in the response. Use in query
79
- # `include=subscription`.
80
- # @param [TrueClass | FalseClass] filter_use_site_exchange_rate Optional
81
- # parameter: Allows fetching components allocation with matching
82
- # use_site_exchange_rate based on provided value. Use in query
83
- # `filter[use_site_exchange_rate]=true`.
84
- # @param [Array[String]] filter_currencies Optional parameter: Allows
85
- # fetching components allocation with matching currency based on provided
86
- # values. Use in query `filter[currencies]=EUR,USD`.
79
+ # @param [Array[ListSubscriptionComponentsInclude]] include Optional
80
+ # parameter: Allows including additional data in the response. Use in query
81
+ # `include=subscription,historic_usages`.
82
+ # @param [TrueClass | FalseClass] in_use Optional parameter: If in_use is
83
+ # set to true, it returns only components that are currently in use.
84
+ # However, if it's set to false or not provided, it returns all components
85
+ # connected with the subscription.
87
86
  # @return [Array[SubscriptionComponentResponse]] response from the API call
88
87
  def list_subscription_components(options = {})
89
88
  new_api_call_builder
@@ -95,6 +94,7 @@ module AdvancedBilling
95
94
  .should_encode(true))
96
95
  .query_param(new_parameter(options['date_field'], key: 'date_field'))
97
96
  .query_param(new_parameter(options['direction'], key: 'direction'))
97
+ .query_param(new_parameter(options['filter'], key: 'filter'))
98
98
  .query_param(new_parameter(options['end_date'], key: 'end_date'))
99
99
  .query_param(new_parameter(options['end_datetime'], key: 'end_datetime'))
100
100
  .query_param(new_parameter(options['price_point_ids'], key: 'price_point_ids'))
@@ -103,8 +103,7 @@ module AdvancedBilling
103
103
  .query_param(new_parameter(options['start_date'], key: 'start_date'))
104
104
  .query_param(new_parameter(options['start_datetime'], key: 'start_datetime'))
105
105
  .query_param(new_parameter(options['include'], key: 'include'))
106
- .query_param(new_parameter(options['filter_use_site_exchange_rate'], key: 'filter[use_site_exchange_rate]'))
107
- .query_param(new_parameter(options['filter_currencies'], key: 'filter[currencies]'))
106
+ .query_param(new_parameter(options['in_use'], key: 'in_use'))
108
107
  .header_param(new_parameter('application/json', key: 'accept'))
109
108
  .auth(Single.new('BasicAuth'))
110
109
  .array_serialization_format(ArraySerializationFormat::CSV))
@@ -869,6 +868,9 @@ module AdvancedBilling
869
868
  # attribute by which to sort. Use in query: `sort=updated_at`.
870
869
  # @param [SortingDirection] direction Optional parameter: Controls the order
871
870
  # in which results are returned. Use in query `direction=asc`.
871
+ # @param [ListSubscriptionComponentsForSiteFilter] filter Optional
872
+ # parameter: Filter to use for List Subscription Components For Site
873
+ # operation
872
874
  # @param [SubscriptionListDateField] date_field Optional parameter: The type
873
875
  # of filter you'd like to apply to your search. Use in query:
874
876
  # `date_field=updated_at`.
@@ -903,52 +905,7 @@ module AdvancedBilling
903
905
  # provided ids. Use in query `product_family_ids=1,2,3`.
904
906
  # @param [ListSubscriptionComponentsInclude] include Optional parameter:
905
907
  # Allows including additional data in the response. Use in query
906
- # `include=subscription`.
907
- # @param [TrueClass | FalseClass] filter_use_site_exchange_rate Optional
908
- # parameter: Allows fetching components allocation with matching
909
- # use_site_exchange_rate based on provided value. Use in query
910
- # `filter[use_site_exchange_rate]=true`.
911
- # @param [Array[String]] filter_currencies Optional parameter: Allows
912
- # fetching components allocation with matching currency based on provided
913
- # values. Use in query `filter[currencies]=USD,EUR`.
914
- # @param [Array[SubscriptionStateFilter]] filter_subscription_states
915
- # Optional parameter: Allows fetching components allocations that belong to
916
- # the subscription with matching states based on provided values. To use
917
- # this filter you also have to include the following param in the request
918
- # `include=subscription`. Use in query
919
- # `filter[subscription][states]=active,canceled&include=subscription`.
920
- # @param [SubscriptionListDateField] filter_subscription_date_field Optional
921
- # parameter: The type of filter you'd like to apply to your search. To use
922
- # this filter you also have to include the following param in the request
923
- # `include=subscription`.
924
- # @param [Date] filter_subscription_start_date Optional parameter: The start
925
- # date (format YYYY-MM-DD) with which to filter the date_field. Returns
926
- # components that belong to the subscription with a timestamp at or after
927
- # midnight (12:00:00 AM) in your site’s time zone on the date specified. To
928
- # use this filter you also have to include the following param in the
929
- # request `include=subscription`.
930
- # @param [DateTime] filter_subscription_start_datetime Optional parameter:
931
- # The start date and time (format YYYY-MM-DD HH:MM:SS) with which to filter
932
- # the date_field. Returns components that belong to the subscription with a
933
- # timestamp at or after exact time provided in query. You can specify
934
- # timezone in query - otherwise your site''s time zone will be used. If
935
- # provided, this parameter will be used instead of start_date. To use this
936
- # filter you also have to include the following param in the request
937
- # `include=subscription`.
938
- # @param [Date] filter_subscription_end_date Optional parameter: The end
939
- # date (format YYYY-MM-DD) with which to filter the date_field. Returns
940
- # components that belong to the subscription with a timestamp up to and
941
- # including 11:59:59PM in your site’s time zone on the date specified. To
942
- # use this filter you also have to include the following param in the
943
- # request `include=subscription`.
944
- # @param [DateTime] filter_subscription_end_datetime Optional parameter: The
945
- # end date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the
946
- # date_field. Returns components that belong to the subscription with a
947
- # timestamp at or before exact time provided in query. You can specify
948
- # timezone in query - otherwise your site''s time zone will be used. If
949
- # provided, this parameter will be used instead of end_date. To use this
950
- # filter you also have to include the following param in the request
951
- # `include=subscription`.
908
+ # `include=subscription,historic_usages`.
952
909
  # @return [ListSubscriptionComponentsResponse] response from the API call
953
910
  def list_subscription_components_for_site(options = {})
954
911
  new_api_call_builder
@@ -959,6 +916,7 @@ module AdvancedBilling
959
916
  .query_param(new_parameter(options['per_page'], key: 'per_page'))
960
917
  .query_param(new_parameter(options['sort'], key: 'sort'))
961
918
  .query_param(new_parameter(options['direction'], key: 'direction'))
919
+ .query_param(new_parameter(options['filter'], key: 'filter'))
962
920
  .query_param(new_parameter(options['date_field'], key: 'date_field'))
963
921
  .query_param(new_parameter(options['start_date'], key: 'start_date'))
964
922
  .query_param(new_parameter(options['start_datetime'], key: 'start_datetime'))
@@ -968,14 +926,6 @@ module AdvancedBilling
968
926
  .query_param(new_parameter(options['price_point_ids'], key: 'price_point_ids'))
969
927
  .query_param(new_parameter(options['product_family_ids'], key: 'product_family_ids'))
970
928
  .query_param(new_parameter(options['include'], key: 'include'))
971
- .query_param(new_parameter(options['filter_use_site_exchange_rate'], key: 'filter[use_site_exchange_rate]'))
972
- .query_param(new_parameter(options['filter_currencies'], key: 'filter[currencies]'))
973
- .query_param(new_parameter(options['filter_subscription_states'], key: 'filter[subscription][states]'))
974
- .query_param(new_parameter(options['filter_subscription_date_field'], key: 'filter[subscription][date_field]'))
975
- .query_param(new_parameter(options['filter_subscription_start_date'], key: 'filter[subscription][start_date]'))
976
- .query_param(new_parameter(options['filter_subscription_start_datetime'], key: 'filter[subscription][start_datetime]'))
977
- .query_param(new_parameter(options['filter_subscription_end_date'], key: 'filter[subscription][end_date]'))
978
- .query_param(new_parameter(options['filter_subscription_end_datetime'], key: 'filter[subscription][end_datetime]'))
979
929
  .header_param(new_parameter('application/json', key: 'accept'))
980
930
  .auth(Single.new('BasicAuth'))
981
931
  .array_serialization_format(ArraySerializationFormat::CSV))
@@ -42,17 +42,6 @@ module AdvancedBilling
42
42
  # This request will list a subscription group's prepayments.
43
43
  # @param [String] uid Required parameter: The uid of the subscription
44
44
  # group
45
- # @param [ListSubscriptionGroupPrepaymentDateField] filter_date_field
46
- # Optional parameter: The type of filter you would like to apply to your
47
- # search. Use in query: `filter[date_field]=created_at`.
48
- # @param [Date] filter_end_date Optional parameter: The end date (format
49
- # YYYY-MM-DD) with which to filter the date_field. Returns prepayments with
50
- # a timestamp up to and including 11:59:59PM in your site's time zone on the
51
- # date specified. Use in query: `filter[end_date]=2011-12-15`.
52
- # @param [Date] filter_start_date Optional parameter: The start date (format
53
- # YYYY-MM-DD) with which to filter the date_field. Returns prepayments with
54
- # a timestamp at or after midnight (12:00:00 AM) in your site's time zone on
55
- # the date specified. Use in query: `filter[start_date]=2011-12-15`.
56
45
  # @param [Integer] page Optional parameter: Result records are organized in
57
46
  # pages. By default, the first page of results is displayed. The page
58
47
  # parameter specifies a page number of results to fetch. You can start
@@ -64,6 +53,8 @@ module AdvancedBilling
64
53
  # many records to fetch in each request. Default value is 20. The maximum
65
54
  # allowed values is 200; any per_page value over 200 will be changed to 200.
66
55
  # Use in query `per_page=200`.
56
+ # @param [ListPrepaymentsFilter] filter Optional parameter: Filter to use
57
+ # for List Prepayments operations
67
58
  # @return [ListSubscriptionGroupPrepaymentResponse] response from the API call
68
59
  def list_prepayments_for_subscription_group(options = {})
69
60
  new_api_call_builder
@@ -73,13 +64,12 @@ module AdvancedBilling
73
64
  .template_param(new_parameter(options['uid'], key: 'uid')
74
65
  .is_required(true)
75
66
  .should_encode(true))
76
- .query_param(new_parameter(options['filter_date_field'], key: 'filter[date_field]'))
77
- .query_param(new_parameter(options['filter_end_date'], key: 'filter[end_date]'))
78
- .query_param(new_parameter(options['filter_start_date'], key: 'filter[start_date]'))
79
67
  .query_param(new_parameter(options['page'], key: 'page'))
80
68
  .query_param(new_parameter(options['per_page'], key: 'per_page'))
69
+ .query_param(new_parameter(options['filter'], key: 'filter'))
81
70
  .header_param(new_parameter('application/json', key: 'accept'))
82
- .auth(Single.new('BasicAuth')))
71
+ .auth(Single.new('BasicAuth'))
72
+ .array_serialization_format(ArraySerializationFormat::CSV))
83
73
  .response(new_response_handler
84
74
  .deserializer(APIHelper.method(:custom_type_deserializer))
85
75
  .deserialize_into(ListSubscriptionGroupPrepaymentResponse.method(:from_hash))
@@ -93,10 +93,10 @@ module AdvancedBilling
93
93
  Server::DEFAULT)
94
94
  .query_param(new_parameter(options['page'], key: 'page'))
95
95
  .query_param(new_parameter(options['per_page'], key: 'per_page'))
96
- .query_param(new_parameter(options['include'], key: 'include[]'))
96
+ .query_param(new_parameter(options['include'], key: 'include'))
97
97
  .header_param(new_parameter('application/json', key: 'accept'))
98
98
  .auth(Single.new('BasicAuth'))
99
- .array_serialization_format(ArraySerializationFormat::CSV))
99
+ .array_serialization_format(ArraySerializationFormat::UN_INDEXED))
100
100
  .response(new_response_handler
101
101
  .deserializer(APIHelper.method(:custom_type_deserializer))
102
102
  .deserialize_into(ListSubscriptionGroupsResponse.method(:from_hash)))
@@ -124,10 +124,10 @@ module AdvancedBilling
124
124
  .template_param(new_parameter(uid, key: 'uid')
125
125
  .is_required(true)
126
126
  .should_encode(true))
127
- .query_param(new_parameter(include, key: 'include[]'))
127
+ .query_param(new_parameter(include, key: 'include'))
128
128
  .header_param(new_parameter('application/json', key: 'accept'))
129
129
  .auth(Single.new('BasicAuth'))
130
- .array_serialization_format(ArraySerializationFormat::CSV))
130
+ .array_serialization_format(ArraySerializationFormat::UN_INDEXED))
131
131
  .response(new_response_handler
132
132
  .deserializer(APIHelper.method(:custom_type_deserializer))
133
133
  .deserialize_into(FullSubscriptionGroupResponse.method(:from_hash)))
@@ -135,8 +135,8 @@ module AdvancedBilling
135
135
  end
136
136
 
137
137
  # Use this endpoint to update subscription group members.
138
- # `"member_ids": []` should contain an array of both subscription IDs to set
139
- # as group members and subscription IDs already present in the groups. Not
138
+ # `"member_ids"` should contain an array of both subscription IDs to set as
139
+ # group members and subscription IDs already present in the groups. Not
140
140
  # including them will result in removing them from subscription group. To
141
141
  # clean up members, just leave the array empty.
142
142
  # @param [String] uid Required parameter: The uid of the subscription
@@ -78,18 +78,8 @@ module AdvancedBilling
78
78
  # many records to fetch in each request. Default value is 20. The maximum
79
79
  # allowed values is 200; any per_page value over 200 will be changed to 200.
80
80
  # Use in query `per_page=200`.
81
- # @param [BasicDateField] filter_date_field Optional parameter: The type of
82
- # filter you would like to apply to your search. created_at - Time when
83
- # prepayment was created. application_at - Time when prepayment was applied
84
- # to invoice. Use in query `filter[date_field]=created_at`.
85
- # @param [Date] filter_start_date Optional parameter: The start date (format
86
- # YYYY-MM-DD) with which to filter the date_field. Returns prepayments with
87
- # a timestamp at or after midnight (12:00:00 AM) in your site’s time zone on
88
- # the date specified. Use in query `filter[start_date]=2011-12-15`.
89
- # @param [Date] filter_end_date Optional parameter: The end date (format
90
- # YYYY-MM-DD) with which to filter the date_field. Returns prepayments with
91
- # a timestamp up to and including 11:59:59PM in your site’s time zone on the
92
- # date specified. Use in query `filter[end_date]=2011-12-15`.
81
+ # @param [ListPrepaymentsFilter] filter Optional parameter: Filter to use
82
+ # for List Prepayments operations
93
83
  # @return [PrepaymentsResponse] response from the API call
94
84
  def list_prepayments(options = {})
95
85
  new_api_call_builder
@@ -101,11 +91,10 @@ module AdvancedBilling
101
91
  .should_encode(true))
102
92
  .query_param(new_parameter(options['page'], key: 'page'))
103
93
  .query_param(new_parameter(options['per_page'], key: 'per_page'))
104
- .query_param(new_parameter(options['filter_date_field'], key: 'filter[date_field]'))
105
- .query_param(new_parameter(options['filter_start_date'], key: 'filter[start_date]'))
106
- .query_param(new_parameter(options['filter_end_date'], key: 'filter[end_date]'))
94
+ .query_param(new_parameter(options['filter'], key: 'filter'))
107
95
  .header_param(new_parameter('application/json', key: 'accept'))
108
- .auth(Single.new('BasicAuth')))
96
+ .auth(Single.new('BasicAuth'))
97
+ .array_serialization_format(ArraySerializationFormat::CSV))
109
98
  .response(new_response_handler
110
99
  .deserializer(APIHelper.method(:custom_type_deserializer))
111
100
  .deserialize_into(PrepaymentsResponse.method(:from_hash))
@@ -138,7 +127,11 @@ module AdvancedBilling
138
127
  .auth(Single.new('BasicAuth')))
139
128
  .response(new_response_handler
140
129
  .deserializer(APIHelper.method(:custom_type_deserializer))
141
- .deserialize_into(ServiceCredit.method(:from_hash)))
130
+ .deserialize_into(ServiceCredit.method(:from_hash))
131
+ .local_error_template('422',
132
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
133
+ ' Response: \'{$response.body}\'.',
134
+ APIException))
142
135
  .execute
143
136
  end
144
137
 
@@ -167,7 +160,7 @@ module AdvancedBilling
167
160
  .local_error_template('422',
168
161
  'HTTP Response Not OK. Status code: {$statusCode}.'\
169
162
  ' Response: \'{$response.body}\'.',
170
- ErrorListResponseException))
163
+ APIException))
171
164
  .execute
172
165
  end
173
166
 
@@ -179,7 +172,7 @@ module AdvancedBilling
179
172
  # in cents, with `amount_in_cents`.
180
173
  # @param [Integer] subscription_id Required parameter: The Chargify id of
181
174
  # the subscription
182
- # @param [String] prepayment_id Required parameter: id of prepayment
175
+ # @param [Integer] prepayment_id Required parameter: id of prepayment
183
176
  # @param [RefundPrepaymentRequest] body Optional parameter: Example:
184
177
  # @return [PrepaymentResponse] response from the API call
185
178
  def refund_prepayment(subscription_id,
@@ -213,7 +206,7 @@ module AdvancedBilling
213
206
  .local_error_template('422',
214
207
  'HTTP Response Not OK. Status code: {$statusCode}.'\
215
208
  ' Response: \'{$response.body}\'.',
216
- RefundPrepaymentAggregatedErrorsResponseException))
209
+ APIException))
217
210
  .execute
218
211
  end
219
212
  end
@@ -377,18 +377,16 @@ module AdvancedBilling
377
377
  # For more information on Stripe Direct Debit, please view the following two
378
378
  # resources:
379
379
  # + [Payment Profiles via API for Stripe BECS Direct
380
- # Debit](https://developers.chargify.com/docs/api-docs/1f10a4f170405-create-
381
- # payment-profile#stripe-becs-direct-debit)
380
+ # Debit]($e/Payment%20Profiles/createPaymentProfile)
382
381
  # + [Full documentation on Stripe Direct
383
382
  # Debit](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405050826765-
384
383
  # Stripe-SEPA-and-BECS-Direct-Debit)
385
- # + [Using Chargify.js with Stripe SEPA or BECS Direct Debit - minimal
386
- # example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzN
387
- # DIy-examples#minimal-example-with-sepa-or-becs-direct-debit-stripe-gateway
388
- # )
384
+ # + [Using Chargify.js with Stripe SEPA, BECS or BACS Direct Debit - minimal
385
+ # example](page:development-tools/chargify-js/examples#minimal-example-with-
386
+ # sepa-becs-or-bacs-direct-debit-stripe-gateway)
389
387
  # + [Using Chargify.js with Stripe BECS Direct Debit - full
390
- # example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzN
391
- # DIy-examples#full-example-with-becs-direct-debit-stripe-gateway)
388
+ # example](page:development-tools/chargify-js/examples#full-example-with-bec
389
+ # s-direct-debit-stripe-gateway)
392
390
  # ```json
393
391
  # {
394
392
  # "subscription": {
@@ -407,6 +405,43 @@ module AdvancedBilling
407
405
  # }
408
406
  # }
409
407
  # ```
408
+ # ## Subscription using Stripe BACS Direct Debit
409
+ # For more information on Stripe Direct Debit, please view the following two
410
+ # resources:
411
+ # + [Payment Profiles via API for Stripe BACS Direct
412
+ # Debit]($e/Payment%20Profiles/createPaymentProfile)
413
+ # + [Full documentation on Stripe Direct
414
+ # Debit](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405050826765-
415
+ # Stripe-SEPA-and-BECS-Direct-Debit)
416
+ # + [Using Chargify.js with Stripe SEPA, BECS or BACS Direct Debit - minimal
417
+ # example](page:development-tools/chargify-js/examples#minimal-example-with-
418
+ # sepa-becs-or-bacs-direct-debit-stripe-gateway)
419
+ # + [Using Chargify.js with Stripe BACS Direct Debit - full
420
+ # example](page:development-tools/chargify-js/examples#full-example-with-bac
421
+ # s-direct-debit-stripe-gateway)
422
+ # ```json
423
+ # {
424
+ # "subscription": {
425
+ # "product_handle": "gold-product",
426
+ # "customer_attributes": {
427
+ # "first_name": "Jane",
428
+ # "last_name": "Doe",
429
+ # "email": "jd@chargify.test"
430
+ # },
431
+ # "bank_account_attributes": {
432
+ # "bank_name": "Test Bank",
433
+ # "bank_branch_code": "108800",
434
+ # "bank_account_number": "00012345",
435
+ # "payment_type": "bank_account",
436
+ # "billing_address": "123 Main St.",
437
+ # "billing_city": "London",
438
+ # "billing_state": "LND",
439
+ # "billing_zip": "W1A 1AA",
440
+ # "billing_country": "GB"
441
+ # }
442
+ # }
443
+ # }
444
+ # ```
410
445
  # ## 3D Secure - Stripe
411
446
  # It may happen that a payment needs 3D Secure Authentication when the
412
447
  # subscription is created; this is referred to in our help docs as a
@@ -863,10 +898,10 @@ module AdvancedBilling
863
898
  .query_param(new_parameter(options['metadata'], key: 'metadata'))
864
899
  .query_param(new_parameter(options['direction'], key: 'direction'))
865
900
  .query_param(new_parameter(options['sort'], key: 'sort'))
866
- .query_param(new_parameter(options['include'], key: 'include[]'))
901
+ .query_param(new_parameter(options['include'], key: 'include'))
867
902
  .header_param(new_parameter('application/json', key: 'accept'))
868
903
  .auth(Single.new('BasicAuth'))
869
- .array_serialization_format(ArraySerializationFormat::CSV))
904
+ .array_serialization_format(ArraySerializationFormat::UN_INDEXED))
870
905
  .response(new_response_handler
871
906
  .deserializer(APIHelper.method(:custom_type_deserializer))
872
907
  .deserialize_into(SubscriptionResponse.method(:from_hash))
@@ -984,10 +1019,10 @@ module AdvancedBilling
984
1019
  .template_param(new_parameter(subscription_id, key: 'subscription_id')
985
1020
  .is_required(true)
986
1021
  .should_encode(true))
987
- .query_param(new_parameter(include, key: 'include[]'))
1022
+ .query_param(new_parameter(include, key: 'include'))
988
1023
  .header_param(new_parameter('application/json', key: 'accept'))
989
1024
  .auth(Single.new('BasicAuth'))
990
- .array_serialization_format(ArraySerializationFormat::PLAIN))
1025
+ .array_serialization_format(ArraySerializationFormat::UN_INDEXED))
991
1026
  .response(new_response_handler
992
1027
  .deserializer(APIHelper.method(:custom_type_deserializer))
993
1028
  .deserialize_into(SubscriptionResponse.method(:from_hash)))
@@ -1100,9 +1135,9 @@ module AdvancedBilling
1100
1135
  .should_encode(true))
1101
1136
  .query_param(new_parameter(ack, key: 'ack')
1102
1137
  .is_required(true))
1103
- .query_param(new_parameter(cascade, key: 'cascade[]'))
1138
+ .query_param(new_parameter(cascade, key: 'cascade'))
1104
1139
  .auth(Single.new('BasicAuth'))
1105
- .array_serialization_format(ArraySerializationFormat::PLAIN))
1140
+ .array_serialization_format(ArraySerializationFormat::CSV))
1106
1141
  .response(new_response_handler
1107
1142
  .is_response_void(true))
1108
1143
  .execute
@@ -94,5 +94,15 @@ module AdvancedBilling
94
94
  ip_address,
95
95
  hash)
96
96
  end
97
+
98
+ # Validates an instance of the object from a given value.
99
+ # @param [ACHAgreement | Hash] The value against the validation is performed.
100
+ def self.validate(value)
101
+ return true if value.instance_of? self
102
+
103
+ return false unless value.instance_of? Hash
104
+
105
+ true
106
+ end
97
107
  end
98
108
  end
@@ -63,27 +63,5 @@ module AdvancedBilling
63
63
  after,
64
64
  hash)
65
65
  end
66
-
67
- # Validates an instance of the object from a given value.
68
- # @param [AddressChange | Hash] The value against the validation is performed.
69
- def self.validate(value)
70
- if value.instance_of? self
71
- return (
72
- APIHelper.valid_type?(value.before,
73
- ->(val) { InvoiceAddress.validate(val) }) and
74
- APIHelper.valid_type?(value.after,
75
- ->(val) { InvoiceAddress.validate(val) })
76
- )
77
- end
78
-
79
- return false unless value.instance_of? Hash
80
-
81
- (
82
- APIHelper.valid_type?(value['before'],
83
- ->(val) { InvoiceAddress.validate(val) }) and
84
- APIHelper.valid_type?(value['after'],
85
- ->(val) { InvoiceAddress.validate(val) })
86
- )
87
- end
88
66
  end
89
67
  end
@@ -123,5 +123,15 @@ module AdvancedBilling
123
123
  secure_checkout_policy_url,
124
124
  hash)
125
125
  end
126
+
127
+ # Validates an instance of the object from a given value.
128
+ # @param [AgreementAcceptance | Hash] The value against the validation is performed.
129
+ def self.validate(value)
130
+ return true if value.instance_of? self
131
+
132
+ return false unless value.instance_of? Hash
133
+
134
+ true
135
+ end
126
136
  end
127
137
  end
@@ -326,9 +326,7 @@ module AdvancedBilling
326
326
  hash.key?('upgrade_charge') ? hash['upgrade_charge'] : SKIP
327
327
  downgrade_credit =
328
328
  hash.key?('downgrade_credit') ? hash['downgrade_credit'] : SKIP
329
- payment = hash.key?('payment') ? APIHelper.deserialize_union_type(
330
- UnionTypeLookUp.get(:AllocationPayment), hash['payment']
331
- ) : SKIP
329
+ payment = PaymentForAllocation.from_hash(hash['payment']) if hash['payment']
332
330
  expires_at = if hash.key?('expires_at')
333
331
  (DateTimeHelper.from_rfc3339(hash['expires_at']) if hash['expires_at'])
334
332
  else