maxio-advanced-billing-sdk 0.0.3 → 0.0.4

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 (710) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +28 -0
  3. data/README.md +374 -0
  4. data/lib/advanced_billing/api_helper.rb +10 -0
  5. data/lib/advanced_billing/client.rb +242 -0
  6. data/lib/advanced_billing/configuration.rb +123 -0
  7. data/lib/advanced_billing/controllers/advance_invoice_controller.rb +115 -0
  8. data/lib/advanced_billing/controllers/api_exports_controller.rb +262 -0
  9. data/lib/advanced_billing/controllers/base_controller.rb +75 -0
  10. data/lib/advanced_billing/controllers/billing_portal_controller.rb +162 -0
  11. data/lib/advanced_billing/controllers/components_controller.rb +908 -0
  12. data/lib/advanced_billing/controllers/coupons_controller.rb +667 -0
  13. data/lib/advanced_billing/controllers/custom_fields_controller.rb +443 -0
  14. data/lib/advanced_billing/controllers/customers_controller.rb +246 -0
  15. data/lib/advanced_billing/controllers/events_based_billing_segments_controller.rb +298 -0
  16. data/lib/advanced_billing/controllers/events_controller.rb +226 -0
  17. data/lib/advanced_billing/controllers/insights_controller.rb +161 -0
  18. data/lib/advanced_billing/controllers/invoices_controller.rb +947 -0
  19. data/lib/advanced_billing/controllers/offers_controller.rb +135 -0
  20. data/lib/advanced_billing/controllers/payment_profiles_controller.rb +745 -0
  21. data/lib/advanced_billing/controllers/product_families_controller.rb +187 -0
  22. data/lib/advanced_billing/controllers/product_price_points_controller.rb +461 -0
  23. data/lib/advanced_billing/controllers/products_controller.rb +224 -0
  24. data/lib/advanced_billing/controllers/proforma_invoices_controller.rb +359 -0
  25. data/lib/advanced_billing/controllers/reason_codes_controller.rb +154 -0
  26. data/lib/advanced_billing/controllers/referral_codes_controller.rb +41 -0
  27. data/lib/advanced_billing/controllers/sales_commissions_controller.rb +189 -0
  28. data/lib/advanced_billing/controllers/sites_controller.rb +90 -0
  29. data/lib/advanced_billing/controllers/subscription_components_controller.rb +982 -0
  30. data/lib/advanced_billing/controllers/subscription_group_invoice_account_controller.rb +155 -0
  31. data/lib/advanced_billing/controllers/subscription_group_status_controller.rb +157 -0
  32. data/lib/advanced_billing/controllers/subscription_groups_controller.rb +295 -0
  33. data/lib/advanced_billing/controllers/subscription_invoice_account_controller.rb +216 -0
  34. data/lib/advanced_billing/controllers/subscription_notes_controller.rb +156 -0
  35. data/lib/advanced_billing/controllers/subscription_products_controller.rb +166 -0
  36. data/lib/advanced_billing/controllers/subscription_status_controller.rb +479 -0
  37. data/lib/advanced_billing/controllers/subscriptions_controller.rb +1345 -0
  38. data/lib/advanced_billing/controllers/webhooks_controller.rb +206 -0
  39. data/lib/advanced_billing/exceptions/api_exception.rb +10 -0
  40. data/lib/advanced_billing/exceptions/component_allocation_error_exception.rb +41 -0
  41. data/lib/advanced_billing/exceptions/component_price_point_error_exception.rb +41 -0
  42. data/lib/advanced_billing/exceptions/customer_error_response_exception.rb +34 -0
  43. data/lib/advanced_billing/exceptions/error_array_map_response_exception.rb +32 -0
  44. data/lib/advanced_billing/exceptions/error_list_response_exception.rb +32 -0
  45. data/lib/advanced_billing/exceptions/error_string_map_response_exception.rb +32 -0
  46. data/lib/advanced_billing/exceptions/event_based_billing_list_segments_errors_exception.rb +32 -0
  47. data/lib/advanced_billing/exceptions/event_based_billing_segment_errors_exception.rb +35 -0
  48. data/lib/advanced_billing/exceptions/event_based_billing_segment_exception.rb +32 -0
  49. data/lib/advanced_billing/exceptions/product_price_point_error_response_exception.rb +32 -0
  50. data/lib/advanced_billing/exceptions/proforma_bad_request_error_response_exception.rb +32 -0
  51. data/lib/advanced_billing/exceptions/refund_prepayment_aggregated_errors_response_exception.rb +33 -0
  52. data/lib/advanced_billing/exceptions/refund_prepayment_base_errors_response_exception.rb +32 -0
  53. data/lib/advanced_billing/exceptions/single_error_response_exception.rb +32 -0
  54. data/lib/advanced_billing/exceptions/single_string_error_response_exception.rb +32 -0
  55. data/lib/advanced_billing/exceptions/subscription_add_coupon_error_exception.rb +47 -0
  56. data/lib/advanced_billing/exceptions/subscription_component_allocation_error_exception.rb +41 -0
  57. data/lib/advanced_billing/exceptions/subscription_group_signup_error_response_exception.rb +32 -0
  58. data/lib/advanced_billing/exceptions/subscription_group_update_error_response_exception.rb +32 -0
  59. data/lib/advanced_billing/exceptions/subscription_remove_coupon_errors_exception.rb +32 -0
  60. data/lib/advanced_billing/exceptions/subscriptions_mrr_error_response_exception.rb +32 -0
  61. data/lib/advanced_billing/exceptions/too_many_management_link_requests_error_exception.rb +32 -0
  62. data/lib/advanced_billing/http/auth/basic_auth.rb +29 -0
  63. data/lib/advanced_billing/http/http_call_back.rb +10 -0
  64. data/lib/advanced_billing/http/http_method_enum.rb +10 -0
  65. data/lib/advanced_billing/http/http_request.rb +10 -0
  66. data/lib/advanced_billing/http/http_response.rb +10 -0
  67. data/lib/advanced_billing/models/account_balance.rb +51 -0
  68. data/lib/advanced_billing/models/account_balances.rb +83 -0
  69. data/lib/advanced_billing/models/ach_agreement.rb +88 -0
  70. data/lib/advanced_billing/models/activate_subscription_request.rb +57 -0
  71. data/lib/advanced_billing/models/add_coupons_request.rb +50 -0
  72. data/lib/advanced_billing/models/add_subscription_to_a_group.rb +62 -0
  73. data/lib/advanced_billing/models/agreement_acceptance.rb +117 -0
  74. data/lib/advanced_billing/models/allocate_components.rb +151 -0
  75. data/lib/advanced_billing/models/allocation.rb +340 -0
  76. data/lib/advanced_billing/models/allocation_expiration_date.rb +50 -0
  77. data/lib/advanced_billing/models/allocation_preview.rb +197 -0
  78. data/lib/advanced_billing/models/allocation_preview_direction.rb +23 -0
  79. data/lib/advanced_billing/models/allocation_preview_item.rb +272 -0
  80. data/lib/advanced_billing/models/allocation_preview_line_item.rb +135 -0
  81. data/lib/advanced_billing/models/allocation_preview_line_item_kind.rb +29 -0
  82. data/lib/advanced_billing/models/allocation_preview_response.rb +49 -0
  83. data/lib/advanced_billing/models/allocation_response.rb +50 -0
  84. data/lib/advanced_billing/models/allocation_settings.rb +79 -0
  85. data/lib/advanced_billing/models/applied_credit_note_data.rb +60 -0
  86. data/lib/advanced_billing/models/apply_credit_note_event_data.rb +198 -0
  87. data/lib/advanced_billing/models/apply_debit_note_event_data.rb +111 -0
  88. data/lib/advanced_billing/models/apply_payment_event_data.rb +150 -0
  89. data/lib/advanced_billing/models/attribute_error.rb +48 -0
  90. data/lib/advanced_billing/models/auto_invite.rb +23 -0
  91. data/lib/advanced_billing/models/auto_resume.rb +61 -0
  92. data/lib/advanced_billing/models/bank_account_attributes.rb +175 -0
  93. data/lib/advanced_billing/models/bank_account_holder_type.rb +23 -0
  94. data/lib/advanced_billing/models/bank_account_payment_profile.rb +310 -0
  95. data/lib/advanced_billing/models/bank_account_response.rb +49 -0
  96. data/lib/advanced_billing/models/bank_account_type.rb +23 -0
  97. data/lib/advanced_billing/models/bank_account_vault.rb +32 -0
  98. data/lib/advanced_billing/models/bank_account_verification.rb +62 -0
  99. data/lib/advanced_billing/models/bank_account_verification_request.rb +50 -0
  100. data/lib/advanced_billing/models/base_model.rb +62 -0
  101. data/lib/advanced_billing/models/base_refund_error.rb +50 -0
  102. data/lib/advanced_billing/models/base_string_error.rb +50 -0
  103. data/lib/advanced_billing/models/basic_date_field.rb +23 -0
  104. data/lib/advanced_billing/models/batch_job.rb +94 -0
  105. data/lib/advanced_billing/models/batch_job_response.rb +48 -0
  106. data/lib/advanced_billing/models/billing_address.rb +107 -0
  107. data/lib/advanced_billing/models/billing_manifest.rb +147 -0
  108. data/lib/advanced_billing/models/billing_manifest_item.rb +189 -0
  109. data/lib/advanced_billing/models/billing_manifest_line_item_kind.rb +35 -0
  110. data/lib/advanced_billing/models/billing_schedule.rb +55 -0
  111. data/lib/advanced_billing/models/breakouts.rb +84 -0
  112. data/lib/advanced_billing/models/bulk_component_s_price_point_assignment.rb +59 -0
  113. data/lib/advanced_billing/models/bulk_create_product_price_points_request.rb +57 -0
  114. data/lib/advanced_billing/models/bulk_create_product_price_points_response.rb +59 -0
  115. data/lib/advanced_billing/models/bulk_create_segments.rb +59 -0
  116. data/lib/advanced_billing/models/bulk_update_segments.rb +59 -0
  117. data/lib/advanced_billing/models/bulk_update_segments_item.rb +80 -0
  118. data/lib/advanced_billing/models/calendar_billing.rb +79 -0
  119. data/lib/advanced_billing/models/cancel_grouped_subscriptions_request.rb +51 -0
  120. data/lib/advanced_billing/models/cancellation_method.rb +33 -0
  121. data/lib/advanced_billing/models/cancellation_options.rb +63 -0
  122. data/lib/advanced_billing/models/cancellation_request.rb +48 -0
  123. data/lib/advanced_billing/models/card_type.rb +125 -0
  124. data/lib/advanced_billing/models/change_invoice_collection_method_event_data.rb +81 -0
  125. data/lib/advanced_billing/models/chargify_ebb.rb +116 -0
  126. data/lib/advanced_billing/models/cleanup_scope.rb +26 -0
  127. data/lib/advanced_billing/models/collection_method.rb +32 -0
  128. data/lib/advanced_billing/models/component.rb +495 -0
  129. data/lib/advanced_billing/models/component_allocation_change.rb +147 -0
  130. data/lib/advanced_billing/models/component_allocation_error_item.rb +80 -0
  131. data/lib/advanced_billing/models/component_cost_data.rb +128 -0
  132. data/lib/advanced_billing/models/component_cost_data_rate_tier.rb +94 -0
  133. data/lib/advanced_billing/models/component_currency_price.rb +102 -0
  134. data/lib/advanced_billing/models/component_currency_prices_response.rb +57 -0
  135. data/lib/advanced_billing/models/component_custom_price.rb +96 -0
  136. data/lib/advanced_billing/models/component_kind.rb +32 -0
  137. data/lib/advanced_billing/models/component_price.rb +127 -0
  138. data/lib/advanced_billing/models/component_price_point.rb +302 -0
  139. data/lib/advanced_billing/models/component_price_point_error_item.rb +70 -0
  140. data/lib/advanced_billing/models/component_price_point_item.rb +119 -0
  141. data/lib/advanced_billing/models/component_price_point_response.rb +48 -0
  142. data/lib/advanced_billing/models/component_price_points_response.rb +69 -0
  143. data/lib/advanced_billing/models/component_response.rb +48 -0
  144. data/lib/advanced_billing/models/component_s_price_point_assignment.rb +72 -0
  145. data/lib/advanced_billing/models/compounding_strategy.rb +23 -0
  146. data/lib/advanced_billing/models/consolidated_invoice.rb +59 -0
  147. data/lib/advanced_billing/models/count_response.rb +50 -0
  148. data/lib/advanced_billing/models/coupon.rb +384 -0
  149. data/lib/advanced_billing/models/coupon_currency.rb +80 -0
  150. data/lib/advanced_billing/models/coupon_currency_request.rb +57 -0
  151. data/lib/advanced_billing/models/coupon_currency_response.rb +59 -0
  152. data/lib/advanced_billing/models/coupon_response.rb +50 -0
  153. data/lib/advanced_billing/models/coupon_restriction.rb +92 -0
  154. data/lib/advanced_billing/models/coupon_subcodes.rb +50 -0
  155. data/lib/advanced_billing/models/coupon_subcodes_response.rb +71 -0
  156. data/lib/advanced_billing/models/coupon_usage.rb +118 -0
  157. data/lib/advanced_billing/models/create_allocation.rb +198 -0
  158. data/lib/advanced_billing/models/create_allocation_request.rb +48 -0
  159. data/lib/advanced_billing/models/create_component_price_point.rb +163 -0
  160. data/lib/advanced_billing/models/create_component_price_point_request.rb +64 -0
  161. data/lib/advanced_billing/models/create_component_price_points_request.rb +64 -0
  162. data/lib/advanced_billing/models/create_currency_price.rb +70 -0
  163. data/lib/advanced_billing/models/create_currency_prices_request.rb +57 -0
  164. data/lib/advanced_billing/models/create_customer.rb +221 -0
  165. data/lib/advanced_billing/models/create_customer_request.rb +48 -0
  166. data/lib/advanced_billing/models/create_ebb_component.rb +49 -0
  167. data/lib/advanced_billing/models/create_invoice.rb +168 -0
  168. data/lib/advanced_billing/models/create_invoice_address.rb +130 -0
  169. data/lib/advanced_billing/models/create_invoice_coupon.rb +117 -0
  170. data/lib/advanced_billing/models/create_invoice_item.rb +192 -0
  171. data/lib/advanced_billing/models/create_invoice_payment.rb +92 -0
  172. data/lib/advanced_billing/models/create_invoice_payment_application.rb +58 -0
  173. data/lib/advanced_billing/models/create_invoice_payment_request.rb +59 -0
  174. data/lib/advanced_billing/models/create_invoice_request.rb +48 -0
  175. data/lib/advanced_billing/models/create_invoice_status.rb +23 -0
  176. data/lib/advanced_billing/models/create_metadata.rb +60 -0
  177. data/lib/advanced_billing/models/create_metadata_request.rb +57 -0
  178. data/lib/advanced_billing/models/create_metafield.rb +96 -0
  179. data/lib/advanced_billing/models/create_metafields_request.rb +64 -0
  180. data/lib/advanced_billing/models/create_metered_component.rb +49 -0
  181. data/lib/advanced_billing/models/create_multi_invoice_payment.rb +133 -0
  182. data/lib/advanced_billing/models/create_multi_invoice_payment_request.rb +48 -0
  183. data/lib/advanced_billing/models/create_offer.rb +117 -0
  184. data/lib/advanced_billing/models/create_offer_component.rb +61 -0
  185. data/lib/advanced_billing/models/create_offer_request.rb +48 -0
  186. data/lib/advanced_billing/models/create_on_off_component.rb +49 -0
  187. data/lib/advanced_billing/models/create_or_update_coupon.rb +86 -0
  188. data/lib/advanced_billing/models/create_or_update_flat_amount_coupon.rb +228 -0
  189. data/lib/advanced_billing/models/create_or_update_percentage_coupon.rb +229 -0
  190. data/lib/advanced_billing/models/create_or_update_product.rb +146 -0
  191. data/lib/advanced_billing/models/create_or_update_product_request.rb +48 -0
  192. data/lib/advanced_billing/models/create_or_update_segment_price.rb +88 -0
  193. data/lib/advanced_billing/models/create_payment.rb +77 -0
  194. data/lib/advanced_billing/models/create_payment_profile.rb +430 -0
  195. data/lib/advanced_billing/models/create_payment_profile_request.rb +49 -0
  196. data/lib/advanced_billing/models/create_prepaid_component.rb +49 -0
  197. data/lib/advanced_billing/models/create_prepaid_usage_component_price_point.rb +197 -0
  198. data/lib/advanced_billing/models/create_prepayment.rb +93 -0
  199. data/lib/advanced_billing/models/create_prepayment_request.rb +48 -0
  200. data/lib/advanced_billing/models/create_prepayment_response.rb +48 -0
  201. data/lib/advanced_billing/models/create_product_currency_price.rb +66 -0
  202. data/lib/advanced_billing/models/create_product_currency_prices_request.rb +57 -0
  203. data/lib/advanced_billing/models/create_product_family.rb +62 -0
  204. data/lib/advanced_billing/models/create_product_family_request.rb +49 -0
  205. data/lib/advanced_billing/models/create_product_price_point.rb +198 -0
  206. data/lib/advanced_billing/models/create_product_price_point_request.rb +48 -0
  207. data/lib/advanced_billing/models/create_quantity_based_component.rb +50 -0
  208. data/lib/advanced_billing/models/create_reason_code.rb +68 -0
  209. data/lib/advanced_billing/models/create_reason_code_request.rb +48 -0
  210. data/lib/advanced_billing/models/create_segment.rb +143 -0
  211. data/lib/advanced_billing/models/create_segment_request.rb +48 -0
  212. data/lib/advanced_billing/models/create_subscription.rb +749 -0
  213. data/lib/advanced_billing/models/create_subscription_component.rb +127 -0
  214. data/lib/advanced_billing/models/create_subscription_group.rb +75 -0
  215. data/lib/advanced_billing/models/create_subscription_group_request.rb +49 -0
  216. data/lib/advanced_billing/models/create_subscription_request.rb +48 -0
  217. data/lib/advanced_billing/models/create_usage.rb +88 -0
  218. data/lib/advanced_billing/models/create_usage_request.rb +48 -0
  219. data/lib/advanced_billing/models/created_prepayment.rb +117 -0
  220. data/lib/advanced_billing/models/credit_account_balance_changed.rb +122 -0
  221. data/lib/advanced_billing/models/credit_card_attributes.rb +72 -0
  222. data/lib/advanced_billing/models/credit_card_payment_profile.rb +306 -0
  223. data/lib/advanced_billing/models/credit_note.rb +417 -0
  224. data/lib/advanced_billing/models/credit_note1.rb +409 -0
  225. data/lib/advanced_billing/models/credit_note_application.rb +92 -0
  226. data/lib/advanced_billing/models/credit_note_line_item.rb +245 -0
  227. data/lib/advanced_billing/models/credit_note_status.rb +23 -0
  228. data/lib/advanced_billing/models/credit_scheme.rb +26 -0
  229. data/lib/advanced_billing/models/credit_scheme_request.rb +48 -0
  230. data/lib/advanced_billing/models/credit_type.rb +28 -0
  231. data/lib/advanced_billing/models/currency_price.rb +102 -0
  232. data/lib/advanced_billing/models/currency_price_role.rb +26 -0
  233. data/lib/advanced_billing/models/currency_prices_response.rb +57 -0
  234. data/lib/advanced_billing/models/current_vault.rb +99 -0
  235. data/lib/advanced_billing/models/custom_field_value_change.rb +148 -0
  236. data/lib/advanced_billing/models/customer.rb +358 -0
  237. data/lib/advanced_billing/models/customer1.rb +114 -0
  238. data/lib/advanced_billing/models/customer_attributes.rb +243 -0
  239. data/lib/advanced_billing/models/customer_billing_address_change.rb +60 -0
  240. data/lib/advanced_billing/models/customer_change.rb +83 -0
  241. data/lib/advanced_billing/models/customer_changes_preview_response.rb +48 -0
  242. data/lib/advanced_billing/models/customer_custom_fields_change.rb +78 -0
  243. data/lib/advanced_billing/models/customer_error.rb +60 -0
  244. data/lib/advanced_billing/models/customer_payer_change.rb +60 -0
  245. data/lib/advanced_billing/models/customer_response.rb +48 -0
  246. data/lib/advanced_billing/models/customer_shipping_address_change.rb +60 -0
  247. data/lib/advanced_billing/models/deduct_service_credit.rb +81 -0
  248. data/lib/advanced_billing/models/deduct_service_credit_request.rb +48 -0
  249. data/lib/advanced_billing/models/delayed_cancellation_response.rb +50 -0
  250. data/lib/advanced_billing/models/delete_subscription_group_response.rb +60 -0
  251. data/lib/advanced_billing/models/direction.rb +23 -0
  252. data/lib/advanced_billing/models/discount_type.rb +23 -0
  253. data/lib/advanced_billing/models/dunner_data.rb +96 -0
  254. data/lib/advanced_billing/models/dunning_step_data.rb +120 -0
  255. data/lib/advanced_billing/models/dunning_step_reached.rb +92 -0
  256. data/lib/advanced_billing/models/ebb_component.rb +301 -0
  257. data/lib/advanced_billing/models/ebb_event.rb +50 -0
  258. data/lib/advanced_billing/models/enable_webhooks_request.rb +49 -0
  259. data/lib/advanced_billing/models/enable_webhooks_response.rb +51 -0
  260. data/lib/advanced_billing/models/endpoint.rb +91 -0
  261. data/lib/advanced_billing/models/endpoint_response.rb +50 -0
  262. data/lib/advanced_billing/models/errors.rb +60 -0
  263. data/lib/advanced_billing/models/event.rb +150 -0
  264. data/lib/advanced_billing/models/event_based_billing_segment_error.rb +51 -0
  265. data/lib/advanced_billing/models/event_response.rb +48 -0
  266. data/lib/advanced_billing/models/event_type.rb +121 -0
  267. data/lib/advanced_billing/models/extended_interval_unit.rb +26 -0
  268. data/lib/advanced_billing/models/failed_payment_action.rb +37 -0
  269. data/lib/advanced_billing/models/first_charge_type.rb +26 -0
  270. data/lib/advanced_billing/models/full_subscription_group_response.rb +171 -0
  271. data/lib/advanced_billing/models/get_one_time_token_payment_profile.rb +261 -0
  272. data/lib/advanced_billing/models/get_one_time_token_request.rb +49 -0
  273. data/lib/advanced_billing/models/group_billing.rb +77 -0
  274. data/lib/advanced_billing/models/group_settings.rb +75 -0
  275. data/lib/advanced_billing/models/group_target.rb +62 -0
  276. data/lib/advanced_billing/models/group_target_type.rb +32 -0
  277. data/lib/advanced_billing/models/include_not_null.rb +20 -0
  278. data/lib/advanced_billing/models/include_option.rb +23 -0
  279. data/lib/advanced_billing/models/interval_unit.rb +23 -0
  280. data/lib/advanced_billing/models/invoice.rb +734 -0
  281. data/lib/advanced_billing/models/invoice_address.rb +107 -0
  282. data/lib/advanced_billing/models/invoice_balance_item.rb +71 -0
  283. data/lib/advanced_billing/models/invoice_consolidation_level.rb +34 -0
  284. data/lib/advanced_billing/models/invoice_credit.rb +123 -0
  285. data/lib/advanced_billing/models/invoice_custom_field.rb +80 -0
  286. data/lib/advanced_billing/models/invoice_customer.rb +115 -0
  287. data/lib/advanced_billing/models/invoice_date_field.rb +32 -0
  288. data/lib/advanced_billing/models/invoice_discount.rb +174 -0
  289. data/lib/advanced_billing/models/invoice_discount_breakout.rb +72 -0
  290. data/lib/advanced_billing/models/invoice_display_settings.rb +65 -0
  291. data/lib/advanced_billing/models/invoice_event.rb +105 -0
  292. data/lib/advanced_billing/models/invoice_event1.rb +399 -0
  293. data/lib/advanced_billing/models/invoice_event_type.rb +59 -0
  294. data/lib/advanced_billing/models/invoice_issued.rb +258 -0
  295. data/lib/advanced_billing/models/invoice_line_item.rb +332 -0
  296. data/lib/advanced_billing/models/invoice_line_item_component_cost_data.rb +69 -0
  297. data/lib/advanced_billing/models/invoice_line_item_event_data.rb +266 -0
  298. data/lib/advanced_billing/models/invoice_line_item_pricing_detail.rb +60 -0
  299. data/lib/advanced_billing/models/invoice_payer.rb +103 -0
  300. data/lib/advanced_billing/models/invoice_payment.rb +158 -0
  301. data/lib/advanced_billing/models/invoice_payment_application.rb +74 -0
  302. data/lib/advanced_billing/models/invoice_payment_method.rb +124 -0
  303. data/lib/advanced_billing/models/invoice_payment_method_type.rb +35 -0
  304. data/lib/advanced_billing/models/invoice_payment_type.rb +29 -0
  305. data/lib/advanced_billing/models/invoice_pre_payment.rb +75 -0
  306. data/lib/advanced_billing/models/invoice_previous_balance.rb +78 -0
  307. data/lib/advanced_billing/models/invoice_refund.rb +106 -0
  308. data/lib/advanced_billing/models/invoice_response.rb +48 -0
  309. data/lib/advanced_billing/models/invoice_role.rb +47 -0
  310. data/lib/advanced_billing/models/invoice_seller.rb +83 -0
  311. data/lib/advanced_billing/models/invoice_sort_field.rb +41 -0
  312. data/lib/advanced_billing/models/invoice_status.rb +37 -0
  313. data/lib/advanced_billing/models/invoice_tax.rb +172 -0
  314. data/lib/advanced_billing/models/invoice_tax_breakout.rb +71 -0
  315. data/lib/advanced_billing/models/invoice_tax_component_breakout.rb +81 -0
  316. data/lib/advanced_billing/models/issue_advance_invoice_request.rb +50 -0
  317. data/lib/advanced_billing/models/issue_invoice_event_data.rb +136 -0
  318. data/lib/advanced_billing/models/issue_invoice_request.rb +63 -0
  319. data/lib/advanced_billing/models/issue_service_credit.rb +81 -0
  320. data/lib/advanced_billing/models/issue_service_credit_request.rb +49 -0
  321. data/lib/advanced_billing/models/item_category.rb +33 -0
  322. data/lib/advanced_billing/models/item_price_point_changed.rb +133 -0
  323. data/lib/advanced_billing/models/item_price_point_data.rb +70 -0
  324. data/lib/advanced_billing/models/line_item_kind.rb +47 -0
  325. data/lib/advanced_billing/models/line_item_transaction_type.rb +38 -0
  326. data/lib/advanced_billing/models/list_components_price_points_include.rb +20 -0
  327. data/lib/advanced_billing/models/list_components_price_points_response.rb +57 -0
  328. data/lib/advanced_billing/models/list_credit_notes_response.rb +57 -0
  329. data/lib/advanced_billing/models/list_events_date_field.rb +20 -0
  330. data/lib/advanced_billing/models/list_invoice_events_response.rb +89 -0
  331. data/lib/advanced_billing/models/list_invoices_response.rb +57 -0
  332. data/lib/advanced_billing/models/list_metafields_response.rb +99 -0
  333. data/lib/advanced_billing/models/list_mrr_response.rb +48 -0
  334. data/lib/advanced_billing/models/list_mrr_response_result.rb +120 -0
  335. data/lib/advanced_billing/models/list_offers_response.rb +59 -0
  336. data/lib/advanced_billing/models/list_product_price_points_response.rb +57 -0
  337. data/lib/advanced_billing/models/list_products_include.rb +20 -0
  338. data/lib/advanced_billing/models/list_products_price_points_include.rb +20 -0
  339. data/lib/advanced_billing/models/list_public_keys_meta.rb +80 -0
  340. data/lib/advanced_billing/models/list_public_keys_response.rb +69 -0
  341. data/lib/advanced_billing/models/list_sale_rep_item.rb +93 -0
  342. data/lib/advanced_billing/models/list_segments_response.rb +59 -0
  343. data/lib/advanced_billing/models/list_subcription_group_prepayment_item.rb +142 -0
  344. data/lib/advanced_billing/models/list_subscription_components_include.rb +20 -0
  345. data/lib/advanced_billing/models/list_subscription_components_response.rb +57 -0
  346. data/lib/advanced_billing/models/list_subscription_components_sort.rb +23 -0
  347. data/lib/advanced_billing/models/list_subscription_group_prepayment.rb +49 -0
  348. data/lib/advanced_billing/models/list_subscription_group_prepayment_date_field.rb +23 -0
  349. data/lib/advanced_billing/models/list_subscription_group_prepayment_response.rb +57 -0
  350. data/lib/advanced_billing/models/list_subscription_groups_item.rb +146 -0
  351. data/lib/advanced_billing/models/list_subscription_groups_meta.rb +60 -0
  352. data/lib/advanced_billing/models/list_subscription_groups_response.rb +69 -0
  353. data/lib/advanced_billing/models/metadata.rb +102 -0
  354. data/lib/advanced_billing/models/metafield.rb +124 -0
  355. data/lib/advanced_billing/models/metafield_input.rb +33 -0
  356. data/lib/advanced_billing/models/metafield_scope.rb +113 -0
  357. data/lib/advanced_billing/models/metered_component.rb +323 -0
  358. data/lib/advanced_billing/models/metered_usage.rb +135 -0
  359. data/lib/advanced_billing/models/movement.rb +143 -0
  360. data/lib/advanced_billing/models/movement_line_item.rb +148 -0
  361. data/lib/advanced_billing/models/mrr.rb +103 -0
  362. data/lib/advanced_billing/models/mrr_movement.rb +81 -0
  363. data/lib/advanced_billing/models/mrr_response.rb +48 -0
  364. data/lib/advanced_billing/models/multi_invoice_payment.rb +92 -0
  365. data/lib/advanced_billing/models/multi_invoice_payment_response.rb +48 -0
  366. data/lib/advanced_billing/models/nested_subscription_group.rb +94 -0
  367. data/lib/advanced_billing/models/net_terms.rb +95 -0
  368. data/lib/advanced_billing/models/offer.rb +266 -0
  369. data/lib/advanced_billing/models/offer_discount.rb +70 -0
  370. data/lib/advanced_billing/models/offer_item.rb +159 -0
  371. data/lib/advanced_billing/models/offer_response.rb +50 -0
  372. data/lib/advanced_billing/models/offer_signup_page.rb +100 -0
  373. data/lib/advanced_billing/models/on_off_component.rb +287 -0
  374. data/lib/advanced_billing/models/organization_address.rb +129 -0
  375. data/lib/advanced_billing/models/origin_invoice.rb +60 -0
  376. data/lib/advanced_billing/models/overage_pricing.rb +73 -0
  377. data/lib/advanced_billing/models/override_subscription.rb +134 -0
  378. data/lib/advanced_billing/models/override_subscription_request.rb +48 -0
  379. data/lib/advanced_billing/models/paginated_metadata.rb +99 -0
  380. data/lib/advanced_billing/models/pause_request.rb +50 -0
  381. data/lib/advanced_billing/models/payer_attributes.rb +223 -0
  382. data/lib/advanced_billing/models/payer_error.rb +70 -0
  383. data/lib/advanced_billing/models/payment.rb +82 -0
  384. data/lib/advanced_billing/models/payment_collection_method_changed.rb +80 -0
  385. data/lib/advanced_billing/models/payment_for_allocation.rb +91 -0
  386. data/lib/advanced_billing/models/payment_method_apple_pay_type.rb +60 -0
  387. data/lib/advanced_billing/models/payment_method_bank_account_type.rb +94 -0
  388. data/lib/advanced_billing/models/payment_method_credit_card_type.rb +117 -0
  389. data/lib/advanced_billing/models/payment_method_external_type.rb +105 -0
  390. data/lib/advanced_billing/models/payment_method_nested_data.rb +156 -0
  391. data/lib/advanced_billing/models/payment_method_nested_data1.rb +148 -0
  392. data/lib/advanced_billing/models/payment_method_paypal_type.rb +79 -0
  393. data/lib/advanced_billing/models/payment_profile_attributes.rb +370 -0
  394. data/lib/advanced_billing/models/payment_profile_response.rb +64 -0
  395. data/lib/advanced_billing/models/payment_related_events.rb +80 -0
  396. data/lib/advanced_billing/models/payment_response.rb +69 -0
  397. data/lib/advanced_billing/models/payment_type.rb +26 -0
  398. data/lib/advanced_billing/models/pending_cancellation_change.rb +80 -0
  399. data/lib/advanced_billing/models/portal_management_link.rb +104 -0
  400. data/lib/advanced_billing/models/prepaid_component_price_point.rb +107 -0
  401. data/lib/advanced_billing/models/prepaid_configuration.rb +105 -0
  402. data/lib/advanced_billing/models/prepaid_configuration_response.rb +49 -0
  403. data/lib/advanced_billing/models/prepaid_subscription_balance_changed.rb +111 -0
  404. data/lib/advanced_billing/models/prepaid_usage.rb +200 -0
  405. data/lib/advanced_billing/models/prepaid_usage_allocation_detail.rb +71 -0
  406. data/lib/advanced_billing/models/prepaid_usage_component.rb +358 -0
  407. data/lib/advanced_billing/models/prepayment.rb +137 -0
  408. data/lib/advanced_billing/models/prepayment_account_balance_changed.rb +109 -0
  409. data/lib/advanced_billing/models/prepayment_aggregated_error.rb +71 -0
  410. data/lib/advanced_billing/models/prepayment_method.rb +41 -0
  411. data/lib/advanced_billing/models/prepayment_response.rb +48 -0
  412. data/lib/advanced_billing/models/prepayments_response.rb +59 -0
  413. data/lib/advanced_billing/models/preview_allocations_request.rb +99 -0
  414. data/lib/advanced_billing/models/price.rb +99 -0
  415. data/lib/advanced_billing/models/price_point.rb +206 -0
  416. data/lib/advanced_billing/models/price_point_type.rb +30 -0
  417. data/lib/advanced_billing/models/pricing_scheme.rb +31 -0
  418. data/lib/advanced_billing/models/product.rb +547 -0
  419. data/lib/advanced_billing/models/product_family.rb +114 -0
  420. data/lib/advanced_billing/models/product_family_response.rb +50 -0
  421. data/lib/advanced_billing/models/product_price_point.rb +346 -0
  422. data/lib/advanced_billing/models/product_price_point_errors.rb +101 -0
  423. data/lib/advanced_billing/models/product_price_point_response.rb +48 -0
  424. data/lib/advanced_billing/models/product_response.rb +48 -0
  425. data/lib/advanced_billing/models/proforma_custom_field.rb +90 -0
  426. data/lib/advanced_billing/models/proforma_error.rb +51 -0
  427. data/lib/advanced_billing/models/proforma_invoice.rb +484 -0
  428. data/lib/advanced_billing/models/proforma_invoice_credit.rb +82 -0
  429. data/lib/advanced_billing/models/proforma_invoice_discount.rb +111 -0
  430. data/lib/advanced_billing/models/proforma_invoice_discount_breakout.rb +62 -0
  431. data/lib/advanced_billing/models/proforma_invoice_issued.rb +205 -0
  432. data/lib/advanced_billing/models/proforma_invoice_payment.rb +82 -0
  433. data/lib/advanced_billing/models/proforma_invoice_preview.rb +484 -0
  434. data/lib/advanced_billing/models/proforma_invoice_tax.rb +120 -0
  435. data/lib/advanced_billing/models/proforma_invoice_tax_breakout.rb +61 -0
  436. data/lib/advanced_billing/models/proration.rb +52 -0
  437. data/lib/advanced_billing/models/public_key.rb +71 -0
  438. data/lib/advanced_billing/models/public_signup_page.rb +84 -0
  439. data/lib/advanced_billing/models/quantity_based_component.rb +333 -0
  440. data/lib/advanced_billing/models/reactivate_subscription_group_request.rb +61 -0
  441. data/lib/advanced_billing/models/reactivate_subscription_group_response.rb +135 -0
  442. data/lib/advanced_billing/models/reactivate_subscription_request.rb +125 -0
  443. data/lib/advanced_billing/models/reactivation_billing.rb +56 -0
  444. data/lib/advanced_billing/models/reactivation_charge.rb +30 -0
  445. data/lib/advanced_billing/models/reason_code.rb +110 -0
  446. data/lib/advanced_billing/models/reason_code_response.rb +48 -0
  447. data/lib/advanced_billing/models/reason_codes_json_response.rb +50 -0
  448. data/lib/advanced_billing/models/record_payment_request.rb +48 -0
  449. data/lib/advanced_billing/models/recurring_scheme.rb +26 -0
  450. data/lib/advanced_billing/models/referral_code.rb +81 -0
  451. data/lib/advanced_billing/models/referral_validation_response.rb +50 -0
  452. data/lib/advanced_billing/models/refund.rb +128 -0
  453. data/lib/advanced_billing/models/refund_consolidated_invoice.rb +129 -0
  454. data/lib/advanced_billing/models/refund_invoice.rb +128 -0
  455. data/lib/advanced_billing/models/refund_invoice_event_data.rb +195 -0
  456. data/lib/advanced_billing/models/refund_invoice_request.rb +64 -0
  457. data/lib/advanced_billing/models/refund_prepayment.rb +108 -0
  458. data/lib/advanced_billing/models/refund_prepayment_aggregated_error.rb +50 -0
  459. data/lib/advanced_billing/models/refund_prepayment_base_refund_error.rb +50 -0
  460. data/lib/advanced_billing/models/refund_prepayment_request.rb +48 -0
  461. data/lib/advanced_billing/models/refund_success.rb +93 -0
  462. data/lib/advanced_billing/models/remove_payment_event_data.rb +155 -0
  463. data/lib/advanced_billing/models/renewal_preview.rb +161 -0
  464. data/lib/advanced_billing/models/renewal_preview_component.rb +93 -0
  465. data/lib/advanced_billing/models/renewal_preview_line_item.rb +189 -0
  466. data/lib/advanced_billing/models/renewal_preview_request.rb +62 -0
  467. data/lib/advanced_billing/models/renewal_preview_response.rb +49 -0
  468. data/lib/advanced_billing/models/replay_webhooks_request.rb +48 -0
  469. data/lib/advanced_billing/models/replay_webhooks_response.rb +50 -0
  470. data/lib/advanced_billing/models/resent_invitation.rb +83 -0
  471. data/lib/advanced_billing/models/resource_type.rb +23 -0
  472. data/lib/advanced_billing/models/restriction_type.rb +23 -0
  473. data/lib/advanced_billing/models/resume_options.rb +76 -0
  474. data/lib/advanced_billing/models/resumption_charge.rb +27 -0
  475. data/lib/advanced_billing/models/revoked_invitation.rb +72 -0
  476. data/lib/advanced_billing/models/sale_rep.rb +100 -0
  477. data/lib/advanced_billing/models/sale_rep_item_mrr.rb +70 -0
  478. data/lib/advanced_billing/models/sale_rep_settings.rb +113 -0
  479. data/lib/advanced_billing/models/sale_rep_subscription.rb +143 -0
  480. data/lib/advanced_billing/models/segment.rb +210 -0
  481. data/lib/advanced_billing/models/segment_price.rb +126 -0
  482. data/lib/advanced_billing/models/segment_response.rb +50 -0
  483. data/lib/advanced_billing/models/seller.rb +82 -0
  484. data/lib/advanced_billing/models/send_invoice_request.rb +73 -0
  485. data/lib/advanced_billing/models/service_credit.rb +92 -0
  486. data/lib/advanced_billing/models/service_credit_response.rb +48 -0
  487. data/lib/advanced_billing/models/service_credit_type.rb +23 -0
  488. data/lib/advanced_billing/models/shipping_address.rb +107 -0
  489. data/lib/advanced_billing/models/signup_proforma_preview.rb +62 -0
  490. data/lib/advanced_billing/models/signup_proforma_preview_response.rb +50 -0
  491. data/lib/advanced_billing/models/site.rb +220 -0
  492. data/lib/advanced_billing/models/site_response.rb +48 -0
  493. data/lib/advanced_billing/models/site_statistics.rb +174 -0
  494. data/lib/advanced_billing/models/site_summary.rb +90 -0
  495. data/lib/advanced_billing/models/snap_day.rb +21 -0
  496. data/lib/advanced_billing/models/sorting_direction.rb +23 -0
  497. data/lib/advanced_billing/models/subscription.rb +1014 -0
  498. data/lib/advanced_billing/models/subscription_component.rb +460 -0
  499. data/lib/advanced_billing/models/subscription_component_allocation_error_item.rb +60 -0
  500. data/lib/advanced_billing/models/subscription_component_response.rb +50 -0
  501. data/lib/advanced_billing/models/subscription_component_subscription.rb +197 -0
  502. data/lib/advanced_billing/models/subscription_custom_price.rb +212 -0
  503. data/lib/advanced_billing/models/subscription_date_field.rb +44 -0
  504. data/lib/advanced_billing/models/subscription_group.rb +96 -0
  505. data/lib/advanced_billing/models/subscription_group_balances.rb +82 -0
  506. data/lib/advanced_billing/models/subscription_group_bank_account.rb +216 -0
  507. data/lib/advanced_billing/models/subscription_group_component_custom_price.rb +96 -0
  508. data/lib/advanced_billing/models/subscription_group_credit_card.rb +273 -0
  509. data/lib/advanced_billing/models/subscription_group_customer.rb +90 -0
  510. data/lib/advanced_billing/models/subscription_group_item.rb +152 -0
  511. data/lib/advanced_billing/models/subscription_group_member_error.rb +70 -0
  512. data/lib/advanced_billing/models/subscription_group_payment_profile.rb +81 -0
  513. data/lib/advanced_billing/models/subscription_group_prepayment.rb +75 -0
  514. data/lib/advanced_billing/models/subscription_group_prepayment_method.rb +35 -0
  515. data/lib/advanced_billing/models/subscription_group_prepayment_request.rb +48 -0
  516. data/lib/advanced_billing/models/subscription_group_prepayment_response.rb +92 -0
  517. data/lib/advanced_billing/models/subscription_group_response.rb +49 -0
  518. data/lib/advanced_billing/models/subscription_group_signup.rb +154 -0
  519. data/lib/advanced_billing/models/subscription_group_signup_component.rb +110 -0
  520. data/lib/advanced_billing/models/subscription_group_signup_error.rb +112 -0
  521. data/lib/advanced_billing/models/subscription_group_signup_failure.rb +83 -0
  522. data/lib/advanced_billing/models/subscription_group_signup_failure_data.rb +140 -0
  523. data/lib/advanced_billing/models/subscription_group_signup_item.rb +197 -0
  524. data/lib/advanced_billing/models/subscription_group_signup_request.rb +49 -0
  525. data/lib/advanced_billing/models/subscription_group_signup_response.rb +171 -0
  526. data/lib/advanced_billing/models/subscription_group_signup_success.rb +81 -0
  527. data/lib/advanced_billing/models/subscription_group_signup_success_data.rb +125 -0
  528. data/lib/advanced_billing/models/subscription_group_subscription_error.rb +87 -0
  529. data/lib/advanced_billing/models/subscription_group_update_error.rb +59 -0
  530. data/lib/advanced_billing/models/subscription_include.rb +23 -0
  531. data/lib/advanced_billing/models/subscription_included_coupon.rb +115 -0
  532. data/lib/advanced_billing/models/subscription_list_date_field.rb +20 -0
  533. data/lib/advanced_billing/models/subscription_list_include.rb +20 -0
  534. data/lib/advanced_billing/models/subscription_migration_preview.rb +90 -0
  535. data/lib/advanced_billing/models/subscription_migration_preview_options.rb +163 -0
  536. data/lib/advanced_billing/models/subscription_migration_preview_request.rb +49 -0
  537. data/lib/advanced_billing/models/subscription_migration_preview_response.rb +48 -0
  538. data/lib/advanced_billing/models/subscription_mrr.rb +70 -0
  539. data/lib/advanced_billing/models/subscription_mrr_breakout.rb +59 -0
  540. data/lib/advanced_billing/models/subscription_mrr_response.rb +57 -0
  541. data/lib/advanced_billing/models/subscription_note.rb +101 -0
  542. data/lib/advanced_billing/models/subscription_note_response.rb +48 -0
  543. data/lib/advanced_billing/models/subscription_preview.rb +62 -0
  544. data/lib/advanced_billing/models/subscription_preview_response.rb +49 -0
  545. data/lib/advanced_billing/models/subscription_product_change.rb +81 -0
  546. data/lib/advanced_billing/models/subscription_product_migration.rb +152 -0
  547. data/lib/advanced_billing/models/subscription_product_migration_request.rb +48 -0
  548. data/lib/advanced_billing/models/subscription_purge_type.rb +23 -0
  549. data/lib/advanced_billing/models/subscription_response.rb +50 -0
  550. data/lib/advanced_billing/models/subscription_sort.rb +35 -0
  551. data/lib/advanced_billing/models/subscription_state.rb +118 -0
  552. data/lib/advanced_billing/models/subscription_state_change.rb +81 -0
  553. data/lib/advanced_billing/models/subscription_state_filter.rb +53 -0
  554. data/lib/advanced_billing/models/tax_configuration.rb +74 -0
  555. data/lib/advanced_billing/models/tax_configuration_kind.rb +29 -0
  556. data/lib/advanced_billing/models/tax_destination_address.rb +29 -0
  557. data/lib/advanced_billing/models/too_many_management_link_requests.rb +64 -0
  558. data/lib/advanced_billing/models/update_allocation_expiration_date.rb +50 -0
  559. data/lib/advanced_billing/models/update_component.rb +146 -0
  560. data/lib/advanced_billing/models/update_component_price_point.rb +141 -0
  561. data/lib/advanced_billing/models/update_component_price_point_request.rb +51 -0
  562. data/lib/advanced_billing/models/update_component_request.rb +48 -0
  563. data/lib/advanced_billing/models/update_coupon_currency.rb +57 -0
  564. data/lib/advanced_billing/models/update_currency_price.rb +57 -0
  565. data/lib/advanced_billing/models/update_currency_prices_request.rb +57 -0
  566. data/lib/advanced_billing/models/update_customer.rb +223 -0
  567. data/lib/advanced_billing/models/update_customer_request.rb +48 -0
  568. data/lib/advanced_billing/models/update_endpoint.rb +58 -0
  569. data/lib/advanced_billing/models/update_endpoint_request.rb +48 -0
  570. data/lib/advanced_billing/models/update_metadata.rb +70 -0
  571. data/lib/advanced_billing/models/update_metadata_request.rb +50 -0
  572. data/lib/advanced_billing/models/update_metafield.rb +106 -0
  573. data/lib/advanced_billing/models/update_metafields_request.rb +62 -0
  574. data/lib/advanced_billing/models/update_payment_profile.rb +194 -0
  575. data/lib/advanced_billing/models/update_payment_profile_request.rb +49 -0
  576. data/lib/advanced_billing/models/update_price.rb +109 -0
  577. data/lib/advanced_billing/models/update_product_price_point.rb +61 -0
  578. data/lib/advanced_billing/models/update_product_price_point_request.rb +48 -0
  579. data/lib/advanced_billing/models/update_reason_code.rb +70 -0
  580. data/lib/advanced_billing/models/update_reason_code_request.rb +48 -0
  581. data/lib/advanced_billing/models/update_segment.rb +73 -0
  582. data/lib/advanced_billing/models/update_segment_request.rb +48 -0
  583. data/lib/advanced_billing/models/update_subscription.rb +277 -0
  584. data/lib/advanced_billing/models/update_subscription_component.rb +61 -0
  585. data/lib/advanced_billing/models/update_subscription_group.rb +50 -0
  586. data/lib/advanced_billing/models/update_subscription_group_request.rb +49 -0
  587. data/lib/advanced_billing/models/update_subscription_note.rb +57 -0
  588. data/lib/advanced_billing/models/update_subscription_note_request.rb +48 -0
  589. data/lib/advanced_billing/models/update_subscription_request.rb +48 -0
  590. data/lib/advanced_billing/models/upsert_prepaid_configuration.rb +95 -0
  591. data/lib/advanced_billing/models/upsert_prepaid_configuration_request.rb +49 -0
  592. data/lib/advanced_billing/models/usage.rb +155 -0
  593. data/lib/advanced_billing/models/usage_response.rb +48 -0
  594. data/lib/advanced_billing/models/void_invoice.rb +48 -0
  595. data/lib/advanced_billing/models/void_invoice_event_data.rb +148 -0
  596. data/lib/advanced_billing/models/void_invoice_request.rb +48 -0
  597. data/lib/advanced_billing/models/void_remainder_event_data.rb +115 -0
  598. data/lib/advanced_billing/models/webhook.rb +173 -0
  599. data/lib/advanced_billing/models/webhook_order.rb +23 -0
  600. data/lib/advanced_billing/models/webhook_response.rb +50 -0
  601. data/lib/advanced_billing/models/webhook_status.rb +29 -0
  602. data/lib/advanced_billing/models/webhook_subscription.rb +124 -0
  603. data/lib/advanced_billing/utilities/date_time_helper.rb +11 -0
  604. data/lib/advanced_billing/utilities/file_wrapper.rb +16 -0
  605. data/lib/advanced_billing/utilities/union_type_lookup.rb +1098 -0
  606. data/lib/advanced_billing.rb +670 -0
  607. metadata +607 -105
  608. data/bin/arch +0 -1
  609. data/bin/ash +0 -1
  610. data/bin/base64 +0 -1
  611. data/bin/bbconfig +0 -1
  612. data/bin/busybox +0 -0
  613. data/bin/cat +0 -1
  614. data/bin/chattr +0 -1
  615. data/bin/chgrp +0 -1
  616. data/bin/chmod +0 -1
  617. data/bin/chown +0 -1
  618. data/bin/cp +0 -1
  619. data/bin/date +0 -1
  620. data/bin/dd +0 -1
  621. data/bin/df +0 -1
  622. data/bin/dmesg +0 -1
  623. data/bin/dnsdomainname +0 -1
  624. data/bin/dumpkmap +0 -1
  625. data/bin/echo +0 -1
  626. data/bin/ed +0 -1
  627. data/bin/egrep +0 -1
  628. data/bin/false +0 -1
  629. data/bin/fatattr +0 -1
  630. data/bin/fdflush +0 -1
  631. data/bin/fgrep +0 -1
  632. data/bin/fsync +0 -1
  633. data/bin/getopt +0 -1
  634. data/bin/grep +0 -1
  635. data/bin/gunzip +0 -1
  636. data/bin/gzip +0 -1
  637. data/bin/hostname +0 -1
  638. data/bin/ionice +0 -1
  639. data/bin/iostat +0 -1
  640. data/bin/ipcalc +0 -1
  641. data/bin/kbd_mode +0 -1
  642. data/bin/kill +0 -1
  643. data/bin/link +0 -1
  644. data/bin/linux32 +0 -1
  645. data/bin/linux64 +0 -1
  646. data/bin/ln +0 -1
  647. data/bin/login +0 -1
  648. data/bin/ls +0 -1
  649. data/bin/lsattr +0 -1
  650. data/bin/lzop +0 -1
  651. data/bin/makemime +0 -1
  652. data/bin/mkdir +0 -1
  653. data/bin/mknod +0 -1
  654. data/bin/mktemp +0 -1
  655. data/bin/more +0 -1
  656. data/bin/mount +0 -1
  657. data/bin/mountpoint +0 -1
  658. data/bin/mpstat +0 -1
  659. data/bin/mv +0 -1
  660. data/bin/netstat +0 -1
  661. data/bin/nice +0 -1
  662. data/bin/pidof +0 -0
  663. data/bin/ping +0 -1
  664. data/bin/ping6 +0 -1
  665. data/bin/pipe_progress +0 -1
  666. data/bin/printenv +0 -1
  667. data/bin/ps +0 -0
  668. data/bin/pwait +0 -0
  669. data/bin/pwd +0 -1
  670. data/bin/reformime +0 -1
  671. data/bin/rev +0 -1
  672. data/bin/rm +0 -1
  673. data/bin/rmdir +0 -1
  674. data/bin/run-parts +0 -1
  675. data/bin/sed +0 -1
  676. data/bin/setpriv +0 -1
  677. data/bin/setserial +0 -1
  678. data/bin/sh +0 -1
  679. data/bin/slabtop +0 -0
  680. data/bin/sleep +0 -1
  681. data/bin/stat +0 -1
  682. data/bin/stty +0 -1
  683. data/bin/su +0 -1
  684. data/bin/sync +0 -1
  685. data/bin/tar +0 -1
  686. data/bin/tload +0 -0
  687. data/bin/touch +0 -1
  688. data/bin/true +0 -1
  689. data/bin/umount +0 -1
  690. data/bin/uname +0 -1
  691. data/bin/usleep +0 -1
  692. data/bin/vmstat +0 -0
  693. data/bin/w +0 -0
  694. data/bin/watch +0 -0
  695. data/bin/zcat +0 -1
  696. data/lib/apk/db/installed +0 -3582
  697. data/lib/apk/db/lock +0 -0
  698. data/lib/apk/db/scripts.tar +0 -0
  699. data/lib/apk/db/triggers +0 -2
  700. data/lib/ld-musl-x86_64.so.1 +0 -0
  701. data/lib/libapk.so.3.12.0 +0 -0
  702. data/lib/libc.musl-x86_64.so.1 +0 -1
  703. data/lib/libcrypto.so.1.1 +0 -0
  704. data/lib/libprocps.so.8 +0 -1
  705. data/lib/libprocps.so.8.0.3 +0 -0
  706. data/lib/libssl.so.1.1 +0 -0
  707. data/lib/libz.so +0 -1
  708. data/lib/libz.so.1 +0 -1
  709. data/lib/libz.so.1.2.12 +0 -0
  710. data/lib/sysctl.d/00-alpine.conf +0 -40
