maxio-advanced-billing-sdk 4.0.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +45 -45
  3. data/lib/advanced_billing/configuration.rb +2 -2
  4. data/lib/advanced_billing/controllers/advance_invoice_controller.rb +24 -24
  5. data/lib/advanced_billing/controllers/api_exports_controller.rb +57 -57
  6. data/lib/advanced_billing/controllers/base_controller.rb +10 -10
  7. data/lib/advanced_billing/controllers/billing_portal_controller.rb +33 -32
  8. data/lib/advanced_billing/controllers/component_price_points_controller.rb +60 -60
  9. data/lib/advanced_billing/controllers/components_controller.rb +110 -107
  10. data/lib/advanced_billing/controllers/coupons_controller.rb +89 -89
  11. data/lib/advanced_billing/controllers/custom_fields_controller.rb +76 -76
  12. data/lib/advanced_billing/controllers/customers_controller.rb +45 -41
  13. data/lib/advanced_billing/controllers/events_based_billing_segments_controller.rb +53 -53
  14. data/lib/advanced_billing/controllers/events_controller.rb +16 -15
  15. data/lib/advanced_billing/controllers/insights_controller.rb +17 -17
  16. data/lib/advanced_billing/controllers/invoices_controller.rb +99 -99
  17. data/lib/advanced_billing/controllers/offers_controller.rb +18 -15
  18. data/lib/advanced_billing/controllers/payment_profiles_controller.rb +107 -104
  19. data/lib/advanced_billing/controllers/product_families_controller.rb +26 -26
  20. data/lib/advanced_billing/controllers/product_price_points_controller.rb +62 -62
  21. data/lib/advanced_billing/controllers/products_controller.rb +37 -37
  22. data/lib/advanced_billing/controllers/proforma_invoices_controller.rb +61 -61
  23. data/lib/advanced_billing/controllers/reason_codes_controller.rb +35 -35
  24. data/lib/advanced_billing/controllers/referral_codes_controller.rb +9 -8
  25. data/lib/advanced_billing/controllers/sales_commissions_controller.rb +13 -13
  26. data/lib/advanced_billing/controllers/sites_controller.rb +11 -10
  27. data/lib/advanced_billing/controllers/subscription_components_controller.rb +170 -161
  28. data/lib/advanced_billing/controllers/subscription_group_invoice_account_controller.rb +23 -23
  29. data/lib/advanced_billing/controllers/subscription_group_status_controller.rb +21 -21
  30. data/lib/advanced_billing/controllers/subscription_groups_controller.rb +54 -54
  31. data/lib/advanced_billing/controllers/subscription_invoice_account_controller.rb +37 -37
  32. data/lib/advanced_billing/controllers/subscription_notes_controller.rb +20 -16
  33. data/lib/advanced_billing/controllers/subscription_products_controller.rb +20 -18
  34. data/lib/advanced_billing/controllers/subscription_status_controller.rb +74 -74
  35. data/lib/advanced_billing/controllers/subscriptions_controller.rb +163 -160
  36. data/lib/advanced_billing/controllers/webhooks_controller.rb +45 -44
  37. data/lib/advanced_billing/exceptions/component_allocation_error_exception.rb +15 -15
  38. data/lib/advanced_billing/exceptions/component_price_point_error_exception.rb +15 -15
  39. data/lib/advanced_billing/exceptions/customer_error_response_exception.rb +15 -15
  40. data/lib/advanced_billing/exceptions/error_array_map_response_exception.rb +15 -15
  41. data/lib/advanced_billing/exceptions/error_list_response_exception.rb +15 -15
  42. data/lib/advanced_billing/exceptions/error_string_map_response_exception.rb +15 -15
  43. data/lib/advanced_billing/exceptions/event_based_billing_list_segments_errors_exception.rb +15 -15
  44. data/lib/advanced_billing/exceptions/event_based_billing_segment_errors_exception.rb +15 -15
  45. data/lib/advanced_billing/exceptions/event_based_billing_segment_exception.rb +15 -15
  46. data/lib/advanced_billing/exceptions/product_price_point_error_response_exception.rb +15 -15
  47. data/lib/advanced_billing/exceptions/proforma_bad_request_error_response_exception.rb +15 -15
  48. data/lib/advanced_billing/exceptions/refund_prepayment_base_errors_response_exception.rb +15 -15
  49. data/lib/advanced_billing/exceptions/single_error_response_exception.rb +15 -15
  50. data/lib/advanced_billing/exceptions/single_string_error_response_exception.rb +15 -15
  51. data/lib/advanced_billing/exceptions/subscription_add_coupon_error_exception.rb +15 -15
  52. data/lib/advanced_billing/exceptions/subscription_component_allocation_error_exception.rb +15 -15
  53. data/lib/advanced_billing/exceptions/subscription_group_create_error_response_exception.rb +15 -15
  54. data/lib/advanced_billing/exceptions/subscription_group_signup_error_response_exception.rb +15 -15
  55. data/lib/advanced_billing/exceptions/subscription_group_update_error_response_exception.rb +15 -15
  56. data/lib/advanced_billing/exceptions/subscription_remove_coupon_errors_exception.rb +15 -15
  57. data/lib/advanced_billing/exceptions/subscriptions_mrr_error_response_exception.rb +15 -15
  58. data/lib/advanced_billing/exceptions/too_many_management_link_requests_error_exception.rb +15 -15
  59. data/lib/advanced_billing/models/activate_event_based_component.rb +84 -0
  60. data/lib/advanced_billing/models/{current_vault.rb → all_vaults.rb} +28 -7
  61. data/lib/advanced_billing/models/allocation.rb +1 -0
  62. data/lib/advanced_billing/models/allocation_preview_item.rb +1 -0
  63. data/lib/advanced_billing/models/apple_pay_payment_profile.rb +232 -0
  64. data/lib/advanced_billing/models/apple_pay_vault.rb +20 -0
  65. data/lib/advanced_billing/models/bank_account_attributes.rb +2 -0
  66. data/lib/advanced_billing/models/bank_account_payment_profile.rb +25 -20
  67. data/lib/advanced_billing/models/bank_account_vault.rb +19 -9
  68. data/lib/advanced_billing/models/change_invoice_status_event_data.rb +6 -6
  69. data/lib/advanced_billing/models/component.rb +1 -0
  70. data/lib/advanced_billing/models/component_custom_price.rb +33 -14
  71. data/lib/advanced_billing/models/component_price_point_item.rb +3 -1
  72. data/lib/advanced_billing/models/create_component_price_point.rb +3 -1
  73. data/lib/advanced_billing/models/create_customer.rb +11 -1
  74. data/lib/advanced_billing/models/create_metafield.rb +2 -1
  75. data/lib/advanced_billing/models/create_or_update_product.rb +7 -4
  76. data/lib/advanced_billing/models/create_payment_profile.rb +1 -1
  77. data/lib/advanced_billing/models/create_prepaid_usage_component_price_point.rb +6 -5
  78. data/lib/advanced_billing/models/create_product_price_point.rb +5 -3
  79. data/lib/advanced_billing/models/create_subscription.rb +27 -25
  80. data/lib/advanced_billing/models/credit_card_payment_profile.rb +17 -16
  81. data/lib/advanced_billing/models/credit_card_vault.rb +117 -0
  82. data/lib/advanced_billing/models/credit_note.rb +2 -2
  83. data/lib/advanced_billing/models/customer.rb +11 -1
  84. data/lib/advanced_billing/models/customer_attributes.rb +12 -1
  85. data/lib/advanced_billing/models/ebb_component.rb +1 -0
  86. data/lib/advanced_billing/models/{extended_interval_unit.rb → expiration_interval_unit.rb} +4 -4
  87. data/lib/advanced_billing/models/full_subscription_group_response.rb +65 -50
  88. data/lib/advanced_billing/models/get_one_time_token_payment_profile.rb +1 -1
  89. data/lib/advanced_billing/models/invoice.rb +19 -9
  90. data/lib/advanced_billing/models/invoice_consolidation_level.rb +2 -2
  91. data/lib/advanced_billing/models/invoice_refund.rb +13 -1
  92. data/lib/advanced_billing/models/invoice_status.rb +2 -2
  93. data/lib/advanced_billing/models/invoice_tax.rb +29 -0
  94. data/lib/advanced_billing/models/invoice_tax_component_breakout.rb +101 -1
  95. data/lib/advanced_billing/models/issue_invoice_event_data.rb +6 -6
  96. data/lib/advanced_billing/models/metered_component.rb +4 -3
  97. data/lib/advanced_billing/models/offer_item.rb +3 -1
  98. data/lib/advanced_billing/models/on_off_component.rb +3 -2
  99. data/lib/advanced_billing/models/paid_invoice.rb +2 -2
  100. data/lib/advanced_billing/models/pay_pal_vault.rb +29 -0
  101. data/lib/advanced_billing/models/payment_profile_attributes.rb +5 -5
  102. data/lib/advanced_billing/models/payment_profile_response.rb +3 -3
  103. data/lib/advanced_billing/models/payment_type.rb +4 -1
  104. data/lib/advanced_billing/models/paypal_payment_profile.rb +242 -0
  105. data/lib/advanced_billing/models/prepaid_usage_component.rb +5 -4
  106. data/lib/advanced_billing/models/product.rb +2 -2
  107. data/lib/advanced_billing/models/product_price_point.rb +2 -2
  108. data/lib/advanced_billing/models/proforma_invoice.rb +6 -6
  109. data/lib/advanced_billing/models/quantity_based_component.rb +4 -3
  110. data/lib/advanced_billing/models/refund_invoice_event_data.rb +4 -4
  111. data/lib/advanced_billing/models/resent_invitation.rb +36 -0
  112. data/lib/advanced_billing/models/subscription.rb +13 -10
  113. data/lib/advanced_billing/models/subscription_component.rb +1 -0
  114. data/lib/advanced_billing/models/subscription_component_subscription.rb +26 -20
  115. data/lib/advanced_billing/models/subscription_custom_price.rb +5 -2
  116. data/lib/advanced_billing/models/subscription_group_bank_account.rb +2 -0
  117. data/lib/advanced_billing/models/subscription_group_credit_card.rb +1 -1
  118. data/lib/advanced_billing/models/subscription_group_signup_response.rb +39 -30
  119. data/lib/advanced_billing/models/subscription_state.rb +30 -30
  120. data/lib/advanced_billing/models/tax_configuration.rb +1 -2
  121. data/lib/advanced_billing/models/update_component_price_point.rb +3 -1
  122. data/lib/advanced_billing/models/update_customer.rb +12 -1
  123. data/lib/advanced_billing/models/update_payment_profile.rb +1 -1
  124. data/lib/advanced_billing/utilities/file_wrapper.rb +9 -9
  125. data/lib/advanced_billing/utilities/union_type_lookup.rb +17 -3
  126. data/lib/advanced_billing.rb +10 -4
  127. metadata +16 -10
