maxio-advanced-billing-sdk 0.0.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (711) 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 +448 -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/address_change.rb +79 -0
  74. data/lib/advanced_billing/models/agreement_acceptance.rb +117 -0
  75. data/lib/advanced_billing/models/allocate_components.rb +151 -0
  76. data/lib/advanced_billing/models/allocation.rb +340 -0
  77. data/lib/advanced_billing/models/allocation_expiration_date.rb +50 -0
  78. data/lib/advanced_billing/models/allocation_preview.rb +197 -0
  79. data/lib/advanced_billing/models/allocation_preview_direction.rb +23 -0
  80. data/lib/advanced_billing/models/allocation_preview_item.rb +272 -0
  81. data/lib/advanced_billing/models/allocation_preview_line_item.rb +135 -0
  82. data/lib/advanced_billing/models/allocation_preview_line_item_kind.rb +29 -0
  83. data/lib/advanced_billing/models/allocation_preview_response.rb +49 -0
  84. data/lib/advanced_billing/models/allocation_response.rb +50 -0
  85. data/lib/advanced_billing/models/allocation_settings.rb +79 -0
  86. data/lib/advanced_billing/models/applied_credit_note_data.rb +60 -0
  87. data/lib/advanced_billing/models/apply_credit_note_event_data.rb +198 -0
  88. data/lib/advanced_billing/models/apply_debit_note_event_data.rb +111 -0
  89. data/lib/advanced_billing/models/apply_payment_event_data.rb +198 -0
  90. data/lib/advanced_billing/models/attribute_error.rb +48 -0
  91. data/lib/advanced_billing/models/auto_invite.rb +23 -0
  92. data/lib/advanced_billing/models/auto_resume.rb +61 -0
  93. data/lib/advanced_billing/models/bank_account_attributes.rb +175 -0
  94. data/lib/advanced_billing/models/bank_account_holder_type.rb +23 -0
  95. data/lib/advanced_billing/models/bank_account_payment_profile.rb +310 -0
  96. data/lib/advanced_billing/models/bank_account_response.rb +49 -0
  97. data/lib/advanced_billing/models/bank_account_type.rb +23 -0
  98. data/lib/advanced_billing/models/bank_account_vault.rb +32 -0
  99. data/lib/advanced_billing/models/bank_account_verification.rb +62 -0
  100. data/lib/advanced_billing/models/bank_account_verification_request.rb +50 -0
  101. data/lib/advanced_billing/models/base_model.rb +62 -0
  102. data/lib/advanced_billing/models/base_refund_error.rb +50 -0
  103. data/lib/advanced_billing/models/base_string_error.rb +50 -0
  104. data/lib/advanced_billing/models/basic_date_field.rb +23 -0
  105. data/lib/advanced_billing/models/batch_job.rb +94 -0
  106. data/lib/advanced_billing/models/batch_job_response.rb +48 -0
  107. data/lib/advanced_billing/models/billing_address.rb +107 -0
  108. data/lib/advanced_billing/models/billing_manifest.rb +147 -0
  109. data/lib/advanced_billing/models/billing_manifest_item.rb +189 -0
  110. data/lib/advanced_billing/models/billing_manifest_line_item_kind.rb +35 -0
  111. data/lib/advanced_billing/models/billing_schedule.rb +55 -0
  112. data/lib/advanced_billing/models/breakouts.rb +84 -0
  113. data/lib/advanced_billing/models/bulk_component_s_price_point_assignment.rb +59 -0
  114. data/lib/advanced_billing/models/bulk_create_product_price_points_request.rb +57 -0
  115. data/lib/advanced_billing/models/bulk_create_product_price_points_response.rb +59 -0
  116. data/lib/advanced_billing/models/bulk_create_segments.rb +59 -0
  117. data/lib/advanced_billing/models/bulk_update_segments.rb +59 -0
  118. data/lib/advanced_billing/models/bulk_update_segments_item.rb +80 -0
  119. data/lib/advanced_billing/models/calendar_billing.rb +79 -0
  120. data/lib/advanced_billing/models/cancel_grouped_subscriptions_request.rb +51 -0
  121. data/lib/advanced_billing/models/cancellation_method.rb +33 -0
  122. data/lib/advanced_billing/models/cancellation_options.rb +63 -0
  123. data/lib/advanced_billing/models/cancellation_request.rb +48 -0
  124. data/lib/advanced_billing/models/card_type.rb +125 -0
  125. data/lib/advanced_billing/models/change_invoice_collection_method_event_data.rb +81 -0
  126. data/lib/advanced_billing/models/chargify_ebb.rb +116 -0
  127. data/lib/advanced_billing/models/cleanup_scope.rb +26 -0
  128. data/lib/advanced_billing/models/collection_method.rb +32 -0
  129. data/lib/advanced_billing/models/component.rb +495 -0
  130. data/lib/advanced_billing/models/component_allocation_change.rb +147 -0
  131. data/lib/advanced_billing/models/component_allocation_error_item.rb +80 -0
  132. data/lib/advanced_billing/models/component_cost_data.rb +128 -0
  133. data/lib/advanced_billing/models/component_cost_data_rate_tier.rb +94 -0
  134. data/lib/advanced_billing/models/component_currency_price.rb +102 -0
  135. data/lib/advanced_billing/models/component_currency_prices_response.rb +57 -0
  136. data/lib/advanced_billing/models/component_custom_price.rb +96 -0
  137. data/lib/advanced_billing/models/component_kind.rb +32 -0
  138. data/lib/advanced_billing/models/component_price.rb +127 -0
  139. data/lib/advanced_billing/models/component_price_point.rb +304 -0
  140. data/lib/advanced_billing/models/component_price_point_error_item.rb +70 -0
  141. data/lib/advanced_billing/models/component_price_point_item.rb +119 -0
  142. data/lib/advanced_billing/models/component_price_point_response.rb +48 -0
  143. data/lib/advanced_billing/models/component_price_points_response.rb +69 -0
  144. data/lib/advanced_billing/models/component_response.rb +48 -0
  145. data/lib/advanced_billing/models/component_s_price_point_assignment.rb +72 -0
  146. data/lib/advanced_billing/models/compounding_strategy.rb +23 -0
  147. data/lib/advanced_billing/models/consolidated_invoice.rb +59 -0
  148. data/lib/advanced_billing/models/count_response.rb +50 -0
  149. data/lib/advanced_billing/models/coupon.rb +384 -0
  150. data/lib/advanced_billing/models/coupon_currency.rb +80 -0
  151. data/lib/advanced_billing/models/coupon_currency_request.rb +57 -0
  152. data/lib/advanced_billing/models/coupon_currency_response.rb +59 -0
  153. data/lib/advanced_billing/models/coupon_response.rb +50 -0
  154. data/lib/advanced_billing/models/coupon_restriction.rb +92 -0
  155. data/lib/advanced_billing/models/coupon_subcodes.rb +50 -0
  156. data/lib/advanced_billing/models/coupon_subcodes_response.rb +71 -0
  157. data/lib/advanced_billing/models/coupon_usage.rb +118 -0
  158. data/lib/advanced_billing/models/create_allocation.rb +198 -0
  159. data/lib/advanced_billing/models/create_allocation_request.rb +48 -0
  160. data/lib/advanced_billing/models/create_component_price_point.rb +163 -0
  161. data/lib/advanced_billing/models/create_component_price_point_request.rb +64 -0
  162. data/lib/advanced_billing/models/create_component_price_points_request.rb +64 -0
  163. data/lib/advanced_billing/models/create_currency_price.rb +70 -0
  164. data/lib/advanced_billing/models/create_currency_prices_request.rb +57 -0
  165. data/lib/advanced_billing/models/create_customer.rb +221 -0
  166. data/lib/advanced_billing/models/create_customer_request.rb +48 -0
  167. data/lib/advanced_billing/models/create_ebb_component.rb +49 -0
  168. data/lib/advanced_billing/models/create_invoice.rb +168 -0
  169. data/lib/advanced_billing/models/create_invoice_address.rb +130 -0
  170. data/lib/advanced_billing/models/create_invoice_coupon.rb +117 -0
  171. data/lib/advanced_billing/models/create_invoice_item.rb +192 -0
  172. data/lib/advanced_billing/models/create_invoice_payment.rb +92 -0
  173. data/lib/advanced_billing/models/create_invoice_payment_application.rb +58 -0
  174. data/lib/advanced_billing/models/create_invoice_payment_request.rb +59 -0
  175. data/lib/advanced_billing/models/create_invoice_request.rb +48 -0
  176. data/lib/advanced_billing/models/create_invoice_status.rb +23 -0
  177. data/lib/advanced_billing/models/create_metadata.rb +60 -0
  178. data/lib/advanced_billing/models/create_metadata_request.rb +57 -0
  179. data/lib/advanced_billing/models/create_metafield.rb +96 -0
  180. data/lib/advanced_billing/models/create_metafields_request.rb +64 -0
  181. data/lib/advanced_billing/models/create_metered_component.rb +49 -0
  182. data/lib/advanced_billing/models/create_multi_invoice_payment.rb +133 -0
  183. data/lib/advanced_billing/models/create_multi_invoice_payment_request.rb +48 -0
  184. data/lib/advanced_billing/models/create_offer.rb +117 -0
  185. data/lib/advanced_billing/models/create_offer_component.rb +61 -0
  186. data/lib/advanced_billing/models/create_offer_request.rb +48 -0
  187. data/lib/advanced_billing/models/create_on_off_component.rb +49 -0
  188. data/lib/advanced_billing/models/create_or_update_coupon.rb +86 -0
  189. data/lib/advanced_billing/models/create_or_update_flat_amount_coupon.rb +228 -0
  190. data/lib/advanced_billing/models/create_or_update_percentage_coupon.rb +229 -0
  191. data/lib/advanced_billing/models/create_or_update_product.rb +146 -0
  192. data/lib/advanced_billing/models/create_or_update_product_request.rb +48 -0
  193. data/lib/advanced_billing/models/create_or_update_segment_price.rb +88 -0
  194. data/lib/advanced_billing/models/create_payment.rb +77 -0
  195. data/lib/advanced_billing/models/create_payment_profile.rb +430 -0
  196. data/lib/advanced_billing/models/create_payment_profile_request.rb +49 -0
  197. data/lib/advanced_billing/models/create_prepaid_component.rb +49 -0
  198. data/lib/advanced_billing/models/create_prepaid_usage_component_price_point.rb +197 -0
  199. data/lib/advanced_billing/models/create_prepayment.rb +93 -0
  200. data/lib/advanced_billing/models/create_prepayment_request.rb +48 -0
  201. data/lib/advanced_billing/models/create_prepayment_response.rb +48 -0
  202. data/lib/advanced_billing/models/create_product_currency_price.rb +66 -0
  203. data/lib/advanced_billing/models/create_product_currency_prices_request.rb +57 -0
  204. data/lib/advanced_billing/models/create_product_family.rb +62 -0
  205. data/lib/advanced_billing/models/create_product_family_request.rb +49 -0
  206. data/lib/advanced_billing/models/create_product_price_point.rb +198 -0
  207. data/lib/advanced_billing/models/create_product_price_point_request.rb +48 -0
  208. data/lib/advanced_billing/models/create_quantity_based_component.rb +50 -0
  209. data/lib/advanced_billing/models/create_reason_code.rb +68 -0
  210. data/lib/advanced_billing/models/create_reason_code_request.rb +48 -0
  211. data/lib/advanced_billing/models/create_segment.rb +143 -0
  212. data/lib/advanced_billing/models/create_segment_request.rb +48 -0
  213. data/lib/advanced_billing/models/create_subscription.rb +756 -0
  214. data/lib/advanced_billing/models/create_subscription_component.rb +127 -0
  215. data/lib/advanced_billing/models/create_subscription_group.rb +75 -0
  216. data/lib/advanced_billing/models/create_subscription_group_request.rb +49 -0
  217. data/lib/advanced_billing/models/create_subscription_request.rb +48 -0
  218. data/lib/advanced_billing/models/create_usage.rb +88 -0
  219. data/lib/advanced_billing/models/create_usage_request.rb +48 -0
  220. data/lib/advanced_billing/models/created_prepayment.rb +117 -0
  221. data/lib/advanced_billing/models/credit_account_balance_changed.rb +122 -0
  222. data/lib/advanced_billing/models/credit_card_attributes.rb +72 -0
  223. data/lib/advanced_billing/models/credit_card_payment_profile.rb +306 -0
  224. data/lib/advanced_billing/models/credit_note.rb +417 -0
  225. data/lib/advanced_billing/models/credit_note1.rb +409 -0
  226. data/lib/advanced_billing/models/credit_note_application.rb +92 -0
  227. data/lib/advanced_billing/models/credit_note_line_item.rb +245 -0
  228. data/lib/advanced_billing/models/credit_note_status.rb +23 -0
  229. data/lib/advanced_billing/models/credit_scheme.rb +26 -0
  230. data/lib/advanced_billing/models/credit_scheme_request.rb +48 -0
  231. data/lib/advanced_billing/models/credit_type.rb +28 -0
  232. data/lib/advanced_billing/models/currency_price.rb +102 -0
  233. data/lib/advanced_billing/models/currency_price_role.rb +26 -0
  234. data/lib/advanced_billing/models/currency_prices_response.rb +57 -0
  235. data/lib/advanced_billing/models/current_vault.rb +99 -0
  236. data/lib/advanced_billing/models/custom_field_owner.rb +23 -0
  237. data/lib/advanced_billing/models/custom_field_value_change.rb +148 -0
  238. data/lib/advanced_billing/models/customer.rb +358 -0
  239. data/lib/advanced_billing/models/customer1.rb +114 -0
  240. data/lib/advanced_billing/models/customer_attributes.rb +243 -0
  241. data/lib/advanced_billing/models/customer_change.rb +103 -0
  242. data/lib/advanced_billing/models/customer_changes_preview_response.rb +48 -0
  243. data/lib/advanced_billing/models/customer_custom_fields_change.rb +97 -0
  244. data/lib/advanced_billing/models/customer_error.rb +60 -0
  245. data/lib/advanced_billing/models/customer_payer_change.rb +79 -0
  246. data/lib/advanced_billing/models/customer_response.rb +48 -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 +90 -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_event_data.rb +437 -0
  293. data/lib/advanced_billing/models/invoice_event_payment.rb +158 -0
  294. data/lib/advanced_billing/models/invoice_event_payment1.rb +150 -0
  295. data/lib/advanced_billing/models/invoice_event_payment_method.rb +32 -0
  296. data/lib/advanced_billing/models/invoice_event_type.rb +59 -0
  297. data/lib/advanced_billing/models/invoice_issued.rb +258 -0
  298. data/lib/advanced_billing/models/invoice_line_item.rb +332 -0
  299. data/lib/advanced_billing/models/invoice_line_item_component_cost_data.rb +69 -0
  300. data/lib/advanced_billing/models/invoice_line_item_event_data.rb +266 -0
  301. data/lib/advanced_billing/models/invoice_line_item_pricing_detail.rb +60 -0
  302. data/lib/advanced_billing/models/invoice_payer.rb +103 -0
  303. data/lib/advanced_billing/models/invoice_payer_change.rb +80 -0
  304. data/lib/advanced_billing/models/invoice_payment.rb +158 -0
  305. data/lib/advanced_billing/models/invoice_payment_application.rb +74 -0
  306. data/lib/advanced_billing/models/invoice_payment_method.rb +124 -0
  307. data/lib/advanced_billing/models/invoice_payment_method_type.rb +35 -0
  308. data/lib/advanced_billing/models/invoice_payment_type.rb +29 -0
  309. data/lib/advanced_billing/models/invoice_pre_payment.rb +75 -0
  310. data/lib/advanced_billing/models/invoice_previous_balance.rb +78 -0
  311. data/lib/advanced_billing/models/invoice_refund.rb +106 -0
  312. data/lib/advanced_billing/models/invoice_response.rb +48 -0
  313. data/lib/advanced_billing/models/invoice_role.rb +47 -0
  314. data/lib/advanced_billing/models/invoice_seller.rb +83 -0
  315. data/lib/advanced_billing/models/invoice_sort_field.rb +41 -0
  316. data/lib/advanced_billing/models/invoice_status.rb +37 -0
  317. data/lib/advanced_billing/models/invoice_tax.rb +172 -0
  318. data/lib/advanced_billing/models/invoice_tax_breakout.rb +71 -0
  319. data/lib/advanced_billing/models/invoice_tax_component_breakout.rb +81 -0
  320. data/lib/advanced_billing/models/issue_advance_invoice_request.rb +50 -0
  321. data/lib/advanced_billing/models/issue_invoice_event_data.rb +136 -0
  322. data/lib/advanced_billing/models/issue_invoice_request.rb +63 -0
  323. data/lib/advanced_billing/models/issue_service_credit.rb +81 -0
  324. data/lib/advanced_billing/models/issue_service_credit_request.rb +49 -0
  325. data/lib/advanced_billing/models/item_category.rb +33 -0
  326. data/lib/advanced_billing/models/item_price_point_changed.rb +133 -0
  327. data/lib/advanced_billing/models/item_price_point_data.rb +70 -0
  328. data/lib/advanced_billing/models/line_item_kind.rb +47 -0
  329. data/lib/advanced_billing/models/line_item_transaction_type.rb +38 -0
  330. data/lib/advanced_billing/models/list_components_price_points_include.rb +20 -0
  331. data/lib/advanced_billing/models/list_components_price_points_response.rb +57 -0
  332. data/lib/advanced_billing/models/list_credit_notes_response.rb +57 -0
  333. data/lib/advanced_billing/models/list_events_date_field.rb +20 -0
  334. data/lib/advanced_billing/models/list_invoice_events_response.rb +89 -0
  335. data/lib/advanced_billing/models/list_invoices_response.rb +57 -0
  336. data/lib/advanced_billing/models/list_metafields_response.rb +99 -0
  337. data/lib/advanced_billing/models/list_mrr_response.rb +48 -0
  338. data/lib/advanced_billing/models/list_mrr_response_result.rb +120 -0
  339. data/lib/advanced_billing/models/list_offers_response.rb +59 -0
  340. data/lib/advanced_billing/models/list_product_price_points_response.rb +57 -0
  341. data/lib/advanced_billing/models/list_products_include.rb +20 -0
  342. data/lib/advanced_billing/models/list_products_price_points_include.rb +20 -0
  343. data/lib/advanced_billing/models/list_public_keys_meta.rb +80 -0
  344. data/lib/advanced_billing/models/list_public_keys_response.rb +69 -0
  345. data/lib/advanced_billing/models/list_sale_rep_item.rb +93 -0
  346. data/lib/advanced_billing/models/list_segments_response.rb +59 -0
  347. data/lib/advanced_billing/models/list_subcription_group_prepayment_item.rb +142 -0
  348. data/lib/advanced_billing/models/list_subscription_components_include.rb +20 -0
  349. data/lib/advanced_billing/models/list_subscription_components_response.rb +57 -0
  350. data/lib/advanced_billing/models/list_subscription_components_sort.rb +23 -0
  351. data/lib/advanced_billing/models/list_subscription_group_prepayment.rb +49 -0
  352. data/lib/advanced_billing/models/list_subscription_group_prepayment_date_field.rb +23 -0
  353. data/lib/advanced_billing/models/list_subscription_group_prepayment_response.rb +57 -0
  354. data/lib/advanced_billing/models/list_subscription_groups_item.rb +146 -0
  355. data/lib/advanced_billing/models/list_subscription_groups_meta.rb +60 -0
  356. data/lib/advanced_billing/models/list_subscription_groups_response.rb +69 -0
  357. data/lib/advanced_billing/models/metadata.rb +106 -0
  358. data/lib/advanced_billing/models/metafield.rb +124 -0
  359. data/lib/advanced_billing/models/metafield_input.rb +33 -0
  360. data/lib/advanced_billing/models/metafield_scope.rb +113 -0
  361. data/lib/advanced_billing/models/metered_component.rb +323 -0
  362. data/lib/advanced_billing/models/metered_usage.rb +135 -0
  363. data/lib/advanced_billing/models/movement.rb +143 -0
  364. data/lib/advanced_billing/models/movement_line_item.rb +148 -0
  365. data/lib/advanced_billing/models/mrr.rb +103 -0
  366. data/lib/advanced_billing/models/mrr_movement.rb +81 -0
  367. data/lib/advanced_billing/models/mrr_response.rb +48 -0
  368. data/lib/advanced_billing/models/multi_invoice_payment.rb +92 -0
  369. data/lib/advanced_billing/models/multi_invoice_payment_response.rb +48 -0
  370. data/lib/advanced_billing/models/nested_subscription_group.rb +94 -0
  371. data/lib/advanced_billing/models/net_terms.rb +95 -0
  372. data/lib/advanced_billing/models/offer.rb +266 -0
  373. data/lib/advanced_billing/models/offer_discount.rb +70 -0
  374. data/lib/advanced_billing/models/offer_item.rb +159 -0
  375. data/lib/advanced_billing/models/offer_response.rb +50 -0
  376. data/lib/advanced_billing/models/offer_signup_page.rb +100 -0
  377. data/lib/advanced_billing/models/on_off_component.rb +287 -0
  378. data/lib/advanced_billing/models/organization_address.rb +129 -0
  379. data/lib/advanced_billing/models/origin_invoice.rb +60 -0
  380. data/lib/advanced_billing/models/overage_pricing.rb +73 -0
  381. data/lib/advanced_billing/models/override_subscription.rb +134 -0
  382. data/lib/advanced_billing/models/override_subscription_request.rb +48 -0
  383. data/lib/advanced_billing/models/paginated_metadata.rb +99 -0
  384. data/lib/advanced_billing/models/pause_request.rb +50 -0
  385. data/lib/advanced_billing/models/payer_attributes.rb +223 -0
  386. data/lib/advanced_billing/models/payer_error.rb +70 -0
  387. data/lib/advanced_billing/models/payment.rb +82 -0
  388. data/lib/advanced_billing/models/payment_collection_method_changed.rb +80 -0
  389. data/lib/advanced_billing/models/payment_for_allocation.rb +91 -0
  390. data/lib/advanced_billing/models/payment_method_apple_pay.rb +62 -0
  391. data/lib/advanced_billing/models/payment_method_bank_account.rb +94 -0
  392. data/lib/advanced_billing/models/payment_method_credit_card.rb +117 -0
  393. data/lib/advanced_billing/models/payment_method_external.rb +108 -0
  394. data/lib/advanced_billing/models/payment_method_paypal.rb +79 -0
  395. data/lib/advanced_billing/models/payment_profile_attributes.rb +370 -0
  396. data/lib/advanced_billing/models/payment_profile_response.rb +64 -0
  397. data/lib/advanced_billing/models/payment_related_events.rb +80 -0
  398. data/lib/advanced_billing/models/payment_response.rb +69 -0
  399. data/lib/advanced_billing/models/payment_type.rb +26 -0
  400. data/lib/advanced_billing/models/pending_cancellation_change.rb +80 -0
  401. data/lib/advanced_billing/models/portal_management_link.rb +104 -0
  402. data/lib/advanced_billing/models/prepaid_component_price_point.rb +107 -0
  403. data/lib/advanced_billing/models/prepaid_configuration.rb +105 -0
  404. data/lib/advanced_billing/models/prepaid_configuration_response.rb +49 -0
  405. data/lib/advanced_billing/models/prepaid_subscription_balance_changed.rb +111 -0
  406. data/lib/advanced_billing/models/prepaid_usage.rb +200 -0
  407. data/lib/advanced_billing/models/prepaid_usage_allocation_detail.rb +71 -0
  408. data/lib/advanced_billing/models/prepaid_usage_component.rb +358 -0
  409. data/lib/advanced_billing/models/prepayment.rb +137 -0
  410. data/lib/advanced_billing/models/prepayment_account_balance_changed.rb +109 -0
  411. data/lib/advanced_billing/models/prepayment_aggregated_error.rb +71 -0
  412. data/lib/advanced_billing/models/prepayment_method.rb +41 -0
  413. data/lib/advanced_billing/models/prepayment_response.rb +48 -0
  414. data/lib/advanced_billing/models/prepayments_response.rb +59 -0
  415. data/lib/advanced_billing/models/preview_allocations_request.rb +99 -0
  416. data/lib/advanced_billing/models/price.rb +99 -0
  417. data/lib/advanced_billing/models/price_point.rb +206 -0
  418. data/lib/advanced_billing/models/price_point_type.rb +30 -0
  419. data/lib/advanced_billing/models/pricing_scheme.rb +31 -0
  420. data/lib/advanced_billing/models/product.rb +547 -0
  421. data/lib/advanced_billing/models/product_family.rb +114 -0
  422. data/lib/advanced_billing/models/product_family_response.rb +50 -0
  423. data/lib/advanced_billing/models/product_price_point.rb +346 -0
  424. data/lib/advanced_billing/models/product_price_point_errors.rb +101 -0
  425. data/lib/advanced_billing/models/product_price_point_response.rb +48 -0
  426. data/lib/advanced_billing/models/product_response.rb +48 -0
  427. data/lib/advanced_billing/models/proforma_error.rb +51 -0
  428. data/lib/advanced_billing/models/proforma_invoice.rb +484 -0
  429. data/lib/advanced_billing/models/proforma_invoice_credit.rb +82 -0
  430. data/lib/advanced_billing/models/proforma_invoice_discount.rb +111 -0
  431. data/lib/advanced_billing/models/proforma_invoice_discount_breakout.rb +62 -0
  432. data/lib/advanced_billing/models/proforma_invoice_issued.rb +205 -0
  433. data/lib/advanced_billing/models/proforma_invoice_payment.rb +82 -0
  434. data/lib/advanced_billing/models/proforma_invoice_preview.rb +484 -0
  435. data/lib/advanced_billing/models/proforma_invoice_tax.rb +120 -0
  436. data/lib/advanced_billing/models/proforma_invoice_tax_breakout.rb +61 -0
  437. data/lib/advanced_billing/models/proration.rb +52 -0
  438. data/lib/advanced_billing/models/public_key.rb +71 -0
  439. data/lib/advanced_billing/models/public_signup_page.rb +84 -0
  440. data/lib/advanced_billing/models/quantity_based_component.rb +333 -0
  441. data/lib/advanced_billing/models/reactivate_subscription_group_request.rb +61 -0
  442. data/lib/advanced_billing/models/reactivate_subscription_group_response.rb +135 -0
  443. data/lib/advanced_billing/models/reactivate_subscription_request.rb +125 -0
  444. data/lib/advanced_billing/models/reactivation_billing.rb +56 -0
  445. data/lib/advanced_billing/models/reactivation_charge.rb +30 -0
  446. data/lib/advanced_billing/models/reason_code.rb +110 -0
  447. data/lib/advanced_billing/models/reason_code_response.rb +48 -0
  448. data/lib/advanced_billing/models/reason_codes_json_response.rb +50 -0
  449. data/lib/advanced_billing/models/record_payment_request.rb +48 -0
  450. data/lib/advanced_billing/models/recurring_scheme.rb +26 -0
  451. data/lib/advanced_billing/models/referral_code.rb +81 -0
  452. data/lib/advanced_billing/models/referral_validation_response.rb +50 -0
  453. data/lib/advanced_billing/models/refund.rb +128 -0
  454. data/lib/advanced_billing/models/refund_consolidated_invoice.rb +129 -0
  455. data/lib/advanced_billing/models/refund_invoice.rb +128 -0
  456. data/lib/advanced_billing/models/refund_invoice_event_data.rb +195 -0
  457. data/lib/advanced_billing/models/refund_invoice_request.rb +64 -0
  458. data/lib/advanced_billing/models/refund_prepayment.rb +108 -0
  459. data/lib/advanced_billing/models/refund_prepayment_aggregated_error.rb +50 -0
  460. data/lib/advanced_billing/models/refund_prepayment_base_refund_error.rb +50 -0
  461. data/lib/advanced_billing/models/refund_prepayment_request.rb +48 -0
  462. data/lib/advanced_billing/models/refund_success.rb +93 -0
  463. data/lib/advanced_billing/models/remove_payment_event_data.rb +155 -0
  464. data/lib/advanced_billing/models/renewal_preview.rb +161 -0
  465. data/lib/advanced_billing/models/renewal_preview_component.rb +93 -0
  466. data/lib/advanced_billing/models/renewal_preview_line_item.rb +189 -0
  467. data/lib/advanced_billing/models/renewal_preview_request.rb +62 -0
  468. data/lib/advanced_billing/models/renewal_preview_response.rb +49 -0
  469. data/lib/advanced_billing/models/replay_webhooks_request.rb +48 -0
  470. data/lib/advanced_billing/models/replay_webhooks_response.rb +50 -0
  471. data/lib/advanced_billing/models/resent_invitation.rb +83 -0
  472. data/lib/advanced_billing/models/resource_type.rb +23 -0
  473. data/lib/advanced_billing/models/restriction_type.rb +23 -0
  474. data/lib/advanced_billing/models/resume_options.rb +76 -0
  475. data/lib/advanced_billing/models/resumption_charge.rb +27 -0
  476. data/lib/advanced_billing/models/revoked_invitation.rb +72 -0
  477. data/lib/advanced_billing/models/sale_rep.rb +100 -0
  478. data/lib/advanced_billing/models/sale_rep_item_mrr.rb +70 -0
  479. data/lib/advanced_billing/models/sale_rep_settings.rb +113 -0
  480. data/lib/advanced_billing/models/sale_rep_subscription.rb +143 -0
  481. data/lib/advanced_billing/models/segment.rb +210 -0
  482. data/lib/advanced_billing/models/segment_price.rb +126 -0
  483. data/lib/advanced_billing/models/segment_response.rb +50 -0
  484. data/lib/advanced_billing/models/seller.rb +82 -0
  485. data/lib/advanced_billing/models/send_invoice_request.rb +73 -0
  486. data/lib/advanced_billing/models/service_credit.rb +92 -0
  487. data/lib/advanced_billing/models/service_credit_response.rb +48 -0
  488. data/lib/advanced_billing/models/service_credit_type.rb +23 -0
  489. data/lib/advanced_billing/models/shipping_address.rb +107 -0
  490. data/lib/advanced_billing/models/signup_proforma_preview.rb +62 -0
  491. data/lib/advanced_billing/models/signup_proforma_preview_response.rb +50 -0
  492. data/lib/advanced_billing/models/site.rb +220 -0
  493. data/lib/advanced_billing/models/site_response.rb +48 -0
  494. data/lib/advanced_billing/models/site_statistics.rb +174 -0
  495. data/lib/advanced_billing/models/site_summary.rb +90 -0
  496. data/lib/advanced_billing/models/snap_day.rb +21 -0
  497. data/lib/advanced_billing/models/sorting_direction.rb +23 -0
  498. data/lib/advanced_billing/models/subscription.rb +1014 -0
  499. data/lib/advanced_billing/models/subscription_component.rb +460 -0
  500. data/lib/advanced_billing/models/subscription_component_allocation_error_item.rb +60 -0
  501. data/lib/advanced_billing/models/subscription_component_response.rb +50 -0
  502. data/lib/advanced_billing/models/subscription_component_subscription.rb +197 -0
  503. data/lib/advanced_billing/models/subscription_custom_price.rb +212 -0
  504. data/lib/advanced_billing/models/subscription_date_field.rb +44 -0
  505. data/lib/advanced_billing/models/subscription_group.rb +96 -0
  506. data/lib/advanced_billing/models/subscription_group_balances.rb +82 -0
  507. data/lib/advanced_billing/models/subscription_group_bank_account.rb +216 -0
  508. data/lib/advanced_billing/models/subscription_group_component_custom_price.rb +96 -0
  509. data/lib/advanced_billing/models/subscription_group_credit_card.rb +273 -0
  510. data/lib/advanced_billing/models/subscription_group_customer.rb +90 -0
  511. data/lib/advanced_billing/models/subscription_group_item.rb +152 -0
  512. data/lib/advanced_billing/models/subscription_group_member_error.rb +70 -0
  513. data/lib/advanced_billing/models/subscription_group_payment_profile.rb +81 -0
  514. data/lib/advanced_billing/models/subscription_group_prepayment.rb +75 -0
  515. data/lib/advanced_billing/models/subscription_group_prepayment_method.rb +35 -0
  516. data/lib/advanced_billing/models/subscription_group_prepayment_request.rb +48 -0
  517. data/lib/advanced_billing/models/subscription_group_prepayment_response.rb +92 -0
  518. data/lib/advanced_billing/models/subscription_group_response.rb +49 -0
  519. data/lib/advanced_billing/models/subscription_group_signup.rb +154 -0
  520. data/lib/advanced_billing/models/subscription_group_signup_component.rb +110 -0
  521. data/lib/advanced_billing/models/subscription_group_signup_error.rb +112 -0
  522. data/lib/advanced_billing/models/subscription_group_signup_failure.rb +83 -0
  523. data/lib/advanced_billing/models/subscription_group_signup_failure_data.rb +140 -0
  524. data/lib/advanced_billing/models/subscription_group_signup_item.rb +197 -0
  525. data/lib/advanced_billing/models/subscription_group_signup_request.rb +49 -0
  526. data/lib/advanced_billing/models/subscription_group_signup_response.rb +171 -0
  527. data/lib/advanced_billing/models/subscription_group_signup_success.rb +81 -0
  528. data/lib/advanced_billing/models/subscription_group_signup_success_data.rb +125 -0
  529. data/lib/advanced_billing/models/subscription_group_subscription_error.rb +87 -0
  530. data/lib/advanced_billing/models/subscription_group_update_error.rb +59 -0
  531. data/lib/advanced_billing/models/subscription_include.rb +23 -0
  532. data/lib/advanced_billing/models/subscription_included_coupon.rb +115 -0
  533. data/lib/advanced_billing/models/subscription_list_date_field.rb +20 -0
  534. data/lib/advanced_billing/models/subscription_list_include.rb +20 -0
  535. data/lib/advanced_billing/models/subscription_migration_preview.rb +90 -0
  536. data/lib/advanced_billing/models/subscription_migration_preview_options.rb +163 -0
  537. data/lib/advanced_billing/models/subscription_migration_preview_request.rb +49 -0
  538. data/lib/advanced_billing/models/subscription_migration_preview_response.rb +48 -0
  539. data/lib/advanced_billing/models/subscription_mrr.rb +70 -0
  540. data/lib/advanced_billing/models/subscription_mrr_breakout.rb +59 -0
  541. data/lib/advanced_billing/models/subscription_mrr_response.rb +57 -0
  542. data/lib/advanced_billing/models/subscription_note.rb +101 -0
  543. data/lib/advanced_billing/models/subscription_note_response.rb +48 -0
  544. data/lib/advanced_billing/models/subscription_preview.rb +62 -0
  545. data/lib/advanced_billing/models/subscription_preview_response.rb +49 -0
  546. data/lib/advanced_billing/models/subscription_product_change.rb +81 -0
  547. data/lib/advanced_billing/models/subscription_product_migration.rb +152 -0
  548. data/lib/advanced_billing/models/subscription_product_migration_request.rb +48 -0
  549. data/lib/advanced_billing/models/subscription_purge_type.rb +23 -0
  550. data/lib/advanced_billing/models/subscription_response.rb +50 -0
  551. data/lib/advanced_billing/models/subscription_sort.rb +35 -0
  552. data/lib/advanced_billing/models/subscription_state.rb +118 -0
  553. data/lib/advanced_billing/models/subscription_state_change.rb +81 -0
  554. data/lib/advanced_billing/models/subscription_state_filter.rb +53 -0
  555. data/lib/advanced_billing/models/tax_configuration.rb +74 -0
  556. data/lib/advanced_billing/models/tax_configuration_kind.rb +29 -0
  557. data/lib/advanced_billing/models/tax_destination_address.rb +29 -0
  558. data/lib/advanced_billing/models/too_many_management_link_requests.rb +64 -0
  559. data/lib/advanced_billing/models/update_allocation_expiration_date.rb +50 -0
  560. data/lib/advanced_billing/models/update_component.rb +146 -0
  561. data/lib/advanced_billing/models/update_component_price_point.rb +141 -0
  562. data/lib/advanced_billing/models/update_component_price_point_request.rb +51 -0
  563. data/lib/advanced_billing/models/update_component_request.rb +48 -0
  564. data/lib/advanced_billing/models/update_coupon_currency.rb +57 -0
  565. data/lib/advanced_billing/models/update_currency_price.rb +57 -0
  566. data/lib/advanced_billing/models/update_currency_prices_request.rb +57 -0
  567. data/lib/advanced_billing/models/update_customer.rb +223 -0
  568. data/lib/advanced_billing/models/update_customer_request.rb +48 -0
  569. data/lib/advanced_billing/models/update_endpoint.rb +58 -0
  570. data/lib/advanced_billing/models/update_endpoint_request.rb +48 -0
  571. data/lib/advanced_billing/models/update_metadata.rb +70 -0
  572. data/lib/advanced_billing/models/update_metadata_request.rb +50 -0
  573. data/lib/advanced_billing/models/update_metafield.rb +106 -0
  574. data/lib/advanced_billing/models/update_metafields_request.rb +62 -0
  575. data/lib/advanced_billing/models/update_payment_profile.rb +194 -0
  576. data/lib/advanced_billing/models/update_payment_profile_request.rb +49 -0
  577. data/lib/advanced_billing/models/update_price.rb +109 -0
  578. data/lib/advanced_billing/models/update_product_price_point.rb +61 -0
  579. data/lib/advanced_billing/models/update_product_price_point_request.rb +48 -0
  580. data/lib/advanced_billing/models/update_reason_code.rb +70 -0
  581. data/lib/advanced_billing/models/update_reason_code_request.rb +48 -0
  582. data/lib/advanced_billing/models/update_segment.rb +73 -0
  583. data/lib/advanced_billing/models/update_segment_request.rb +48 -0
  584. data/lib/advanced_billing/models/update_subscription.rb +278 -0
  585. data/lib/advanced_billing/models/update_subscription_component.rb +61 -0
  586. data/lib/advanced_billing/models/update_subscription_group.rb +50 -0
  587. data/lib/advanced_billing/models/update_subscription_group_request.rb +49 -0
  588. data/lib/advanced_billing/models/update_subscription_note.rb +57 -0
  589. data/lib/advanced_billing/models/update_subscription_note_request.rb +48 -0
  590. data/lib/advanced_billing/models/update_subscription_request.rb +48 -0
  591. data/lib/advanced_billing/models/upsert_prepaid_configuration.rb +95 -0
  592. data/lib/advanced_billing/models/upsert_prepaid_configuration_request.rb +49 -0
  593. data/lib/advanced_billing/models/usage.rb +155 -0
  594. data/lib/advanced_billing/models/usage_response.rb +48 -0
  595. data/lib/advanced_billing/models/void_invoice.rb +48 -0
  596. data/lib/advanced_billing/models/void_invoice_event_data.rb +148 -0
  597. data/lib/advanced_billing/models/void_invoice_request.rb +48 -0
  598. data/lib/advanced_billing/models/void_remainder_event_data.rb +115 -0
  599. data/lib/advanced_billing/models/webhook.rb +173 -0
  600. data/lib/advanced_billing/models/webhook_order.rb +23 -0
  601. data/lib/advanced_billing/models/webhook_response.rb +50 -0
  602. data/lib/advanced_billing/models/webhook_status.rb +29 -0
  603. data/lib/advanced_billing/models/webhook_subscription.rb +124 -0
  604. data/lib/advanced_billing/utilities/date_time_helper.rb +11 -0
  605. data/lib/advanced_billing/utilities/file_wrapper.rb +16 -0
  606. data/lib/advanced_billing/utilities/union_type_lookup.rb +1143 -0
  607. data/lib/advanced_billing.rb +671 -0
  608. metadata +608 -105
  609. data/bin/arch +0 -1
  610. data/bin/ash +0 -1
  611. data/bin/base64 +0 -1
  612. data/bin/bbconfig +0 -1
  613. data/bin/busybox +0 -0
  614. data/bin/cat +0 -1
  615. data/bin/chattr +0 -1
  616. data/bin/chgrp +0 -1
  617. data/bin/chmod +0 -1
  618. data/bin/chown +0 -1
  619. data/bin/cp +0 -1
  620. data/bin/date +0 -1
  621. data/bin/dd +0 -1
  622. data/bin/df +0 -1
  623. data/bin/dmesg +0 -1
  624. data/bin/dnsdomainname +0 -1
  625. data/bin/dumpkmap +0 -1
  626. data/bin/echo +0 -1
  627. data/bin/ed +0 -1
  628. data/bin/egrep +0 -1
  629. data/bin/false +0 -1
  630. data/bin/fatattr +0 -1
  631. data/bin/fdflush +0 -1
  632. data/bin/fgrep +0 -1
  633. data/bin/fsync +0 -1
  634. data/bin/getopt +0 -1
  635. data/bin/grep +0 -1
  636. data/bin/gunzip +0 -1
  637. data/bin/gzip +0 -1
  638. data/bin/hostname +0 -1
  639. data/bin/ionice +0 -1
  640. data/bin/iostat +0 -1
  641. data/bin/ipcalc +0 -1
  642. data/bin/kbd_mode +0 -1
  643. data/bin/kill +0 -1
  644. data/bin/link +0 -1
  645. data/bin/linux32 +0 -1
  646. data/bin/linux64 +0 -1
  647. data/bin/ln +0 -1
  648. data/bin/login +0 -1
  649. data/bin/ls +0 -1
  650. data/bin/lsattr +0 -1
  651. data/bin/lzop +0 -1
  652. data/bin/makemime +0 -1
  653. data/bin/mkdir +0 -1
  654. data/bin/mknod +0 -1
  655. data/bin/mktemp +0 -1
  656. data/bin/more +0 -1
  657. data/bin/mount +0 -1
  658. data/bin/mountpoint +0 -1
  659. data/bin/mpstat +0 -1
  660. data/bin/mv +0 -1
  661. data/bin/netstat +0 -1
  662. data/bin/nice +0 -1
  663. data/bin/pidof +0 -0
  664. data/bin/ping +0 -1
  665. data/bin/ping6 +0 -1
  666. data/bin/pipe_progress +0 -1
  667. data/bin/printenv +0 -1
  668. data/bin/ps +0 -0
  669. data/bin/pwait +0 -0
  670. data/bin/pwd +0 -1
  671. data/bin/reformime +0 -1
  672. data/bin/rev +0 -1
  673. data/bin/rm +0 -1
  674. data/bin/rmdir +0 -1
  675. data/bin/run-parts +0 -1
  676. data/bin/sed +0 -1
  677. data/bin/setpriv +0 -1
  678. data/bin/setserial +0 -1
  679. data/bin/sh +0 -1
  680. data/bin/slabtop +0 -0
  681. data/bin/sleep +0 -1
  682. data/bin/stat +0 -1
  683. data/bin/stty +0 -1
  684. data/bin/su +0 -1
  685. data/bin/sync +0 -1
  686. data/bin/tar +0 -1
  687. data/bin/tload +0 -0
  688. data/bin/touch +0 -1
  689. data/bin/true +0 -1
  690. data/bin/umount +0 -1
  691. data/bin/uname +0 -1
  692. data/bin/usleep +0 -1
  693. data/bin/vmstat +0 -0
  694. data/bin/w +0 -0
  695. data/bin/watch +0 -0
  696. data/bin/zcat +0 -1
  697. data/lib/apk/db/installed +0 -3582
  698. data/lib/apk/db/lock +0 -0
  699. data/lib/apk/db/scripts.tar +0 -0
  700. data/lib/apk/db/triggers +0 -2
  701. data/lib/ld-musl-x86_64.so.1 +0 -0
  702. data/lib/libapk.so.3.12.0 +0 -0
  703. data/lib/libc.musl-x86_64.so.1 +0 -1
  704. data/lib/libcrypto.so.1.1 +0 -0
  705. data/lib/libprocps.so.8 +0 -1
  706. data/lib/libprocps.so.8.0.3 +0 -0
  707. data/lib/libssl.so.1.1 +0 -0
  708. data/lib/libz.so +0 -1
  709. data/lib/libz.so.1 +0 -1
  710. data/lib/libz.so.1.2.12 +0 -0
  711. 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_payment_for_multiple_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_consolidated_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