@@ -0,0 +1,947 @@
1
+ # advanced_billing
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module AdvancedBilling
7
+ # InvoicesController
8
+ class InvoicesController < BaseController
9
+ # Refund an invoice, segment, or consolidated invoice.
10
+ # ## Partial Refund for Consolidated Invoice
11
+ # A refund less than the total of a consolidated invoice will be split
12
+ # across its segments.
13
+ # A $50.00 refund on a $100.00 consolidated invoice with one $60.00 and one
14
+ # $40.00 segment, the refunded amount will be applied as 50% of each ($30.00
15
+ # and $20.00 respectively).
16
+ # @param [String] uid Required parameter: The unique identifier for the
17
+ # invoice, this does not refer to the public facing invoice number.
18
+ # @param [RefundInvoiceRequest] body Optional parameter: Example:
19
+ # @return [Invoice] response from the API call
20
+ def refund_invoice(uid,
21
+ body: nil)
22
+ new_api_call_builder
23
+ .request(new_request_builder(HttpMethodEnum::POST,
24
+ '/invoices/{uid}/refunds.json',
25
+ Server::DEFAULT)
26
+ .template_param(new_parameter(uid, key: 'uid')
27
+ .is_required(true)
28
+ .should_encode(true))
29
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
30
+ .body_param(new_parameter(body))
31
+ .header_param(new_parameter('application/json', key: 'accept'))
32
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
33
+ .auth(Single.new('global')))
34
+ .response(new_response_handler
35
+ .deserializer(APIHelper.method(:custom_type_deserializer))
36
+ .deserialize_into(Invoice.method(:from_hash))
37
+ .local_error_template('422',
38
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
39
+ ' Response: \'{$response.body}\'.',
40
+ ErrorListResponseException))
41
+ .execute
42
+ end
43
+
44
+ # By default, invoices returned on the index will only include totals, not
45
+ # detailed breakdowns for `line_items`, `discounts`, `taxes`, `credits`,
46
+ # `payments`, `custom_fields`, or `refunds`. To include breakdowns, pass the
47
+ # specific field as a key in the query with a value set to `true`.
48
+ # @param [String] start_date Optional parameter: The start date (format
49
+ # YYYY-MM-DD) with which to filter the date_field. Returns invoices with a
50
+ # timestamp at or after midnight (12:00:00 AM) in your site’s time zone on
51
+ # the date specified.
52
+ # @param [String] end_date Optional parameter: The end date (format
53
+ # YYYY-MM-DD) with which to filter the date_field. Returns invoices with a
54
+ # timestamp up to and including 11:59:59PM in your site’s time zone on the
55
+ # date specified.
56
+ # @param [InvoiceStatus] status Optional parameter: The current status of
57
+ # the invoice. Allowed Values: draft, open, paid, pending, voided
58
+ # @param [Integer] subscription_id Optional parameter: The subscription's
59
+ # ID.
60
+ # @param [String] subscription_group_uid Optional parameter: The UID of the
61
+ # subscription group you want to fetch consolidated invoices for. This will
62
+ # return a paginated list of consolidated invoices for the specified
63
+ # group.
64
+ # @param [Integer] page Optional parameter: Result records are organized in
65
+ # pages. By default, the first page of results is displayed. The page
66
+ # parameter specifies a page number of results to fetch. You can start
67
+ # navigating through the pages to consume the results. You do this by
68
+ # passing in a page parameter. Retrieve the next page by adding ?page=2 to
69
+ # the query string. If there are no results to return, then an empty result
70
+ # set will be returned. Use in query `page=1`.
71
+ # @param [Integer] per_page Optional parameter: This parameter indicates how
72
+ # many records to fetch in each request. Default value is 20. The maximum
73
+ # allowed values is 200; any per_page value over 200 will be changed to 200.
74
+ # Use in query `per_page=200`.
75
+ # @param [Direction] direction Optional parameter: The sort direction of the
76
+ # returned invoices.
77
+ # @param [TrueClass | FalseClass] line_items Optional parameter: Include
78
+ # line items data
79
+ # @param [TrueClass | FalseClass] discounts Optional parameter: Include
80
+ # discounts data
81
+ # @param [TrueClass | FalseClass] taxes Optional parameter: Include taxes
82
+ # data
83
+ # @param [TrueClass | FalseClass] credits Optional parameter: Include
84
+ # credits data
85
+ # @param [TrueClass | FalseClass] payments Optional parameter: Include
86
+ # payments data
87
+ # @param [TrueClass | FalseClass] custom_fields Optional parameter: Include
88
+ # custom fields data
89
+ # @param [TrueClass | FalseClass] refunds Optional parameter: Include
90
+ # refunds data
91
+ # @param [InvoiceDateField] date_field Optional parameter: The type of
92
+ # filter you would like to apply to your search. Use in query
93
+ # `date_field=issue_date`.
94
+ # @param [String] start_datetime Optional parameter: The start date and time
95
+ # (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns
96
+ # invoices with a timestamp at or after exact time provided in query. You
97
+ # can specify timezone in query - otherwise your site's time zone will be
98
+ # used. If provided, this parameter will be used instead of start_date.
99
+ # Allowed to be used only along with date_field set to created_at or
100
+ # updated_at.
101
+ # @param [String] end_datetime Optional parameter: The end date and time
102
+ # (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns
103
+ # invoices with a timestamp at or before exact time provided in query. You
104
+ # can specify timezone in query - otherwise your site's time zone will be
105
+ # used. If provided, this parameter will be used instead of end_date.
106
+ # Allowed to be used only along with date_field set to created_at or
107
+ # updated_at.
108
+ # @param [Array[Integer]] customer_ids Optional parameter: Allows fetching
109
+ # invoices with matching customer id based on provided values. Use in query
110
+ # `customer_ids=1,2,3`.
111
+ # @param [Array[String]] number Optional parameter: Allows fetching invoices
112
+ # with matching invoice number based on provided values. Use in query
113
+ # `number=1234,1235`.
114
+ # @param [Array[Integer]] product_ids Optional parameter: Allows fetching
115
+ # invoices with matching line items product ids based on provided values.
116
+ # Use in query `product_ids=23,34`.
117
+ # @param [InvoiceSortField] sort Optional parameter: Allows specification of
118
+ # the order of the returned list. Use in query `sort=total_amount`.
119
+ # @return [ListInvoicesResponse] response from the API call
120
+ def list_invoices(options = {})
121
+ new_api_call_builder
122
+ .request(new_request_builder(HttpMethodEnum::GET,
123
+ '/invoices.json',
124
+ Server::DEFAULT)
125
+ .query_param(new_parameter(options['start_date'], key: 'start_date'))
126
+ .query_param(new_parameter(options['end_date'], key: 'end_date'))
127
+ .query_param(new_parameter(options['status'], key: 'status'))
128
+ .query_param(new_parameter(options['subscription_id'], key: 'subscription_id'))
129
+ .query_param(new_parameter(options['subscription_group_uid'], key: 'subscription_group_uid'))
130
+ .query_param(new_parameter(options['page'], key: 'page'))
131
+ .query_param(new_parameter(options['per_page'], key: 'per_page'))
132
+ .query_param(new_parameter(options['direction'], key: 'direction'))
133
+ .query_param(new_parameter(options['line_items'], key: 'line_items'))
134
+ .query_param(new_parameter(options['discounts'], key: 'discounts'))
135
+ .query_param(new_parameter(options['taxes'], key: 'taxes'))
136
+ .query_param(new_parameter(options['credits'], key: 'credits'))
137
+ .query_param(new_parameter(options['payments'], key: 'payments'))
138
+ .query_param(new_parameter(options['custom_fields'], key: 'custom_fields'))
139
+ .query_param(new_parameter(options['refunds'], key: 'refunds'))
140
+ .query_param(new_parameter(options['date_field'], key: 'date_field'))
141
+ .query_param(new_parameter(options['start_datetime'], key: 'start_datetime'))
142
+ .query_param(new_parameter(options['end_datetime'], key: 'end_datetime'))
143
+ .query_param(new_parameter(options['customer_ids'], key: 'customer_ids'))
144
+ .query_param(new_parameter(options['number'], key: 'number'))
145
+ .query_param(new_parameter(options['product_ids'], key: 'product_ids'))
146
+ .query_param(new_parameter(options['sort'], key: 'sort'))
147
+ .header_param(new_parameter('application/json', key: 'accept'))
148
+ .auth(Single.new('global'))
149
+ .array_serialization_format(ArraySerializationFormat::CSV))
150
+ .response(new_response_handler
151
+ .deserializer(APIHelper.method(:custom_type_deserializer))
152
+ .deserialize_into(ListInvoicesResponse.method(:from_hash)))
153
+ .execute
154
+ end
155
+
156
+ # Use this endpoint to retrieve the details for an invoice.
157
+ # @param [String] uid Required parameter: The unique identifier for the
158
+ # invoice, this does not refer to the public facing invoice number.
159
+ # @return [Invoice] response from the API call
160
+ def read_invoice(uid)
161
+ new_api_call_builder
162
+ .request(new_request_builder(HttpMethodEnum::GET,
163
+ '/invoices/{uid}.json',
164
+ Server::DEFAULT)
165
+ .template_param(new_parameter(uid, key: 'uid')
166
+ .is_required(true)
167
+ .should_encode(true))
168
+ .header_param(new_parameter('application/json', key: 'accept'))
169
+ .auth(Single.new('global')))
170
+ .response(new_response_handler
171
+ .deserializer(APIHelper.method(:custom_type_deserializer))
172
+ .deserialize_into(Invoice.method(:from_hash)))
173
+ .execute
174
+ end
175
+
176
+ # This endpoint returns a list of invoice events. Each event contains event
177
+ # "data" (such as an applied payment) as well as a snapshot of the `invoice`
178
+ # at the time of event completion.
179
+ # Exposed event types are:
180
+ # + issue_invoice
181
+ # + apply_credit_note
182
+ # + apply_payment
183
+ # + refund_invoice
184
+ # + void_invoice
185
+ # + void_remainder
186
+ # + backport_invoice
187
+ # + change_invoice_status
188
+ # + change_invoice_collection_method
189
+ # + remove_payment
190
+ # + failed_payment
191
+ # + apply_debit_note
192
+ # + create_debit_note
193
+ # + change_chargeback_status
194
+ # Invoice events are returned in ascending order.
195
+ # If both a `since_date` and `since_id` are provided in request parameters,
196
+ # the `since_date` will be used.
197
+ # Note - invoice events that occurred prior to 09/05/2018 __will not__
198
+ # contain an `invoice` snapshot.
199
+ # @param [String] since_date Optional parameter: The timestamp in a format
200
+ # `YYYY-MM-DD T HH:MM:SS Z`, or `YYYY-MM-DD`(in this case, it returns data
201
+ # from the beginning of the day). of the event from which you want to start
202
+ # the search. All the events before the `since_date` timestamp are not
203
+ # returned in the response.
204
+ # @param [Integer] since_id Optional parameter: The ID of the event from
205
+ # which you want to start the search(ID is not included. e.g. if ID is set
206
+ # to 2, then all events with ID 3 and more will be shown) This parameter is
207
+ # not used if since_date is defined.
208
+ # @param [Integer] page Optional parameter: Result records are organized in
209
+ # pages. By default, the first page of results is displayed. The page
210
+ # parameter specifies a page number of results to fetch. You can start
211
+ # navigating through the pages to consume the results. You do this by
212
+ # passing in a page parameter. Retrieve the next page by adding ?page=2 to
213
+ # the query string. If there are no results to return, then an empty result
214
+ # set will be returned. Use in query `page=1`.
215
+ # @param [Integer] per_page Optional parameter: This parameter indicates how
216
+ # many records to fetch in each request. Default value is 100. The maximum
217
+ # allowed values is 200; any per_page value over 200 will be changed to
218
+ # 200.
219
+ # @param [String] invoice_uid Optional parameter: Providing an invoice_uid
220
+ # allows for scoping of the invoice events to a single invoice or credit
221
+ # note.
222
+ # @param [String] with_change_invoice_status Optional parameter: Use this
223
+ # parameter if you want to fetch also invoice events with
224
+ # change_invoice_status type.
225
+ # @param [Array[InvoiceEventType]] event_types Optional parameter: Filter
226
+ # results by event_type. Supply a comma separated list of event types
227
+ # (listed above). Use in query: `event_types=void_invoice,void_remainder`.
228
+ # @return [ListInvoiceEventsResponse] response from the API call
229
+ def list_invoice_events(options = {})
230
+ new_api_call_builder
231
+ .request(new_request_builder(HttpMethodEnum::GET,
232
+ '/invoices/events.json',
233
+ Server::DEFAULT)
234
+ .query_param(new_parameter(options['since_date'], key: 'since_date'))
235
+ .query_param(new_parameter(options['since_id'], key: 'since_id'))
236
+ .query_param(new_parameter(options['page'], key: 'page'))
237
+ .query_param(new_parameter(options['per_page'], key: 'per_page'))
238
+ .query_param(new_parameter(options['invoice_uid'], key: 'invoice_uid'))
239
+ .query_param(new_parameter(options['with_change_invoice_status'], key: 'with_change_invoice_status'))
240
+ .query_param(new_parameter(options['event_types'], key: 'event_types'))
241
+ .header_param(new_parameter('application/json', key: 'accept'))
242
+ .auth(Single.new('global'))
243
+ .array_serialization_format(ArraySerializationFormat::CSV))
244
+ .response(new_response_handler
245
+ .deserializer(APIHelper.method(:custom_type_deserializer))
246
+ .deserialize_into(ListInvoiceEventsResponse.method(:from_hash)))
247
+ .execute
248
+ end
249
+
250
+ # This API call should be used when you want to record a payment of a given
251
+ # type against a specific invoice. If you would like to apply a payment
252
+ # across multiple invoices, you can use the Bulk Payment endpoint.
253
+ # ## Create a Payment from the existing payment profile
254
+ # In order to apply a payment to an invoice using an existing payment
255
+ # profile, specify `type` as `payment`, the amount less than the invoice
256
+ # total, and the customer's `payment_profile_id`. The ID of a payment
257
+ # profile might be retrieved via the Payment Profiles API endpoint.
258
+ # ```
259
+ # {
260
+ # "type": "payment",
261
+ # "payment": {
262
+ # "amount": 10.00,
263
+ # "payment_profile_id": 123
264
+ # }
265
+ # }
266
+ # ```
267
+ # ## Create a Payment from the Subscription's Prepayment Account
268
+ # In order apply a prepayment to an invoice, specify the `type` as
269
+ # `prepayment`, and also the `amount`.
270
+ # ```
271
+ # {
272
+ # "type": "prepayment",
273
+ # "payment": {
274
+ # "amount": 10.00
275
+ # }
276
+ # }
277
+ # ```
278
+ # Note that the `amount` must be less than or equal to the Subscription's
279
+ # Prepayment account balance.
280
+ # ## Create a Payment from the Subscription's Service Credit Account
281
+ # In order to apply a service credit to an invoice, specify the `type` as
282
+ # `service_credit`, and also the `amount`:
283
+ # ```
284
+ # {
285
+ # "type": "service_credit",
286
+ # "payment": {
287
+ # "amount": 10.00
288
+ # }
289
+ # }
290
+ # ```
291
+ # Note that Chargify will attempt to fully pay the invoice's `due_amount`
292
+ # from the Subscription's Service Credit account. At this time, partial
293
+ # payments from a Service Credit Account are only allowed for consolidated
294
+ # invoices (subscription groups). Therefore, for normal invoices the Service
295
+ # Credit account balance must be greater than or equal to the invoice's
296
+ # `due_amount`.
297
+ # @param [String] uid Required parameter: The unique identifier for the
298
+ # invoice, this does not refer to the public facing invoice number.
299
+ # @param [CreateInvoicePaymentRequest] body Optional parameter: Example:
300
+ # @return [Invoice] response from the API call
301
+ def record_payment_for_invoice(uid,
302
+ body: nil)
303
+ new_api_call_builder
304
+ .request(new_request_builder(HttpMethodEnum::POST,
305
+ '/invoices/{uid}/payments.json',
306
+ Server::DEFAULT)
307
+ .template_param(new_parameter(uid, key: 'uid')
308
+ .is_required(true)
309
+ .should_encode(true))
310
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
311
+ .body_param(new_parameter(body))
312
+ .header_param(new_parameter('application/json', key: 'accept'))
313
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
314
+ .auth(Single.new('global')))
315
+ .response(new_response_handler
316
+ .deserializer(APIHelper.method(:custom_type_deserializer))
317
+ .deserialize_into(Invoice.method(:from_hash)))
318
+ .execute
319
+ end
320
+
321
+ # This API call should be used when you want to record an external payment
322
+ # against multiple invoices.
323
+ # In order apply a payment to multiple invoices, at minimum, specify the
324
+ # `amount` and `applications` (i.e., `invoice_uid` and `amount`) details.
325
+ # ```
326
+ # {
327
+ # "payment": {
328
+ # "memo": "to pay the bills",
329
+ # "details": "check number 8675309",
330
+ # "method": "check",
331
+ # "amount": "250.00",
332
+ # "applications": [
333
+ # {
334
+ # "invoice_uid": "inv_8gk5bwkct3gqt",
335
+ # "amount": "100.00"
336
+ # },
337
+ # {
338
+ # "invoice_uid": "inv_7bc6bwkct3lyt",
339
+ # "amount": "150.00"
340
+ # }
341
+ # ]
342
+ # }
343
+ # }
344
+ # ```
345
+ # Note that the invoice payment amounts must be greater than 0. Total amount
346
+ # must be greater or equal to invoices payment amount sum.
347
+ # @param [CreateMultiInvoicePaymentRequest] body Optional parameter:
348
+ # Example:
349
+ # @return [MultiInvoicePaymentResponse] response from the API call
350
+ def record_external_payment_for_invoices(body: nil)
351
+ new_api_call_builder
352
+ .request(new_request_builder(HttpMethodEnum::POST,
353
+ '/invoices/payments.json',
354
+ Server::DEFAULT)
355
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
356
+ .body_param(new_parameter(body))
357
+ .header_param(new_parameter('application/json', key: 'accept'))
358
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
359
+ .auth(Single.new('global')))
360
+ .response(new_response_handler
361
+ .deserializer(APIHelper.method(:custom_type_deserializer))
362
+ .deserialize_into(MultiInvoicePaymentResponse.method(:from_hash))
363
+ .local_error_template('422',
364
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
365
+ ' Response: \'{$response.body}\'.',
366
+ ErrorListResponseException))
367
+ .execute
368
+ end
369
+
370
+ # Credit Notes are like inverse invoices. They reduce the amount a customer
371
+ # owes.
372
+ # By default, the credit notes returned by this endpoint will exclude the
373
+ # arrays of `line_items`, `discounts`, `taxes`, `applications`, or
374
+ # `refunds`. To include these arrays, pass the specific field as a key in
375
+ # the query with a value set to `true`.
376
+ # @param [Integer] subscription_id Optional parameter: The subscription's
377
+ # Chargify id
378
+ # @param [Integer] page Optional parameter: Result records are organized in
379
+ # pages. By default, the first page of results is displayed. The page
380
+ # parameter specifies a page number of results to fetch. You can start
381
+ # navigating through the pages to consume the results. You do this by
382
+ # passing in a page parameter. Retrieve the next page by adding ?page=2 to
383
+ # the query string. If there are no results to return, then an empty result
384
+ # set will be returned. Use in query `page=1`.
385
+ # @param [Integer] per_page Optional parameter: This parameter indicates how
386
+ # many records to fetch in each request. Default value is 20. The maximum
387
+ # allowed values is 200; any per_page value over 200 will be changed to 200.
388
+ # Use in query `per_page=200`.
389
+ # @param [TrueClass | FalseClass] line_items Optional parameter: Include
390
+ # line items data
391
+ # @param [TrueClass | FalseClass] discounts Optional parameter: Include
392
+ # discounts data
393
+ # @param [TrueClass | FalseClass] taxes Optional parameter: Include taxes
394
+ # data
395
+ # @param [TrueClass | FalseClass] refunds Optional parameter: Include
396
+ # refunds data
397
+ # @param [TrueClass | FalseClass] applications Optional parameter: Include
398
+ # applications data
399
+ # @return [ListCreditNotesResponse] response from the API call
400
+ def list_credit_notes(options = {})
401
+ new_api_call_builder
402
+ .request(new_request_builder(HttpMethodEnum::GET,
403
+ '/credit_notes.json',
404
+ Server::DEFAULT)
405
+ .query_param(new_parameter(options['subscription_id'], key: 'subscription_id'))
406
+ .query_param(new_parameter(options['page'], key: 'page'))
407
+ .query_param(new_parameter(options['per_page'], key: 'per_page'))
408
+ .query_param(new_parameter(options['line_items'], key: 'line_items'))
409
+ .query_param(new_parameter(options['discounts'], key: 'discounts'))
410
+ .query_param(new_parameter(options['taxes'], key: 'taxes'))
411
+ .query_param(new_parameter(options['refunds'], key: 'refunds'))
412
+ .query_param(new_parameter(options['applications'], key: 'applications'))
413
+ .header_param(new_parameter('application/json', key: 'accept'))
414
+ .auth(Single.new('global')))
415
+ .response(new_response_handler
416
+ .deserializer(APIHelper.method(:custom_type_deserializer))
417
+ .deserialize_into(ListCreditNotesResponse.method(:from_hash)))
418
+ .execute
419
+ end
420
+
421
+ # Use this endpoint to retrieve the details for a credit note.
422
+ # @param [String] uid Required parameter: The unique identifier of the
423
+ # credit note
424
+ # @return [CreditNote] response from the API call
425
+ def read_credit_note(uid)
426
+ new_api_call_builder
427
+ .request(new_request_builder(HttpMethodEnum::GET,
428
+ '/credit_notes/{uid}.json',
429
+ Server::DEFAULT)
430
+ .template_param(new_parameter(uid, key: 'uid')
431
+ .is_required(true)
432
+ .should_encode(true))
433
+ .header_param(new_parameter('application/json', key: 'accept'))
434
+ .auth(Single.new('global')))
435
+ .response(new_response_handler
436
+ .deserializer(APIHelper.method(:custom_type_deserializer))
437
+ .deserialize_into(CreditNote.method(:from_hash)))
438
+ .execute
439
+ end
440
+
441
+ # Record an external payment made against a subscription that will pay
442
+ # partially or in full one or more invoices.
443
+ # Payment will be applied starting with the oldest open invoice and then
444
+ # next oldest, and so on until the amount of the payment is fully consumed.
445
+ # Excess payment will result in the creation of a prepayment on the Invoice
446
+ # Account.
447
+ # Only ungrouped or primary subscriptions may be paid using the "bulk"
448
+ # payment request.
449
+ # @param [Integer] subscription_id Required parameter: The Chargify id of
450
+ # the subscription
451
+ # @param [RecordPaymentRequest] body Optional parameter: Example:
452
+ # @return [PaymentResponse] response from the API call
453
+ def record_payment_for_subscription(subscription_id,
454
+ body: nil)
455
+ new_api_call_builder
456
+ .request(new_request_builder(HttpMethodEnum::POST,
457
+ '/subscriptions/{subscription_id}/payments.json',
458
+ Server::DEFAULT)
459
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
460
+ .is_required(true)
461
+ .should_encode(true))
462
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
463
+ .body_param(new_parameter(body))
464
+ .header_param(new_parameter('application/json', key: 'accept'))
465
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
466
+ .auth(Single.new('global')))
467
+ .response(new_response_handler
468
+ .deserializer(APIHelper.method(:custom_type_deserializer))
469
+ .deserialize_into(PaymentResponse.method(:from_hash))
470
+ .local_error_template('422',
471
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
472
+ ' Response: \'{$response.body}\'.',
473
+ ErrorListResponseException))
474
+ .execute
475
+ end
476
+
477
+ # This endpoint allows you to reopen any invoice with the "canceled" status.
478
+ # Invoices enter "canceled" status if they were open at the time the
479
+ # subscription was canceled (whether through dunning or an intentional
480
+ # cancellation).
481
+ # Invoices with "canceled" status are no longer considered to be due. Once
482
+ # reopened, they are considered due for payment. Payment may then be
483
+ # captured in one of the following ways:
484
+ # - Reactivating the subscription, which will capture all open invoices (See
485
+ # note below about automatic reopening of invoices.)
486
+ # - Recording a payment directly against the invoice
487
+ # A note about reactivations: any canceled invoices from the most recent
488
+ # active period are automatically opened as a part of the reactivation
489
+ # process. Reactivating via this endpoint prior to reactivation is only
490
+ # necessary when you wish to capture older invoices from previous periods
491
+ # during the reactivation.
492
+ # ### Reopening Consolidated Invoices
493
+ # When reopening a consolidated invoice, all of its canceled segments will
494
+ # also be reopened.
495
+ # @param [String] uid Required parameter: The unique identifier for the
496
+ # invoice, this does not refer to the public facing invoice number.
497
+ # @return [Invoice] response from the API call
498
+ def reopen_invoice(uid)
499
+ new_api_call_builder
500
+ .request(new_request_builder(HttpMethodEnum::POST,
501
+ '/invoices/{uid}/reopen.json',
502
+ Server::DEFAULT)
503
+ .template_param(new_parameter(uid, key: 'uid')
504
+ .is_required(true)
505
+ .should_encode(true))
506
+ .header_param(new_parameter('application/json', key: 'accept'))
507
+ .auth(Single.new('global')))
508
+ .response(new_response_handler
509
+ .deserializer(APIHelper.method(:custom_type_deserializer))
510
+ .deserialize_into(Invoice.method(:from_hash))
511
+ .local_error_template('404',
512
+ 'Not Found:\'{$response.body}\'',
513
+ APIException)
514
+ .local_error_template('422',
515
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
516
+ ' Response: \'{$response.body}\'.',
517
+ ErrorListResponseException))
518
+ .execute
519
+ end
520
+
521
+ # This endpoint allows you to void any invoice with the "open" or "canceled"
522
+ # status. It will also allow voiding of an invoice with the "pending"
523
+ # status if it is not a consolidated invoice.
524
+ # @param [String] uid Required parameter: The unique identifier for the
525
+ # invoice, this does not refer to the public facing invoice number.
526
+ # @param [VoidInvoiceRequest] body Optional parameter: Example:
527
+ # @return [Invoice] response from the API call
528
+ def void_invoice(uid,
529
+ body: nil)
530
+ new_api_call_builder
531
+ .request(new_request_builder(HttpMethodEnum::POST,
532
+ '/invoices/{uid}/void.json',
533
+ Server::DEFAULT)
534
+ .template_param(new_parameter(uid, key: 'uid')
535
+ .is_required(true)
536
+ .should_encode(true))
537
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
538
+ .body_param(new_parameter(body))
539
+ .header_param(new_parameter('application/json', key: 'accept'))
540
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
541
+ .auth(Single.new('global')))
542
+ .response(new_response_handler
543
+ .deserializer(APIHelper.method(:custom_type_deserializer))
544
+ .deserialize_into(Invoice.method(:from_hash))
545
+ .local_error_template('404',
546
+ 'Not Found:\'{$response.body}\'',
547
+ APIException)
548
+ .local_error_template('422',
549
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
550
+ ' Response: \'{$response.body}\'.',
551
+ ErrorListResponseException))
552
+ .execute
553
+ end
554
+
555
+ # Invoice segments returned on the index will only include totals, not
556
+ # detailed breakdowns for `line_items`, `discounts`, `taxes`, `credits`,
557
+ # `payments`, or `custom_fields`.
558
+ # @param [String] invoice_uid Required parameter: The unique identifier of
559
+ # the consolidated invoice
560
+ # @param [Integer] page Optional parameter: Result records are organized in
561
+ # pages. By default, the first page of results is displayed. The page
562
+ # parameter specifies a page number of results to fetch. You can start
563
+ # navigating through the pages to consume the results. You do this by
564
+ # passing in a page parameter. Retrieve the next page by adding ?page=2 to
565
+ # the query string. If there are no results to return, then an empty result
566
+ # set will be returned. Use in query `page=1`.
567
+ # @param [Integer] per_page Optional parameter: This parameter indicates how
568
+ # many records to fetch in each request. Default value is 20. The maximum
569
+ # allowed values is 200; any per_page value over 200 will be changed to 200.
570
+ # Use in query `per_page=200`.
571
+ # @param [Direction] direction Optional parameter: Sort direction of the
572
+ # returned segments.
573
+ # @return [ConsolidatedInvoice] response from the API call
574
+ def list_invoice_segments(options = {})
575
+ new_api_call_builder
576
+ .request(new_request_builder(HttpMethodEnum::GET,
577
+ '/invoices/{invoice_uid}/segments.json',
578
+ Server::DEFAULT)
579
+ .template_param(new_parameter(options['invoice_uid'], key: 'invoice_uid')
580
+ .is_required(true)
581
+ .should_encode(true))
582
+ .query_param(new_parameter(options['page'], key: 'page'))
583
+ .query_param(new_parameter(options['per_page'], key: 'per_page'))
584
+ .query_param(new_parameter(options['direction'], key: 'direction'))
585
+ .header_param(new_parameter('application/json', key: 'accept'))
586
+ .auth(Single.new('global')))
587
+ .response(new_response_handler
588
+ .deserializer(APIHelper.method(:custom_type_deserializer))
589
+ .deserialize_into(ConsolidatedInvoice.method(:from_hash)))
590
+ .execute
591
+ end
592
+
593
+ # This endpoint will allow you to create an ad hoc invoice.
594
+ # ### Basic Behavior
595
+ # You can create a basic invoice by sending an array of line items to this
596
+ # endpoint. Each line item, at a minimum, must include a title, a quantity
597
+ # and a unit price. Example:
598
+ # ```json
599
+ # {
600
+ # "invoice": {
601
+ # "line_items": [
602
+ # {
603
+ # "title": "A Product",
604
+ # "quantity": 12,
605
+ # "unit_price": "150.00"
606
+ # }
607
+ # ]
608
+ # }
609
+ # }
610
+ # ```
611
+ # ### Catalog items
612
+ # Instead of creating custom products like in above example, You can pass
613
+ # existing items like products, components.
614
+ # ```json
615
+ # {
616
+ # "invoice": {
617
+ # "line_items": [
618
+ # {
619
+ # "product_id": "handle:gold-product",
620
+ # "quantity": 2,
621
+ # }
622
+ # ]
623
+ # }
624
+ # }
625
+ # ```
626
+ # The price for each line item will be calculated as well as a total due
627
+ # amount for the invoice. Multiple line items can be sent.
628
+ # ### Line items types
629
+ # When defining line item, You can choose one of 3 types for one line item:
630
+ # #### Custom item
631
+ # Like in basic behavior example above, You can pass `title` and
632
+ # `unit_price` for custom item.
633
+ # #### Product id
634
+ # Product handle (with handle: prefix) or id from the scope of current
635
+ # subscription's site can be provided with `product_id`. By default
636
+ # `unit_price` is taken from product's default price point, but can be
637
+ # overwritten by passing `unit_price` or `product_price_point_id`. If
638
+ # `product_id` is used, following fields cannot be used: `title`,
639
+ # `component_id`.
640
+ # #### Component id
641
+ # Component handle (with handle: prefix) or id from the scope of current
642
+ # subscription's site can be provided with `component_id`. If `component_id`
643
+ # is used, following fields cannot be used: `title`, `product_id`. By
644
+ # default `unit_price` is taken from product's default price point, but can
645
+ # be overwritten by passing `unit_price` or `price_point_id`. At this moment
646
+ # price points are supportted only for quantity based, on/off and metered
647
+ # components. For prepaid and event based billing components `unit_price` is
648
+ # required.
649
+ # ### Coupons
650
+ # When creating ad hoc invoice, new discounts can be applied in following
651
+ # way:
652
+ # ```json
653
+ # {
654
+ # "invoice": {
655
+ # "line_items": [
656
+ # {
657
+ # "product_id": "handle:gold-product",
658
+ # "quantity": 1
659
+ # }
660
+ # ],
661
+ # "coupons": [
662
+ # {
663
+ # "code": "COUPONCODE",
664
+ # "percentage": 50.0
665
+ # }
666
+ # ]
667
+ # }
668
+ # }
669
+ # ```
670
+ # If You want to use existing coupon for discount creation, only `code` and
671
+ # optional `product_family_id` is needed
672
+ # ```json
673
+ # ...
674
+ # "coupons": [
675
+ # {
676
+ # "code": "FREESETUP",
677
+ # "product_family_id": 1
678
+ # }
679
+ # ]
680
+ # ...
681
+ # ```
682
+ # ### Coupon options
683
+ # #### Code
684
+ # Coupon `code` will be displayed on invoice discount section.
685
+ # Coupon code can only contain uppercase letters, numbers, and allowed
686
+ # special characters.
687
+ # Lowercase letters will be converted to uppercase. It can be used to select
688
+ # an existing coupon from the catalog, or as an ad hoc coupon when passed
689
+ # with `percentage` or `amount`.
690
+ # #### Percentage
691
+ # Coupon `percentage` can take values from 0 to 100 and up to 4 decimal
692
+ # places. It cannot be used with `amount`. Only for ad hoc coupons, will be
693
+ # ignored if `code` is used to select an existing coupon from the catalog.
694
+ # #### Amount
695
+ # Coupon `amount` takes number value. It cannot be used with `percentage`.
696
+ # Used only when not matching existing coupon by `code`.
697
+ # #### Description
698
+ # Optional `description` will be displayed with coupon `code`. Used only
699
+ # when not matching existing coupon by `code`.
700
+ # #### Product Family id
701
+ # Optional `product_family_id` handle (with handle: prefix) or id is used to
702
+ # match existing coupon within site, when codes are not unique.
703
+ # #### Compounding Strategy
704
+ # Optional `compounding_strategy` for percentage coupons, can take values
705
+ # `compound` or `full-price`.
706
+ # For amount coupons, discounts will be always calculated against the
707
+ # original item price, before other discounts are applied.
708
+ # `compound` strategy:
709
+ # Percentage-based discounts will be calculated against the remaining price,
710
+ # after prior discounts have been calculated. It is set by default.
711
+ # `full-price` strategy:
712
+ # Percentage-based discounts will always be calculated against the original
713
+ # item price, before other discounts are applied.
714
+ # ### Line Item Options
715
+ # #### Period Date Range
716
+ # A custom period date range can be defined for each line item with the
717
+ # `period_range_start` and `period_range_end` parameters. Dates must be sent
718
+ # in the `YYYY-MM-DD` format.
719
+ # `period_range_end` must be greater or equal `period_range_start`.
720
+ # #### Taxes
721
+ # The `taxable` parameter can be sent as `true` if taxes should be
722
+ # calculated for a specific line item. For this to work, the site should be
723
+ # configured to use and calculate taxes. Further, if the site uses Avalara
724
+ # for tax calculations, a `tax_code` parameter should also be sent. For
725
+ # existing catalog items: products/components taxes cannot be overwritten.
726
+ # #### Price Point
727
+ # Price point handle (with handle: prefix) or id from the scope of current
728
+ # subscription's site can be provided with `price_point_id` for components
729
+ # with `component_id` or `product_price_point_id` for products with
730
+ # `product_id` parameter. If price point is passed `unit_price` cannot be
731
+ # used. It can be used only with catalog items products and components.
732
+ # #### Description
733
+ # Optional `description` parameter, it will overwrite default generated
734
+ # description for line item.
735
+ # ### Invoice Options
736
+ # #### Issue Date
737
+ # By default, invoices will be created with a issue date set to today.
738
+ # `issue_date` parameter can be send to alter that. Only dates in the past
739
+ # can be send. `issue_date` should be send in `YYYY-MM-DD` format.
740
+ # #### Net Terms
741
+ # By default, invoices will be created with a due date matching the date of
742
+ # invoice creation. If a different due date is desired, the `net_terms`
743
+ # parameter can be sent indicating the number of days in advance the due
744
+ # date should be.
745
+ # #### Addresses
746
+ # The seller, shipping and billing addresses can be sent to override the
747
+ # site's defaults. Each address requires to send a `first_name` at a minimum
748
+ # in order to work. Please see below for the details on which parameters can
749
+ # be sent for each address object.
750
+ # #### Memo and Payment Instructions
751
+ # A custom memo can be sent with the `memo` parameter to override the site's
752
+ # default. Likewise, custom payment instructions can be sent with the
753
+ # `payment_instrucions` parameter.
754
+ # #### Status
755
+ # By default, invoices will be created with open status. Possible
756
+ # alternative is `draft`.
757
+ # @param [Integer] subscription_id Required parameter: The Chargify id of
758
+ # the subscription
759
+ # @param [CreateInvoiceRequest] body Optional parameter: Example:
760
+ # @return [InvoiceResponse] response from the API call
761
+ def create_invoice(subscription_id,
762
+ body: nil)
763
+ new_api_call_builder
764
+ .request(new_request_builder(HttpMethodEnum::POST,
765
+ '/subscriptions/{subscription_id}/invoices.json',
766
+ Server::DEFAULT)
767
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
768
+ .is_required(true)
769
+ .should_encode(true))
770
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
771
+ .body_param(new_parameter(body))
772
+ .header_param(new_parameter('application/json', key: 'accept'))
773
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
774
+ .auth(Single.new('global')))
775
+ .response(new_response_handler
776
+ .deserializer(APIHelper.method(:custom_type_deserializer))
777
+ .deserialize_into(InvoiceResponse.method(:from_hash))
778
+ .local_error_template('422',
779
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
780
+ ' Response: \'{$response.body}\'.',
781
+ ErrorArrayMapResponseException))
782
+ .execute
783
+ end
784
+
785
+ # This endpoint allows for invoices to be programmatically delivered via
786
+ # email. This endpoint supports the delivery of both ad-hoc and
787
+ # automatically generated invoices. Additionally, this endpoint supports
788
+ # email delivery to direct recipients, carbon-copy (cc) recipients, and
789
+ # blind carbon-copy (bcc) recipients.
790
+ # Please note that if no recipient email addresses are specified in the
791
+ # request, then the subscription's default email configuration will be used.
792
+ # For example, if `recipient_emails` is left blank, then the invoice will be
793
+ # delivered to the subscription's customer email address.
794
+ # On success, a 204 no-content response will be returned. Please note that
795
+ # this does not indicate that email(s) have been delivered, but instead
796
+ # indicates that emails have been successfully queued for delivery. If _any_
797
+ # invalid or malformed email address is found in the request body, the
798
+ # entire request will be rejected and a 422 response will be returned.
799
+ # @param [String] uid Required parameter: The unique identifier for the
800
+ # invoice, this does not refer to the public facing invoice number.
801
+ # @param [SendInvoiceRequest] body Optional parameter: Example:
802
+ # @return [void] response from the API call
803
+ def send_invoice(uid,
804
+ body: nil)
805
+ new_api_call_builder
806
+ .request(new_request_builder(HttpMethodEnum::POST,
807
+ '/invoices/{uid}/deliveries.json',
808
+ Server::DEFAULT)
809
+ .template_param(new_parameter(uid, key: 'uid')
810
+ .is_required(true)
811
+ .should_encode(true))
812
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
813
+ .body_param(new_parameter(body))
814
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
815
+ .auth(Single.new('global')))
816
+ .response(new_response_handler
817
+ .is_response_void(true)
818
+ .local_error_template('422',
819
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
820
+ ' Response: \'{$response.body}\'.',
821
+ ErrorListResponseException))
822
+ .execute
823
+ end
824
+
825
+ # Customer information may change after an invoice is issued which may lead
826
+ # to a mismatch between customer information that are present on an open
827
+ # invoice and actual customer information. This endpoint allows to preview
828
+ # these differences, if any.
829
+ # The endpoint doesn't accept a request body. Customer information
830
+ # differences are calculated on the application side.
831
+ # @param [String] uid Required parameter: The unique identifier for the
832
+ # invoice, this does not refer to the public facing invoice number.
833
+ # @return [CustomerChangesPreviewResponse] response from the API call
834
+ def preview_customer_information_changes(uid)
835
+ new_api_call_builder
836
+ .request(new_request_builder(HttpMethodEnum::POST,
837
+ '/invoices/{uid}/customer_information/preview.json',
838
+ Server::DEFAULT)
839
+ .template_param(new_parameter(uid, key: 'uid')
840
+ .is_required(true)
841
+ .should_encode(true))
842
+ .header_param(new_parameter('application/json', key: 'accept'))
843
+ .auth(Single.new('global')))
844
+ .response(new_response_handler
845
+ .deserializer(APIHelper.method(:custom_type_deserializer))
846
+ .deserialize_into(CustomerChangesPreviewResponse.method(:from_hash))
847
+ .local_error_template('404',
848
+ 'Not Found:\'{$response.body}\'',
849
+ ErrorListResponseException)
850
+ .local_error_template('422',
851
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
852
+ ' Response: \'{$response.body}\'.',
853
+ ErrorListResponseException))
854
+ .execute
855
+ end
856
+
857
+ # This endpoint updates customer information on an open invoice and returns
858
+ # the updated invoice. If you would like to preview changes that will be
859
+ # applied, use the `/invoices/{uid}/customer_information/preview.json`
860
+ # endpoint before.
861
+ # The endpoint doesn't accept a request body. Customer information
862
+ # differences are calculated on the application side.
863
+ # @param [String] uid Required parameter: The unique identifier for the
864
+ # invoice, this does not refer to the public facing invoice number.
865
+ # @return [Invoice] response from the API call
866
+ def update_customer_information(uid)
867
+ new_api_call_builder
868
+ .request(new_request_builder(HttpMethodEnum::PUT,
869
+ '/invoices/{uid}/customer_information.json',
870
+ Server::DEFAULT)
871
+ .template_param(new_parameter(uid, key: 'uid')
872
+ .is_required(true)
873
+ .should_encode(true))
874
+ .header_param(new_parameter('application/json', key: 'accept'))
875
+ .auth(Single.new('global')))
876
+ .response(new_response_handler
877
+ .deserializer(APIHelper.method(:custom_type_deserializer))
878
+ .deserialize_into(Invoice.method(:from_hash))
879
+ .local_error_template('404',
880
+ 'Not Found:\'{$response.body}\'',
881
+ ErrorListResponseException)
882
+ .local_error_template('422',
883
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
884
+ ' Response: \'{$response.body}\'.',
885
+ ErrorListResponseException))
886
+ .execute
887
+ end
888
+
889
+ # This endpoint allows you to issue an invoice that is in "pending" status.
890
+ # For example, you can issue an invoice that was created when allocating new
891
+ # quantity on a component and using "accrue charges" option.
892
+ # You cannot issue a pending child invoice that was created for a member
893
+ # subscription in a group.
894
+ # For Remittance subscriptions, the invoice will go into "open" status and
895
+ # payment won't be attempted. The value for `on_failed_payment` would be
896
+ # rejected if sent. Any prepayments or service credits that exist on
897
+ # subscription will be automatically applied. Additionally, if setting is
898
+ # on, an email will be sent for issued invoice.
899
+ # For Automatic subscriptions, prepayments and service credits will apply to
900
+ # the invoice and before payment is attempted. On successful payment, the
901
+ # invoice will go into "paid" status and email will be sent to the customer
902
+ # (if setting applies). When payment fails, the next event depends on the
903
+ # `on_failed_payment` value:
904
+ # - `leave_open_invoice` - prepayments and credits applied to invoice;
905
+ # invoice status set to "open"; email sent to the customer for the issued
906
+ # invoice (if setting applies); payment failure recorded in the invoice
907
+ # history. This is the default option.
908
+ # - `rollback_to_pending` - prepayments and credits not applied; invoice
909
+ # remains in "pending" status; no email sent to the customer; payment
910
+ # failure recorded in the invoice history.
911
+ # - `initiate_dunning` - prepayments and credits applied to the invoice;
912
+ # invoice status set to "open"; email sent to the customer for the issued
913
+ # invoice (if setting applies); payment failure recorded in the invoice
914
+ # history; subscription will most likely go into "past_due" or "canceled"
915
+ # state (depending upon net terms and dunning settings).
916
+ # @param [String] uid Required parameter: The unique identifier for the
917
+ # invoice, this does not refer to the public facing invoice number.
918
+ # @param [IssueInvoiceRequest] body Optional parameter: Example:
919
+ # @return [Invoice] response from the API call
920
+ def issue_invoice(uid,
921
+ body: nil)
922
+ new_api_call_builder
923
+ .request(new_request_builder(HttpMethodEnum::POST,
924
+ '/invoices/{uid}/issue.json',
925
+ Server::DEFAULT)
926
+ .template_param(new_parameter(uid, key: 'uid')
927
+ .is_required(true)
928
+ .should_encode(true))
929
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
930
+ .body_param(new_parameter(body))
931
+ .header_param(new_parameter('application/json', key: 'accept'))
932
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
933
+ .auth(Single.new('global')))
934
+ .response(new_response_handler
935
+ .deserializer(APIHelper.method(:custom_type_deserializer))
936
+ .deserialize_into(Invoice.method(:from_hash))
937
+ .local_error_template('404',
938
+ 'Not Found:\'{$response.body}\'',
939
+ APIException)
940
+ .local_error_template('422',
941
+ 'HTTP Response Not OK. Status code: {$statusCode}.'\
942
+ ' Response: \'{$response.body}\'.',
943
+ ErrorListResponseException))
944
+ .execute
945
+ end
946
+ end
947
+ end