@@ -6,37 +6,37 @@
6
6
  module AdvancedBilling
7
7
  # SubscriptionsController
8
8
  class SubscriptionsController < BaseController
9
- # Full documentation on how subscriptions operate within Chargify can be
10
- # located under the following topics:
9
+ # Full documentation on how subscriptions operate within Advanced Billing
10
+ # can be located under the following topics:
11
11
  # + [Subscriptions
12
- # Reference](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405577172
13
- # 749-Subscription-Introduction)
12
+ # Reference](https://maxio.zendesk.com/hc/en-us/articles/24251526991757-Subs
13
+ # cription-Overview)
14
14
  # + [Subscriptions
15
- # Actions](https://maxio-chargify.zendesk.com/hc/en-us/articles/540551055655
16
- # 7-Actions)
15
+ # Actions](https://maxio.zendesk.com/hc/en-us/articles/24251983024653-Subscr
16
+ # iption-Actions-Overview)
17
17
  # + [Subscription
18
- # Cancellation](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405510
19
- # 556557-Actions#initiate-cancellation)
18
+ # Cancellation](https://maxio.zendesk.com/hc/en-us/articles/24251957778829-C
19
+ # ancel-Subscriptions)
20
20
  # + [Subscription
21
- # Reactivation](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404559
22
- # 291021-Reactivating-and-Resuming)
21
+ # Reactivation](https://maxio.zendesk.com/hc/en-us/articles/24252109503629-R
22
+ # eactivating-and-Resuming)
23
23
  # + [Subscription
