maxio-advanced-billing-sdk 4.0.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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