24
- # Import](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404863655821
25
- # -Imports)
24
+ # Import](https://maxio.zendesk.com/hc/en-us/articles/24251489107213-Imports
25
+ # )
26
26
  # When creating a subscription, you must specify a product and a customer.
27
27
  # Credit card details may be required, depending on the options for the
28
28
  # Product being subscribed ([see Product
29
- # Options](https://maxio-chargify.zendesk.com/hc/en-us/articles/540524678222
30
- # 1#payment-method-settings)).
29
+ # Options](https://maxio.zendesk.com/hc/en-us/articles/24261076617869-Produc
30
+ # t-Editing)).
31
31
  # The product may be specified by `product_id` or by `product_handle` (API
32
32
  # Handle). In similar fashion, to pass a particular product price point, you
33
33
  # may either use `product_price_point_handle` or `product_price_point_id`.
34
34
  # An existing customer may be specified by a `customer_id` (ID within
35
- # Chargify) or a `customer_reference` (unique value within your app that you
36
- # have shared with Chargify via the reference attribute on a customer). You
37
- # may also pass in an existing payment profile for that customer with
38
- # `payment_profile_id`. A new customer may be created by providing
39
- # `customer_attributes`.
35
+ # Advanced Billing) or a `customer_reference` (unique value within your app
36
+ # that you have shared with Advanced Billing via the reference attribute on
37
+ # a customer). You may also pass in an existing payment profile for that
38
+ # customer with `payment_profile_id`. A new customer may be created by
39
+ # providing `customer_attributes`.
40
40
  # Credit card details may be required, depending on the options for the
41
41
  # product being subscribed. The product can be specified by `product_id` or
42
42
  # by `product_handle` (API Handle).
@@ -47,28 +47,29 @@ module AdvancedBilling
47
47
  # `bank_account`.
48
48
  # ## Taxable Subscriptions
49
49
  # If your intent is to charge your subscribers tax via [Avalara
50
- # Taxes](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405275711885-
51
- # Avalara-VAT-Tax) or [Custom
52
- # Taxes](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405069041549-
53
- # Custom-Taxes), there are a few considerations to be made regarding
54
- # collecting subscription data.
50
+ # Taxes](https://maxio.zendesk.com/hc/en-us/articles/24287043035661-Avalara-
51
+ # VAT-Tax) or [Custom
52
+ # Taxes](https://maxio.zendesk.com/hc/en-us/articles/24287044212749-Custom-T
53
+ # axes), there are a few considerations to be made regarding collecting
54
+ # subscription data.
55
55
  # For subscribers to be eligible to be taxed, the following information for
56
56
  # the `customer` object or `payment_profile` object must by supplied:
57
57
  # + A subscription to a [taxable
58
- # product](https://maxio-chargify.zendesk.com/hc/en-us/articles/540524678222
59
- # 1-Product-Editing#tax-settings)
58
+ # product](https://maxio.zendesk.com/hc/en-us/articles/24261076617869-Produc
59
+ # t-Editing#tax-settings)
60
60
  # + [Full valid billing or shipping
61
- # address](https://maxio-chargify.zendesk.com/hc/en-us/articles/540535611431
62
- # 7#full-address-required-for-taxable-subscriptions) to identify the tax
63
- # locale
61
+ # address](https://maxio.zendesk.com/hc/en-us/articles/24287008131853-Advanc
62
+ # ed-Billing-Managed-Sales-Tax#full-address-required-for-taxable-subscriptio
63
+ # ns) to identify the tax locale
64
64
  # + The portion of the address that houses the [state
65
- # information](https://maxio-chargify.zendesk.com/hc/en-us/articles/54053561
66
- # 14317#required-state-format-for-taxable-subscriptions) of either adddress
67
- # must adhere to the ISO standard of a 2-3 character limit/format.
65
+ # information](https://maxio.zendesk.com/hc/en-us/articles/24287008131853-Ad
66
+ # vanced-Billing-Managed-Sales-Tax#required-state-format-for-taxable-subscri
67
+ # ptions) of either adddress must adhere to the ISO standard of a 2-3
68
+ # character limit/format.
68
69
  # + The portion of the address that houses the [country
69
- # information](https://maxio-chargify.zendesk.com/hc/en-us/articles/54053561
70
- # 14317#required-country-format-for-taxable-subscriptions) must adhere to
71
- # the ISO standard of a 2 character limit/format.
70
+ # information](https://maxio.zendesk.com/hc/en-us/articles/24287008131853-Ad
71
+ # vanced-Billing-Managed-Sales-Tax#required-country-format-for-taxable-subsc
72
+ # riptions) must adhere to the ISO standard of a 2 character limit/format.
72
73
  # ## Subscription Request Examples
73
74
  # The subscription examples below will be split into two sections.
74
75
  # The first section, "Subscription Customization", will focus on passing
@@ -76,11 +77,11 @@ module AdvancedBilling
76
77
  # billing, and custom fields. These examples will presume you are using a
77
78
  # secure `chargify_token` generated by Chargify.js.
78
79
  # The second section, "Passing Payment Information", will focus on passing
79
- # payment information into Chargify. Please be aware that <b>collecting and
80
- # sending Chargify raw card details requires PCI compliance on your end</b>;
81
- # these examples are provided as guidance. If your business is not PCI
82
- # compliant, we recommend using Chargify.js to collect credit cards or bank
83
- # accounts.
80
+ # payment information into Advanced Billing. Please be aware that
81
+ # <b>collecting and sending Advanced Billing raw card details requires PCI
82
+ # compliance on your end</b>; these examples are provided as guidance. If
83
+ # your business is not PCI compliant, we recommend using Chargify.js to
84
+ # collect credit cards or bank accounts.
84
85
  # # Subscription Customization
85
86
  # ## With Components
86
87
  # Different components require slightly different data. For example,
@@ -126,7 +127,7 @@ module AdvancedBilling
126
127
  # # Passing Payment Information
127
128
  # ## Subscription with Chargify.js token
128
129
  # The `chargify_token` can be obtained using
129
- # [chargify.js](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0
130
+ # [Chargify.js](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0
130
131
  # NjAzNDI0-overview). The token represents payment profile attributes that
131
132
  # were provided by the customer in their browser and stored at the payment
132
133
  # gateway.
@@ -154,7 +155,7 @@ module AdvancedBilling
154
155
  # If you already have a customer and card stored in your payment gateway,
155
156
  # you may create a subscription with a `vault_token`. Providing the
156
157
  # last_four, card type and expiration date will allow the card to be
157
- # displayed properly in the Chargify UI.
158
+ # displayed properly in the Advanced Billing UI.
158
159
  # ```json
159
160
  # {
160
161
  # "subscription": {
@@ -285,8 +286,8 @@ module AdvancedBilling
285
286
  # GoCardless](https://developers.chargify.com/docs/api-docs/1f10a4f170405-cr
286
287
  # eate-payment-profile#gocardless)
287
288
  # + [Full documentation on
288
- # GoCardless](https://maxio-chargify.zendesk.com/hc/en-us/articles/540450188
289
- # 9677)
289
+ # GoCardless](https://maxio.zendesk.com/hc/en-us/articles/24176159136909-GoC
290
+ # ardless)
290
291
  # + [Using Chargify.js with GoCardless - minimal
291
292
  # example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzN
292
293
  # DIy-examples#minimal-example-with-direct-debit-gocardless-gateway)
@@ -347,8 +348,8 @@ module AdvancedBilling
347
348
  # Debit](https://developers.chargify.com/docs/api-docs/1f10a4f170405-create-
348
349
  # payment-profile#sepa-direct-debit)
349
350
  # + [Full documentation on Stripe Direct
350
- # Debit](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405050826765-
351
- # Stripe-SEPA-and-BECS-Direct-Debit)
351
+ # Debit](https://maxio.zendesk.com/hc/en-us/articles/24176170430093-Stripe-S
352
+ # EPA-and-BECS-Direct-Debit)
352
353
  # + [Using Chargify.js with Stripe SEPA or BECS Direct Debit - minimal
353
354
  # example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzN
354
355
  # DIy-examples#minimal-example-with-sepa-or-becs-direct-debit-stripe-gateway
@@ -379,8 +380,8 @@ module AdvancedBilling
379
380
  # + [Payment Profiles via API for Stripe BECS Direct
380
381
  # Debit]($e/Payment%20Profiles/createPaymentProfile)
381
382
  # + [Full documentation on Stripe Direct
382
- # Debit](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405050826765-
383
- # Stripe-SEPA-and-BECS-Direct-Debit)
383
+ # Debit](https://maxio.zendesk.com/hc/en-us/articles/24176170430093-Stripe-S
384
+ # EPA-and-BECS-Direct-Debit)
384
385
  # + [Using Chargify.js with Stripe SEPA, BECS or BACS Direct Debit - minimal
385
386
  # example](page:development-tools/chargify-js/examples#minimal-example-with-
386
387
  # sepa-becs-or-bacs-direct-debit-stripe-gateway)
@@ -411,8 +412,8 @@ module AdvancedBilling
411
412
  # + [Payment Profiles via API for Stripe BACS Direct
412
413
  # Debit]($e/Payment%20Profiles/createPaymentProfile)
413
414
  # + [Full documentation on Stripe Direct
414
- # Debit](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405050826765-
415
- # Stripe-SEPA-and-BECS-Direct-Debit)
415
+ # Debit](https://maxio.zendesk.com/hc/en-us/articles/24176170430093-Stripe-S
416
+ # EPA-and-BECS-Direct-Debit)
416
417
  # + [Using Chargify.js with Stripe SEPA, BECS or BACS Direct Debit - minimal
417
418
  # example](page:development-tools/chargify-js/examples#minimal-example-with-
418
419
  # sepa-becs-or-bacs-direct-debit-stripe-gateway)
@@ -446,9 +447,10 @@ module AdvancedBilling
446
447
  # It may happen that a payment needs 3D Secure Authentication when the
447
448
  # subscription is created; this is referred to in our help docs as a
448
449
  # [post-authentication
449
- # flow](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405177432077#p
450
- # sd2-flows-pre-authentication-and-post-authentication). The server returns
451
- # `422 Unprocessable Entity` in this case with the following response:
450
+ # flow](https://maxio.zendesk.com/hc/en-us/articles/24176278996493-Testing-I
451
+ # mplementing-3D-Secure#psd2-flows-pre-authentication-and-post-authenticatio
452
+ # n). The server returns `422 Unprocessable Entity` in this case with the
453
+ # following response:
452
454
  # ```json
453
455
  # {
454
456
  # "errors": [
@@ -496,9 +498,10 @@ module AdvancedBilling
496
498
  # It may happen that a payment needs 3D Secure Authentication when the
497
499
  # subscription is created; this is referred to in our help docs as a
498
500
  # [post-authentication
499
- # flow](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405177432077#p
500
- # sd2-flows-pre-authentication-and-post-authentication). The server returns
501
- # `422 Unprocessable Entity` in this case with the following response:
501
+ # flow](https://maxio.zendesk.com/hc/en-us/articles/24176278996493-Testing-I
502
+ # mplementing-3D-Secure#psd2-flows-pre-authentication-and-post-authenticatio
503
+ # n). The server returns `422 Unprocessable Entity` in this case with the
504
+ # following response:
502
505
  # ```json
503
506
  # {
504
507
  # "errors": [
@@ -565,22 +568,21 @@ module AdvancedBilling
565
568
  # Subscriptions can be “imported” via the API to handle the following
566
569
  # scenarios:
567
570
  # + You already have existing subscriptions with specific start and renewal
568
- # dates that you would like to import to Chargify
571
+ # dates that you would like to import to Advanced Billing
569
572
  # + You already have credit cards stored in your provider’s vault and you
570
573
  # would like to create subscriptions using those tokens
571
574
  # Before importing, you should have already set up your products to match
572
575
  # your offerings. Then, you can create Subscriptions via the API just like
573
576
  # you normally would, but using a few special attributes.
574
577
  # Full documentation on how import Subscriptions using the **import tool**
575
- # in the Chargify UI can be located
576
- # [here](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404863655821#
577
- # imports-0-0).
578
+ # in the Advanced Billing UI can be located
579
+ # [here](https://maxio.zendesk.com/hc/en-us/articles/24251489107213-Imports)
580
+ # .
578
581
  # ### Important Notices and Disclaimers regarding Imports
579
582
  # Before performing a bulk import of subscriptions via the API, we suggest
580
583
  # reading the [Subscriptions
581
- # Import](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404863655821
582
- # #important-notices-and-disclaimers) instructions to understand the
583
- # repurcussions of a large import.
584
+ # Import](https://maxio.zendesk.com/hc/en-us/articles/24251489107213-Imports
585
+ # ) instructions to understand the repurcussions of a large import.
584
586
  # ### Subscription Input Attributes
585
587
  # The following _additional_ attributes to the subscription input attributes
586
588
  # make imports possible: `next_billing_at`, `previous_billing_at`, and
@@ -599,9 +601,9 @@ module AdvancedBilling
599
601
  # `paypal_account`.
600
602
  # ### Stripe ACH Imports
601
603
  # If the bank account has already been verified, currently you will need to
602
- # create the customer, create the payment profile in Chargify - setting
603
- # verified=true, then create a subscription using the customer_id and
604
- # payment_profile_id.
604
+ # create the customer, create the payment profile in Advanced Billing -
605
+ # setting verified=true, then create a subscription using the customer_id
606
+ # and payment_profile_id.
605
607
  # ### Webhooks During Import
606
608
  # If no `next_billing_at` is provided, webhooks will be fired as normal. If
607
609
  # you do set a future `next_billing_at`, only a subset of the webhooks are
@@ -660,12 +662,12 @@ module AdvancedBilling
660
662
  # this time, the `scheme` attribute will always be 1.
661
663
  # ### Subscription in a Customer Hierarchy
662
664
  # For sites making use of the [Relationship
663
- # Billing](https://maxio-chargify.zendesk.com/hc/en-us/articles/540507879425
664
- # 3-Introduction-to-Invoices) and [Customer
665
- # Hierarchy](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404900384
666
- # 141) features, it is possible to create subscriptions within a customer
667
- # hierarchy. This can be achieved through the API by passing group
668
- # parameters in the **Create Subscription** request.
665
+ # Billing](https://maxio.zendesk.com/hc/en-us/articles/24252287829645-Advanc
666
+ # ed-Billing-Invoices-Overview) and [Customer
667
+ # Hierarchy](https://maxio.zendesk.com/hc/en-us/articles/24252185211533-Cust
668
+ # omer-Hierarchies-WhoPays) features, it is possible to create subscriptions
669
+ # within a customer hierarchy. This can be achieved through the API by
670
+ # passing group parameters in the **Create Subscription** request.
669
671
  # + The `group` parameters are optional and consist of the required `target`
670
672
  # and optional `billing` parameters.
671
673
  # When the `target` parameter specifies a customer that is already part of a
@@ -698,15 +700,16 @@ module AdvancedBilling
698
700
  # the customer hierarchy also.
699
701
  # ### Subscription in a Subscription Group
700
702
  # For sites making use of [Relationship
701
- # Billing](https://maxio-chargify.zendesk.com/hc/en-us/articles/540507879425
702
- # 3-Introduction-to-Invoices) it may be desireable to create a subscription
703
- # as part of a [subscription
704
- # group](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405577356173)
705
- # in order to rely on [invoice
706
- # consolidation](https://maxio-chargify.zendesk.com/hc/en-us/articles/540498
707
- # 0119949). This can be achieved through the API by passing group parameters
708
- # in the Create Subscription request. The `group` parameters are optional
709
- # and consist of the required `target` and optional `billing` parameters.
703
+ # Billing](https://maxio.zendesk.com/hc/en-us/articles/24252287829645-Advanc
704
+ # ed-Billing-Invoices-Overview) it may be desireable to create a
705
+ # subscription as part of a [subscription
706
+ # group](https://maxio.zendesk.com/hc/en-us/articles/24252172565005-Subscrip
707
+ # tion-Groups-Overview) in order to rely on [invoice
708
+ # consolidation](https://maxio.zendesk.com/hc/en-us/articles/24252269909389-
709
+ # Invoice-Consolidation). This can be achieved through the API by passing
710
+ # group parameters in the Create Subscription request. The `group`
711
+ # parameters are optional and consist of the required `target` and optional
712
+ # `billing` parameters.
710
713
  # The `target` parameters specify an existing subscription with which the
711
714
  # newly created subscription should be grouped. If the target subscription
712
715
  # is already part of a group, the new subscription will become a member of
@@ -804,12 +807,12 @@ module AdvancedBilling
804
807
  .body_serializer(proc do |param| param.to_json unless param.nil? end)
805
808
  .auth(Single.new('BasicAuth')))
806
809
  .response(new_response_handler
807
- .deserializer(APIHelper.method(:custom_type_deserializer))
808
- .deserialize_into(SubscriptionResponse.method(:from_hash))
809
- .local_error_template('422',
810
- 'HTTP Response Not OK. Status code: {$statusCode}.'\
811
- ' Response: \'{$response.body}\'.',
812
- ErrorListResponseException))
810
+ .deserializer(APIHelper.method(:custom_type_deserializer))
811
+ .deserialize_into(SubscriptionResponse.method(:from_hash))
812
+ .local_error_template('422',
813
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
814
+ ' Response: \'{$response.body}\'.',
815
+ ErrorListResponseException))
813
816
  .execute
814
817
  end
815
818
 
@@ -903,9 +906,9 @@ module AdvancedBilling
903
906
  .auth(Single.new('BasicAuth'))
904
907
  .array_serialization_format(ArraySerializationFormat::UN_INDEXED))
905
908
  .response(new_response_handler
906
- .deserializer(APIHelper.method(:custom_type_deserializer))
907
- .deserialize_into(SubscriptionResponse.method(:from_hash))
908
- .is_response_array(true))
909
+ .deserializer(APIHelper.method(:custom_type_deserializer))
910
+ .deserialize_into(SubscriptionResponse.method(:from_hash))
911
+ .is_response_array(true))
909
912
  .execute
910
913
  end
911
914
 
@@ -990,12 +993,12 @@ module AdvancedBilling
990
993
  .body_serializer(proc do |param| param.to_json unless param.nil? end)
991
994
  .auth(Single.new('BasicAuth')))
992
995
  .response(new_response_handler
993
- .deserializer(APIHelper.method(:custom_type_deserializer))
994
- .deserialize_into(SubscriptionResponse.method(:from_hash))
995
- .local_error_template('422',
996
- 'HTTP Response Not OK. Status code: {$statusCode}.'\
997
- ' Response: \'{$response.body}\'.',
998
- ErrorListResponseException))
996
+ .deserializer(APIHelper.method(:custom_type_deserializer))
997
+ .deserialize_into(SubscriptionResponse.method(:from_hash))
998
+ .local_error_template('422',
999
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
1000
+ ' Response: \'{$response.body}\'.',
1001
+ ErrorListResponseException))
999
1002
  .execute
1000
1003
  end
1001
1004
 
@@ -1024,8 +1027,8 @@ module AdvancedBilling
1024
1027
  .auth(Single.new('BasicAuth'))
1025
1028
  .array_serialization_format(ArraySerializationFormat::UN_INDEXED))
1026
1029
  .response(new_response_handler
1027
- .deserializer(APIHelper.method(:custom_type_deserializer))
1028
- .deserialize_into(SubscriptionResponse.method(:from_hash)))
1030
+ .deserializer(APIHelper.method(:custom_type_deserializer))
1031
+ .deserialize_into(SubscriptionResponse.method(:from_hash)))
1029
1032
  .execute
1030
1033
  end
1031
1034
 
@@ -1033,17 +1036,17 @@ module AdvancedBilling
1033
1036
  # usually managed for you automatically. Some of the fields can be set via
1034
1037
  # the normal Subscriptions Update API, but others can only be set using this
1035
1038
  # endpoint.
1036
- # This endpoint is provided for cases where you need to “align” Chargify
1037
- # data with data that happened in your system, perhaps before you started
1038
- # using Chargify. For example, you may choose to import your historical
1039
- # subscription data, and would like the activation and cancellation dates in
1040
- # Chargify to match your existing historical dates. Chargify does not
1041
- # backfill historical events (i.e. from the Events API), but some static
1042
- # data can be changed via this API.
1039
+ # This endpoint is provided for cases where you need to “align” Advanced
1040
+ # Billing data with data that happened in your system, perhaps before you
1041
+ # started using Advanced Billing. For example, you may choose to import your
1042
+ # historical subscription data, and would like the activation and
1043
+ # cancellation dates in Advanced Billing to match your existing historical
1044
+ # dates. Advanced Billing does not backfill historical events (i.e. from the
1045
+ # Events API), but some static data can be changed via this API.
1043
1046
  # Why are some fields only settable from this endpoint, and not the normal
1044
1047
  # subscription create and update endpoints? Because we want users of this
1045
- # endpoint to be aware that these fields are usually managed by Chargify,
1046
- # and using this API means **you are stepping out on your own.**
1048
+ # endpoint to be aware that these fields are usually managed by Advanced
1049
+ # Billing, and using this API means **you are stepping out on your own.**
1047
1050
  # Changing these fields will not affect any other attributes. For example,
1048
1051
  # adding an expiration date will not affect the next assessment date on the
1049
1052
  # subscription.
@@ -1080,11 +1083,11 @@ module AdvancedBilling
1080
1083
  .body_serializer(proc do |param| param.to_json unless param.nil? end)
1081
1084
  .auth(Single.new('BasicAuth')))
1082
1085
  .response(new_response_handler
1083
- .is_response_void(true)
1084
- .local_error_template('422',
1085
- 'HTTP Response Not OK. Status code: {$statusCode}.'\
1086
- ' Response: \'{$response.body}\'.',
1087
- SingleErrorResponseException))
1086
+ .is_response_void(true)
1087
+ .local_error_template('422',
1088
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
1089
+ ' Response: \'{$response.body}\'.',
1090
+ SingleErrorResponseException))
1088
1091
  .execute
1089
1092
  end
1090
1093
 
@@ -1100,8 +1103,8 @@ module AdvancedBilling
1100
1103
  .header_param(new_parameter('application/json', key: 'accept'))
1101
1104
  .auth(Single.new('BasicAuth')))
1102
1105
  .response(new_response_handler
1103
- .deserializer(APIHelper.method(:custom_type_deserializer))
1104
- .deserialize_into(SubscriptionResponse.method(:from_hash)))
1106
+ .deserializer(APIHelper.method(:custom_type_deserializer))
1107
+ .deserialize_into(SubscriptionResponse.method(:from_hash)))
1105
1108
  .execute
1106
1109
  end
1107
1110
 
@@ -1139,7 +1142,7 @@ module AdvancedBilling
1139
1142
  .auth(Single.new('BasicAuth'))
1140
1143
  .array_serialization_format(ArraySerializationFormat::CSV))
1141
1144
  .response(new_response_handler
1142
- .is_response_void(true))
1145
+ .is_response_void(true))
1143
1146
  .execute
1144
1147
  end
1145
1148
 
@@ -1164,8 +1167,8 @@ module AdvancedBilling
1164
1167
  .body_serializer(proc do |param| param.to_json unless param.nil? end)
1165
1168
  .auth(Single.new('BasicAuth')))
1166
1169
  .response(new_response_handler
1167
- .deserializer(APIHelper.method(:custom_type_deserializer))
1168
- .deserialize_into(PrepaidConfigurationResponse.method(:from_hash)))
1170
+ .deserializer(APIHelper.method(:custom_type_deserializer))
1171
+ .deserialize_into(PrepaidConfigurationResponse.method(:from_hash)))
1169
1172
  .execute
1170
1173
  end
1171
1174
 
@@ -1173,8 +1176,8 @@ module AdvancedBilling
1173
1176
  # JSON or XML as for a subscription creation.
1174
1177
  # The "Next Billing" amount and "Next Billing" date are represented in each
1175
1178
  # Subscriber's Summary. For more information, please see our documentation
1176
- # [here](https://chargify.zendesk.com/hc/en-us/articles/4407884887835#next-b
1177
- # illing).
1179
+ # [here](https://maxio.zendesk.com/hc/en-us/articles/24252493695757-Subscrib
1180
+ # er-Interface-Overview).
1178
1181
  # ## Side effects
1179
1182
  # A subscription will not be created by sending a POST to this endpoint. It
1180
1183
  # is meant to serve as a prediction.
@@ -1188,16 +1191,16 @@ module AdvancedBilling
1188
1191
  # in order to calculate tax
1189
1192
  # For more information about creating taxable previews, please see our
1190
1193
  # documentation guide on how to create [taxable
1191
- # subscriptions.](https://chargify.zendesk.com/hc/en-us/articles/44079042177
1192
- # 55#creating-taxable-subscriptions)
1194
+ # subscriptions.](https://maxio.zendesk.com/hc/en-us/sections/24287012349325
1195
+ # -Taxes)
1193
1196
  # You do **not** need to include a card number to generate tax information
1194
1197
  # when you are previewing a subscription. However, please note that when you
1195
1198
  # actually want to create the subscription, you must include the credit card
1196
- # information if you want the billing address to be stored in Chargify. The
1197
- # billing address and the credit card information are stored together within
1198
- # the payment profile object. Also, you may not send a billing address to
1199
- # Chargify without payment profile information, as the address is stored on
1200
- # the card.
1199
+ # information if you want the billing address to be stored in Advanced
1200
+ # Billing. The billing address and the credit card information are stored
1201
+ # together within the payment profile object. Also, you may not send a
1202
+ # billing address to Advanced Billing without payment profile information,
1203
+ # as the address is stored on the card.
1201
1204
  # You can pass shipping and billing addresses and still decide not to
1202
1205
  # calculate taxes. To do that, pass `skip_billing_manifest_taxes: true`
1203
1206
  # attribute.
@@ -1217,16 +1220,16 @@ module AdvancedBilling
1217
1220
  .body_serializer(proc do |param| param.to_json unless param.nil? end)
1218
1221
  .auth(Single.new('BasicAuth')))
1219
1222
  .response(new_response_handler
1220
- .deserializer(APIHelper.method(:custom_type_deserializer))
1221
- .deserialize_into(SubscriptionPreviewResponse.method(:from_hash)))
1223
+ .deserializer(APIHelper.method(:custom_type_deserializer))
1224
+ .deserialize_into(SubscriptionPreviewResponse.method(:from_hash)))
1222
1225
  .execute
1223
1226
  end
1224
1227
 
1225
1228
  # An existing subscription can accommodate multiple discounts/coupon codes.
1226
1229
  # This is only applicable if each coupon is stackable. For more information
1227
1230
  # on stackable coupons, we recommend reviewing our [coupon
1228
- # documentation.](https://chargify.zendesk.com/hc/en-us/articles/44077559095
1229
- # 31#stackable-coupons)
1231
+ # documentation.](https://maxio.zendesk.com/hc/en-us/articles/24261259337101
1232
+ # -Coupons-and-Subscriptions#stackability-rules)
1230
1233
  # ## Query Parameters vs Request Body Parameters
1231
1234
  # Passing in a coupon code as a query parameter will add the code to the
1232
1235
  # subscription, completely replacing all existing coupon codes on the
@@ -1258,20 +1261,20 @@ module AdvancedBilling
1258
1261
  .body_serializer(proc do |param| param.to_json unless param.nil? end)
1259
1262
  .auth(Single.new('BasicAuth')))
1260
1263
  .response(new_response_handler
1261
- .deserializer(APIHelper.method(:custom_type_deserializer))
1262
- .deserialize_into(SubscriptionResponse.method(:from_hash))
1263
- .local_error_template('422',
1264
- 'HTTP Response Not OK. Status code: {$statusCode}.'\
1265
- ' Response: \'{$response.body}\'.',
1266
- SubscriptionAddCouponErrorException))
1264
+ .deserializer(APIHelper.method(:custom_type_deserializer))
1265
+ .deserialize_into(SubscriptionResponse.method(:from_hash))
1266
+ .local_error_template('422',
1267
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
1268
+ ' Response: \'{$response.body}\'.',
1269
+ SubscriptionAddCouponErrorException))
1267
1270
  .execute
1268
1271
  end
1269
1272
 
1270
1273
  # Use this endpoint to remove a coupon from an existing subscription.
1271
1274
  # For more information on the expected behaviour of removing a coupon from a
1272
1275
  # subscription, please see our documentation
1273
- # [here.](https://chargify.zendesk.com/hc/en-us/articles/4407896488987#remov
1274
- # ing-a-coupon)
1276
+ # [here.](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons
1277
+ # -and-Subscriptions#removing-a-coupon)
1275
1278
  # @param [Integer] subscription_id Required parameter: The Chargify id of
1276
1279
  # the subscription
1277
1280
  # @param [String] coupon_code Optional parameter: The coupon code
@@ -1288,18 +1291,18 @@ module AdvancedBilling
1288
1291
  .query_param(new_parameter(coupon_code, key: 'coupon_code'))
1289
1292
  .auth(Single.new('BasicAuth')))
1290
1293
  .response(new_response_handler
1291
- .deserializer(APIHelper.method(:deserialize_primitive_types))
1292
- .deserialize_into(proc do |response| response.to_s end)
1293
- .is_primitive_response(true)
1294
- .local_error_template('422',
1295
- 'HTTP Response Not OK. Status code: {$statusCode}.'\
1296
- ' Response: \'{$response.body}\'.',
1297
- SubscriptionRemoveCouponErrorsException))
1294
+ .deserializer(APIHelper.method(:deserialize_primitive_types))
1295
+ .deserialize_into(proc do |response| response.to_s end)
1296
+ .is_primitive_response(true)
1297
+ .local_error_template('422',
1298
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
1299
+ ' Response: \'{$response.body}\'.',
1300
+ SubscriptionRemoveCouponErrorsException))
1298
1301
  .execute
1299
1302
  end
1300
1303
 
1301
- # Chargify offers the ability to activate awaiting signup and trialing
1302
- # subscriptions. This feature is only available on the Relationship
1304
+ # Advanced Billing offers the ability to activate awaiting signup and
1305
+ # trialing subscriptions. This feature is only available on the Relationship
1303
1306
  # Invoicing architecture. Subscriptions in a group may not be activated
1304
1307
  # immediately.
1305
1308
  # For details on how the activation works, and how to activate subscriptions
@@ -1307,12 +1310,12 @@ module AdvancedBilling
1307
1310
  # The `revert_on_failure` parameter controls the behavior upon activation
1308
1311
  # failure.
1309
1312
  # - If set to `true` and something goes wrong i.e. payment fails, then
1310
- # Chargify will not change the subscription's state. The subscription’s
1311
- # billing period will also remain the same.
1313
+ # Advanced Billing will not change the subscription's state. The
1314
+ # subscription’s billing period will also remain the same.
1312
1315
  # - If set to `false` and something goes wrong i.e. payment fails, then
1313
- # Chargify will continue through with the activation and enter an end of
1314
- # life state. For trialing subscriptions, that will either be trial ended
1315
- # (if the trial is no obligation), past due (if the trial has an
1316
+ # Advanced Billing will continue through with the activation and enter an
1317
+ # end of life state. For trialing subscriptions, that will either be trial
1318
+ # ended (if the trial is no obligation), past due (if the trial has an
1316
1319
  # obligation), or canceled (if the site has no dunning strategy, or has a
1317
1320
  # strategy that says to cancel immediately). For awaiting signup
1318
1321
  # subscriptions, that will always be canceled.
@@ -1343,8 +1346,8 @@ module AdvancedBilling
1343
1346
  # ```
1344
1347
  # ### Activate Trialing subscription
1345
1348
  # You can read more about the behavior of trialing subscriptions
1346
- # [here](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404494617357#
1347
- # trialing-subscriptions-0-0).
1349
+ # [here](https://maxio.zendesk.com/hc/en-us/articles/24252155721869-Trialing
1350
+ # -Subscriptions).
1348
1351
  # When the `revert_on_failure` parameter is set to `true`, the
1349
1352
  # subscription's state will remain as Trialing, we will void the invoice
1350
1353
  # from activation and return any prepayments and credits applied to the
@@ -1368,12 +1371,12 @@ module AdvancedBilling
1368
1371
  .body_serializer(proc do |param| param.to_json unless param.nil? end)
1369
1372
  .auth(Single.new('BasicAuth')))
1370
1373
  .response(new_response_handler
1371
- .deserializer(APIHelper.method(:custom_type_deserializer))
1372
- .deserialize_into(SubscriptionResponse.method(:from_hash))
1373
- .local_error_template('400',
1374
- 'HTTP Response Not OK. Status code: {$statusCode}.'\
1375
- ' Response: \'{$response.body}\'.',
1376
- ErrorArrayMapResponseException))
1374
+ .deserializer(APIHelper.method(:custom_type_deserializer))
1375
+ .deserialize_into(SubscriptionResponse.method(:from_hash))
1376
+ .local_error_template('400',
1377
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
1378
+ ' Response: \'{$response.body}\'.',
1379
+ ErrorArrayMapResponseException))
1377
1380
  .execute
1378
1381
  end
1379
1382
  end