subtain-apimatic-sdk 4.1.1 → 9.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +28 -0
- data/README.md +377 -0
- data/lib/advanced_billing/api_helper.rb +10 -0
- data/lib/advanced_billing/client.rb +243 -0
- data/lib/advanced_billing/configuration.rb +158 -0
- data/lib/advanced_billing/controllers/advance_invoice_controller.rb +126 -0
- data/lib/advanced_billing/controllers/api_exports_controller.rb +268 -0
- data/lib/advanced_billing/controllers/base_controller.rb +71 -0
- data/lib/advanced_billing/controllers/billing_portal_controller.rb +165 -0
- data/lib/advanced_billing/controllers/components_controller.rb +747 -0
- data/lib/advanced_billing/controllers/coupons_controller.rb +691 -0
- data/lib/advanced_billing/controllers/custom_fields_controller.rb +465 -0
- data/lib/advanced_billing/controllers/customers_controller.rb +255 -0
- data/lib/advanced_billing/controllers/events_based_billing_segments_controller.rb +334 -0
- data/lib/advanced_billing/controllers/events_controller.rb +229 -0
- data/lib/advanced_billing/controllers/insights_controller.rb +168 -0
- data/lib/advanced_billing/controllers/invoices_controller.rb +953 -0
- data/lib/advanced_billing/controllers/offers_controller.rb +132 -0
- data/lib/advanced_billing/controllers/payment_profiles_controller.rb +732 -0
- data/lib/advanced_billing/controllers/product_families_controller.rb +187 -0
- data/lib/advanced_billing/controllers/product_price_points_controller.rb +422 -0
- data/lib/advanced_billing/controllers/products_controller.rb +220 -0
- data/lib/advanced_billing/controllers/proforma_invoices_controller.rb +381 -0
- data/lib/advanced_billing/controllers/reason_codes_controller.rb +158 -0
- data/lib/advanced_billing/controllers/referral_codes_controller.rb +42 -0
- data/lib/advanced_billing/controllers/sales_commissions_controller.rb +192 -0
- data/lib/advanced_billing/controllers/sites_controller.rb +96 -0
- data/lib/advanced_billing/controllers/subscription_components_controller.rb +992 -0
- data/lib/advanced_billing/controllers/subscription_group_invoice_account_controller.rb +163 -0
- data/lib/advanced_billing/controllers/subscription_group_status_controller.rb +157 -0
- data/lib/advanced_billing/controllers/subscription_groups_controller.rb +300 -0
- data/lib/advanced_billing/controllers/subscription_invoice_account_controller.rb +226 -0
- data/lib/advanced_billing/controllers/subscription_notes_controller.rb +159 -0
- data/lib/advanced_billing/controllers/subscription_products_controller.rb +166 -0
- data/lib/advanced_billing/controllers/subscription_status_controller.rb +473 -0
- data/lib/advanced_billing/controllers/subscriptions_controller.rb +1357 -0
- data/lib/advanced_billing/controllers/webhooks_controller.rb +210 -0
- data/lib/advanced_billing/exceptions/api_exception.rb +10 -0
- data/lib/advanced_billing/exceptions/component_allocation_error_exception.rb +41 -0
- data/lib/advanced_billing/exceptions/component_price_point_error_exception.rb +41 -0
- data/lib/advanced_billing/exceptions/customer_error_response_exception.rb +34 -0
- data/lib/advanced_billing/exceptions/error_list_response_exception.rb +32 -0
- data/lib/advanced_billing/exceptions/error_map_response_exception.rb +32 -0
- data/lib/advanced_billing/exceptions/event_based_billing_list_segments_errors_exception.rb +32 -0
- data/lib/advanced_billing/exceptions/event_based_billing_segment_errors_exception.rb +35 -0
- data/lib/advanced_billing/exceptions/event_based_billing_segment_exception.rb +32 -0
- data/lib/advanced_billing/exceptions/nested_error_response_exception.rb +32 -0
- data/lib/advanced_billing/exceptions/proforma_bad_request_error_response_exception.rb +32 -0
- data/lib/advanced_billing/exceptions/refund_prepayment_aggregated_errors_response_exception.rb +33 -0
- data/lib/advanced_billing/exceptions/refund_prepayment_base_errors_response_exception.rb +32 -0
- data/lib/advanced_billing/exceptions/single_error_response_exception.rb +32 -0
- data/lib/advanced_billing/exceptions/single_string_error_response_exception.rb +32 -0
- data/lib/advanced_billing/exceptions/subscription_add_coupon_error_exception.rb +42 -0
- data/lib/advanced_billing/exceptions/subscription_component_allocation_error_exception.rb +41 -0
- data/lib/advanced_billing/exceptions/subscription_group_signup_error_response_exception.rb +32 -0
- data/lib/advanced_billing/exceptions/subscription_group_update_error_response_exception.rb +32 -0
- data/lib/advanced_billing/exceptions/subscription_remove_coupon_errors_exception.rb +32 -0
- data/lib/advanced_billing/exceptions/subscriptions_mrr_error_response_exception.rb +32 -0
- data/lib/advanced_billing/exceptions/too_many_management_link_requests_error_exception.rb +32 -0
- data/lib/advanced_billing/http/auth/basic_auth.rb +50 -0
- data/lib/advanced_billing/http/http_call_back.rb +10 -0
- data/lib/advanced_billing/http/http_method_enum.rb +10 -0
- data/lib/advanced_billing/http/http_request.rb +10 -0
- data/lib/advanced_billing/http/http_response.rb +10 -0
- data/lib/advanced_billing/models/account_balance.rb +51 -0
- data/lib/advanced_billing/models/account_balances.rb +81 -0
- data/lib/advanced_billing/models/ach_agreement.rb +96 -0
- data/lib/advanced_billing/models/activate_subscription_request.rb +57 -0
- data/lib/advanced_billing/models/add_coupons_request.rb +50 -0
- data/lib/advanced_billing/models/add_subscription_to_a_group.rb +62 -0
- data/lib/advanced_billing/models/agreement_acceptance.rb +125 -0
- data/lib/advanced_billing/models/allocate_components.rb +130 -0
- data/lib/advanced_billing/models/allocation.rb +231 -0
- data/lib/advanced_billing/models/allocation_expiration_date.rb +50 -0
- data/lib/advanced_billing/models/allocation_payment.rb +89 -0
- data/lib/advanced_billing/models/allocation_preview.rb +190 -0
- data/lib/advanced_billing/models/allocation_preview_item.rb +187 -0
- data/lib/advanced_billing/models/allocation_preview_line_item.rb +130 -0
- data/lib/advanced_billing/models/allocation_preview_response.rb +49 -0
- data/lib/advanced_billing/models/allocation_response.rb +50 -0
- data/lib/advanced_billing/models/allocation_settings.rb +74 -0
- data/lib/advanced_billing/models/applied_credit_note.rb +69 -0
- data/lib/advanced_billing/models/apply_credit_note_event_data.rb +174 -0
- data/lib/advanced_billing/models/apply_debit_note_event_data.rb +94 -0
- data/lib/advanced_billing/models/apply_payment_event_data.rb +130 -0
- data/lib/advanced_billing/models/attribute_error.rb +48 -0
- data/lib/advanced_billing/models/auto_invite.rb +23 -0
- data/lib/advanced_billing/models/auto_resume.rb +51 -0
- data/lib/advanced_billing/models/bank_account.rb +270 -0
- data/lib/advanced_billing/models/bank_account_attributes.rb +183 -0
- data/lib/advanced_billing/models/bank_account_payment_profile.rb +285 -0
- data/lib/advanced_billing/models/bank_account_response.rb +48 -0
- data/lib/advanced_billing/models/bank_account_type.rb +23 -0
- data/lib/advanced_billing/models/bank_account_vault.rb +32 -0
- data/lib/advanced_billing/models/bank_account_verification.rb +61 -0
- data/lib/advanced_billing/models/bank_account_verification_request.rb +50 -0
- data/lib/advanced_billing/models/base_model.rb +62 -0
- data/lib/advanced_billing/models/base_refund_error.rb +50 -0
- data/lib/advanced_billing/models/base_string_error.rb +50 -0
- data/lib/advanced_billing/models/basic_date_field.rb +23 -0
- data/lib/advanced_billing/models/batch_job.rb +91 -0
- data/lib/advanced_billing/models/batch_job_response.rb +48 -0
- data/lib/advanced_billing/models/billing_address.rb +113 -0
- data/lib/advanced_billing/models/billing_manifest.rb +142 -0
- data/lib/advanced_billing/models/billing_manifest_item.rb +182 -0
- data/lib/advanced_billing/models/breakouts.rb +82 -0
- data/lib/advanced_billing/models/bulk_component_s_price_point_assignment.rb +59 -0
- data/lib/advanced_billing/models/bulk_create_product_price_points_request.rb +57 -0
- data/lib/advanced_billing/models/bulk_create_product_price_points_response.rb +59 -0
- data/lib/advanced_billing/models/bulk_create_segments.rb +59 -0
- data/lib/advanced_billing/models/bulk_update_segments.rb +59 -0
- data/lib/advanced_billing/models/bulk_update_segments_item.rb +80 -0
- data/lib/advanced_billing/models/calendar_billing.rb +78 -0
- data/lib/advanced_billing/models/cancel_grouped_subscriptions_request.rb +51 -0
- data/lib/advanced_billing/models/cancellation_method.rb +30 -0
- data/lib/advanced_billing/models/cancellation_options.rb +62 -0
- data/lib/advanced_billing/models/cancellation_request.rb +48 -0
- data/lib/advanced_billing/models/card_type.rb +56 -0
- data/lib/advanced_billing/models/card_type1.rb +116 -0
- data/lib/advanced_billing/models/change_invoice_collection_method_event_data.rb +71 -0
- data/lib/advanced_billing/models/chargify_ebb.rb +113 -0
- data/lib/advanced_billing/models/cleanup_scope.rb +26 -0
- data/lib/advanced_billing/models/component.rb +405 -0
- data/lib/advanced_billing/models/component_allocation_change.rb +142 -0
- data/lib/advanced_billing/models/component_allocation_error_item.rb +77 -0
- data/lib/advanced_billing/models/component_cost_data.rb +135 -0
- data/lib/advanced_billing/models/component_cost_data_rate_tier.rb +101 -0
- data/lib/advanced_billing/models/component_custom_price.rb +81 -0
- data/lib/advanced_billing/models/component_kind.rb +32 -0
- data/lib/advanced_billing/models/component_kind_path.rb +32 -0
- data/lib/advanced_billing/models/component_price.rb +123 -0
- data/lib/advanced_billing/models/component_price_point.rb +192 -0
- data/lib/advanced_billing/models/component_price_point_error_item.rb +68 -0
- data/lib/advanced_billing/models/component_price_point_item.rb +98 -0
- data/lib/advanced_billing/models/component_price_point_price.rb +123 -0
- data/lib/advanced_billing/models/component_price_point_response.rb +48 -0
- data/lib/advanced_billing/models/component_price_points_response.rb +59 -0
- data/lib/advanced_billing/models/component_response.rb +48 -0
- data/lib/advanced_billing/models/component_s_price_point_assignment.rb +71 -0
- data/lib/advanced_billing/models/compounding_strategy.rb +23 -0
- data/lib/advanced_billing/models/consolidated_invoice.rb +59 -0
- data/lib/advanced_billing/models/count_response.rb +50 -0
- data/lib/advanced_billing/models/coupon.rb +367 -0
- data/lib/advanced_billing/models/coupon_currency.rb +77 -0
- data/lib/advanced_billing/models/coupon_currency_request.rb +57 -0
- data/lib/advanced_billing/models/coupon_response.rb +50 -0
- data/lib/advanced_billing/models/coupon_restriction.rb +99 -0
- data/lib/advanced_billing/models/coupon_subcodes.rb +50 -0
- data/lib/advanced_billing/models/coupon_subcodes_response.rb +70 -0
- data/lib/advanced_billing/models/coupon_usage.rb +114 -0
- data/lib/advanced_billing/models/create_allocation.rb +162 -0
- data/lib/advanced_billing/models/create_allocation_request.rb +48 -0
- data/lib/advanced_billing/models/create_component_price_point.rb +125 -0
- data/lib/advanced_billing/models/create_component_price_point_request.rb +64 -0
- data/lib/advanced_billing/models/create_component_price_points_request.rb +64 -0
- data/lib/advanced_billing/models/create_currency_price.rb +68 -0
- data/lib/advanced_billing/models/create_currency_prices_request.rb +57 -0
- data/lib/advanced_billing/models/create_customer.rb +209 -0
- data/lib/advanced_billing/models/create_customer_request.rb +48 -0
- data/lib/advanced_billing/models/create_ebb_component.rb +65 -0
- data/lib/advanced_billing/models/create_invoice.rb +163 -0
- data/lib/advanced_billing/models/create_invoice_address.rb +124 -0
- data/lib/advanced_billing/models/create_invoice_coupon.rb +115 -0
- data/lib/advanced_billing/models/create_invoice_item.rb +185 -0
- data/lib/advanced_billing/models/create_invoice_payment.rb +90 -0
- data/lib/advanced_billing/models/create_invoice_payment_application.rb +79 -0
- data/lib/advanced_billing/models/create_invoice_payment_request.rb +58 -0
- data/lib/advanced_billing/models/create_invoice_request.rb +48 -0
- data/lib/advanced_billing/models/create_metadata.rb +59 -0
- data/lib/advanced_billing/models/create_metadata_request.rb +57 -0
- data/lib/advanced_billing/models/create_metafield.rb +103 -0
- data/lib/advanced_billing/models/create_metafields_request.rb +64 -0
- data/lib/advanced_billing/models/create_metered_component.rb +65 -0
- data/lib/advanced_billing/models/create_multi_invoice_payment.rb +134 -0
- data/lib/advanced_billing/models/create_multi_invoice_payment_request.rb +48 -0
- data/lib/advanced_billing/models/create_offer.rb +116 -0
- data/lib/advanced_billing/models/create_offer_component.rb +60 -0
- data/lib/advanced_billing/models/create_offer_request.rb +48 -0
- data/lib/advanced_billing/models/create_on_off_component.rb +65 -0
- data/lib/advanced_billing/models/create_or_update_coupon.rb +85 -0
- data/lib/advanced_billing/models/create_or_update_flat_amount_coupon.rb +214 -0
- data/lib/advanced_billing/models/create_or_update_percentage_coupon.rb +215 -0
- data/lib/advanced_billing/models/create_or_update_product.rb +133 -0
- data/lib/advanced_billing/models/create_or_update_product_request.rb +48 -0
- data/lib/advanced_billing/models/create_or_update_segment_price.rb +87 -0
- data/lib/advanced_billing/models/create_payment.rb +75 -0
- data/lib/advanced_billing/models/create_payment_profile.rb +416 -0
- data/lib/advanced_billing/models/create_payment_profile_request.rb +49 -0
- data/lib/advanced_billing/models/create_payment_profile_response.rb +49 -0
- data/lib/advanced_billing/models/create_prepaid_component.rb +65 -0
- data/lib/advanced_billing/models/create_prepaid_usage_component_price_point.rb +194 -0
- data/lib/advanced_billing/models/create_prepayment.rb +90 -0
- data/lib/advanced_billing/models/create_prepayment_request.rb +48 -0
- data/lib/advanced_billing/models/create_prepayment_response.rb +48 -0
- data/lib/advanced_billing/models/create_product_currency_price.rb +64 -0
- data/lib/advanced_billing/models/create_product_currency_prices_request.rb +57 -0
- data/lib/advanced_billing/models/create_product_family.rb +61 -0
- data/lib/advanced_billing/models/create_product_family_request.rb +49 -0
- data/lib/advanced_billing/models/create_product_price_point.rb +182 -0
- data/lib/advanced_billing/models/create_product_price_point_request.rb +48 -0
- data/lib/advanced_billing/models/create_quantity_based_component.rb +66 -0
- data/lib/advanced_billing/models/create_reason_code.rb +66 -0
- data/lib/advanced_billing/models/create_reason_code_request.rb +48 -0
- data/lib/advanced_billing/models/create_segment.rb +143 -0
- data/lib/advanced_billing/models/create_segment_request.rb +48 -0
- data/lib/advanced_billing/models/create_subscription.rb +694 -0
- data/lib/advanced_billing/models/create_subscription_component.rb +122 -0
- data/lib/advanced_billing/models/create_subscription_group.rb +74 -0
- data/lib/advanced_billing/models/create_subscription_group_request.rb +49 -0
- data/lib/advanced_billing/models/create_subscription_request.rb +48 -0
- data/lib/advanced_billing/models/create_usage.rb +72 -0
- data/lib/advanced_billing/models/create_usage_request.rb +48 -0
- data/lib/advanced_billing/models/created_payment_profile.rb +327 -0
- data/lib/advanced_billing/models/created_prepayment.rb +114 -0
- data/lib/advanced_billing/models/credit_account_balance_changed.rb +120 -0
- data/lib/advanced_billing/models/credit_card_attributes.rb +81 -0
- data/lib/advanced_billing/models/credit_card_payment_profile.rb +277 -0
- data/lib/advanced_billing/models/credit_note.rb +403 -0
- data/lib/advanced_billing/models/credit_note1.rb +405 -0
- data/lib/advanced_billing/models/credit_note_application.rb +99 -0
- data/lib/advanced_billing/models/credit_note_line_item.rb +246 -0
- data/lib/advanced_billing/models/credit_scheme.rb +26 -0
- data/lib/advanced_billing/models/credit_scheme_request.rb +48 -0
- data/lib/advanced_billing/models/credit_type.rb +27 -0
- data/lib/advanced_billing/models/credit_type1.rb +28 -0
- data/lib/advanced_billing/models/currency_price.rb +99 -0
- data/lib/advanced_billing/models/currency_price_role.rb +26 -0
- data/lib/advanced_billing/models/current_vault.rb +99 -0
- data/lib/advanced_billing/models/custom_field_value_change.rb +144 -0
- data/lib/advanced_billing/models/custom_price_used_for_subscription_create_update.rb +197 -0
- data/lib/advanced_billing/models/customer.rb +352 -0
- data/lib/advanced_billing/models/customer1.rb +120 -0
- data/lib/advanced_billing/models/customer_attributes.rb +241 -0
- data/lib/advanced_billing/models/customer_billing_address_change.rb +59 -0
- data/lib/advanced_billing/models/customer_change.rb +81 -0
- data/lib/advanced_billing/models/customer_changes_preview_response.rb +48 -0
- data/lib/advanced_billing/models/customer_custom_fields_change.rb +77 -0
- data/lib/advanced_billing/models/customer_error.rb +60 -0
- data/lib/advanced_billing/models/customer_payer_change.rb +59 -0
- data/lib/advanced_billing/models/customer_response.rb +48 -0
- data/lib/advanced_billing/models/customer_shipping_address_change.rb +59 -0
- data/lib/advanced_billing/models/deduct_service_credit.rb +80 -0
- data/lib/advanced_billing/models/deduct_service_credit_request.rb +48 -0
- data/lib/advanced_billing/models/delayed_cancellation_response.rb +50 -0
- data/lib/advanced_billing/models/delete_subscription_group_response.rb +59 -0
- data/lib/advanced_billing/models/direction.rb +23 -0
- data/lib/advanced_billing/models/discount_type.rb +23 -0
- data/lib/advanced_billing/models/dunner_data.rb +131 -0
- data/lib/advanced_billing/models/dunning_step_data.rb +149 -0
- data/lib/advanced_billing/models/dunning_step_reached.rb +96 -0
- data/lib/advanced_billing/models/ebb_component.rb +271 -0
- data/lib/advanced_billing/models/ebb_event.rb +50 -0
- data/lib/advanced_billing/models/enable_webhooks_request.rb +49 -0
- data/lib/advanced_billing/models/enable_webhooks_response.rb +51 -0
- data/lib/advanced_billing/models/endpoint.rb +88 -0
- data/lib/advanced_billing/models/endpoint_response.rb +50 -0
- data/lib/advanced_billing/models/errors.rb +59 -0
- data/lib/advanced_billing/models/event.rb +145 -0
- data/lib/advanced_billing/models/event_based_billing_segment_error.rb +51 -0
- data/lib/advanced_billing/models/event_response.rb +48 -0
- data/lib/advanced_billing/models/event_type.rb +121 -0
- data/lib/advanced_billing/models/extended_interval_unit.rb +26 -0
- data/lib/advanced_billing/models/failed_payment_action.rb +37 -0
- data/lib/advanced_billing/models/first_charge_type.rb +26 -0
- data/lib/advanced_billing/models/full_subscription_group_response.rb +165 -0
- data/lib/advanced_billing/models/get_one_time_token_payment_profile.rb +249 -0
- data/lib/advanced_billing/models/get_one_time_token_request.rb +49 -0
- data/lib/advanced_billing/models/group_billing.rb +85 -0
- data/lib/advanced_billing/models/group_settings.rb +76 -0
- data/lib/advanced_billing/models/group_target.rb +75 -0
- data/lib/advanced_billing/models/group_target_type.rb +32 -0
- data/lib/advanced_billing/models/holder_type.rb +23 -0
- data/lib/advanced_billing/models/include_not_null.rb +20 -0
- data/lib/advanced_billing/models/include_option.rb +23 -0
- data/lib/advanced_billing/models/interval_unit.rb +23 -0
- data/lib/advanced_billing/models/invoice.rb +712 -0
- data/lib/advanced_billing/models/invoice_address.rb +113 -0
- data/lib/advanced_billing/models/invoice_balance_item.rb +79 -0
- data/lib/advanced_billing/models/invoice_consolidation_level.rb +34 -0
- data/lib/advanced_billing/models/invoice_credit.rb +121 -0
- data/lib/advanced_billing/models/invoice_custom_field.rb +88 -0
- data/lib/advanced_billing/models/invoice_customer.rb +121 -0
- data/lib/advanced_billing/models/invoice_date_field.rb +32 -0
- data/lib/advanced_billing/models/invoice_discount.rb +177 -0
- data/lib/advanced_billing/models/invoice_discount_breakout.rb +80 -0
- data/lib/advanced_billing/models/invoice_display_settings.rb +75 -0
- data/lib/advanced_billing/models/invoice_event.rb +102 -0
- data/lib/advanced_billing/models/invoice_event1.rb +374 -0
- data/lib/advanced_billing/models/invoice_event_type.rb +50 -0
- data/lib/advanced_billing/models/invoice_issued.rb +252 -0
- data/lib/advanced_billing/models/invoice_line_item.rb +321 -0
- data/lib/advanced_billing/models/invoice_line_item_component_cost_data.rb +69 -0
- data/lib/advanced_billing/models/invoice_line_item_event_data.rb +262 -0
- data/lib/advanced_billing/models/invoice_line_item_pricing_detail.rb +69 -0
- data/lib/advanced_billing/models/invoice_payer.rb +109 -0
- data/lib/advanced_billing/models/invoice_payment.rb +155 -0
- data/lib/advanced_billing/models/invoice_payment_application.rb +73 -0
- data/lib/advanced_billing/models/invoice_payment_method.rb +129 -0
- data/lib/advanced_billing/models/invoice_payment_method_type.rb +35 -0
- data/lib/advanced_billing/models/invoice_payment_type.rb +29 -0
- data/lib/advanced_billing/models/invoice_previous_balance.rb +78 -0
- data/lib/advanced_billing/models/invoice_refund.rb +113 -0
- data/lib/advanced_billing/models/invoice_response.rb +48 -0
- data/lib/advanced_billing/models/invoice_seller.rb +90 -0
- data/lib/advanced_billing/models/invoice_sort_field.rb +41 -0
- data/lib/advanced_billing/models/invoice_tax.rb +176 -0
- data/lib/advanced_billing/models/invoice_tax_breakout.rb +79 -0
- data/lib/advanced_billing/models/invoice_tax_component_breakout.rb +89 -0
- data/lib/advanced_billing/models/issue_advance_invoice_request.rb +50 -0
- data/lib/advanced_billing/models/issue_invoice_event_data.rb +115 -0
- data/lib/advanced_billing/models/issue_invoice_request.rb +63 -0
- data/lib/advanced_billing/models/issue_service_credit.rb +80 -0
- data/lib/advanced_billing/models/issue_service_credit_request.rb +49 -0
- data/lib/advanced_billing/models/item_category.rb +33 -0
- data/lib/advanced_billing/models/item_price_point_changed.rb +134 -0
- data/lib/advanced_billing/models/item_price_point_data.rb +78 -0
- data/lib/advanced_billing/models/list_components_price_points_include.rb +20 -0
- data/lib/advanced_billing/models/list_components_price_points_response.rb +57 -0
- data/lib/advanced_billing/models/list_credit_notes_response.rb +57 -0
- data/lib/advanced_billing/models/list_events_date_field.rb +20 -0
- data/lib/advanced_billing/models/list_invoice_events_response.rb +87 -0
- data/lib/advanced_billing/models/list_invoices_response.rb +57 -0
- data/lib/advanced_billing/models/list_metafields_response.rb +96 -0
- data/lib/advanced_billing/models/list_mrr_response.rb +48 -0
- data/lib/advanced_billing/models/list_mrr_response_result.rb +116 -0
- data/lib/advanced_billing/models/list_offers_response.rb +59 -0
- data/lib/advanced_billing/models/list_payment_profile_item.rb +274 -0
- data/lib/advanced_billing/models/list_payment_profiles_response.rb +51 -0
- data/lib/advanced_billing/models/list_product_price_points_response.rb +57 -0
- data/lib/advanced_billing/models/list_products_include.rb +20 -0
- data/lib/advanced_billing/models/list_products_price_points_include.rb +20 -0
- data/lib/advanced_billing/models/list_public_keys_meta.rb +78 -0
- data/lib/advanced_billing/models/list_public_keys_response.rb +68 -0
- data/lib/advanced_billing/models/list_sale_rep_item.rb +90 -0
- data/lib/advanced_billing/models/list_segments_response.rb +59 -0
- data/lib/advanced_billing/models/list_subcription_group_prepayment_item.rb +137 -0
- data/lib/advanced_billing/models/list_subscription_components_include.rb +20 -0
- data/lib/advanced_billing/models/list_subscription_components_response.rb +57 -0
- data/lib/advanced_billing/models/list_subscription_components_sort.rb +23 -0
- data/lib/advanced_billing/models/list_subscription_group_prepayment.rb +49 -0
- data/lib/advanced_billing/models/list_subscription_group_prepayment_date_field.rb +23 -0
- data/lib/advanced_billing/models/list_subscription_group_prepayment_response.rb +57 -0
- data/lib/advanced_billing/models/list_subscription_groups_item.rb +141 -0
- data/lib/advanced_billing/models/list_subscription_groups_meta.rb +59 -0
- data/lib/advanced_billing/models/list_subscription_groups_response.rb +68 -0
- data/lib/advanced_billing/models/metadata.rb +98 -0
- data/lib/advanced_billing/models/metafield.rb +112 -0
- data/lib/advanced_billing/models/metafield_input.rb +32 -0
- data/lib/advanced_billing/models/metafield_scope.rb +119 -0
- data/lib/advanced_billing/models/metafields.rb +103 -0
- data/lib/advanced_billing/models/metafields1.rb +103 -0
- data/lib/advanced_billing/models/metered_component.rb +294 -0
- data/lib/advanced_billing/models/metered_usage.rb +132 -0
- data/lib/advanced_billing/models/movement.rb +138 -0
- data/lib/advanced_billing/models/movement_line_item.rb +143 -0
- data/lib/advanced_billing/models/mrr.rb +100 -0
- data/lib/advanced_billing/models/mrr_movement.rb +79 -0
- data/lib/advanced_billing/models/mrr_response.rb +48 -0
- data/lib/advanced_billing/models/multi_invoice_payment.rb +90 -0
- data/lib/advanced_billing/models/multi_invoice_payment_response.rb +48 -0
- data/lib/advanced_billing/models/net_terms.rb +94 -0
- data/lib/advanced_billing/models/offer.rb +254 -0
- data/lib/advanced_billing/models/offer_discount.rb +68 -0
- data/lib/advanced_billing/models/offer_item.rb +130 -0
- data/lib/advanced_billing/models/offer_response.rb +50 -0
- data/lib/advanced_billing/models/offer_signup_page.rb +96 -0
- data/lib/advanced_billing/models/on_off_component.rb +291 -0
- data/lib/advanced_billing/models/organization_address.rb +123 -0
- data/lib/advanced_billing/models/origin_invoice.rb +69 -0
- data/lib/advanced_billing/models/overage_pricing.rb +87 -0
- data/lib/advanced_billing/models/override_subscription.rb +100 -0
- data/lib/advanced_billing/models/override_subscription_request.rb +48 -0
- data/lib/advanced_billing/models/paginated_metadata.rb +96 -0
- data/lib/advanced_billing/models/pause_request.rb +50 -0
- data/lib/advanced_billing/models/payer_attributes.rb +221 -0
- data/lib/advanced_billing/models/payer_error.rb +68 -0
- data/lib/advanced_billing/models/payment.rb +80 -0
- data/lib/advanced_billing/models/payment_collection_method.rb +32 -0
- data/lib/advanced_billing/models/payment_collection_method1.rb +30 -0
- data/lib/advanced_billing/models/payment_collection_method_changed.rb +79 -0
- data/lib/advanced_billing/models/payment_method_apple_pay_type.rb +60 -0
- data/lib/advanced_billing/models/payment_method_bank_account_type.rb +81 -0
- data/lib/advanced_billing/models/payment_method_credit_card_type.rb +101 -0
- data/lib/advanced_billing/models/payment_method_external_type.rb +87 -0
- data/lib/advanced_billing/models/payment_method_nested_data.rb +150 -0
- data/lib/advanced_billing/models/payment_method_paypal_type.rb +69 -0
- data/lib/advanced_billing/models/payment_profile.rb +287 -0
- data/lib/advanced_billing/models/payment_profile_attributes.rb +356 -0
- data/lib/advanced_billing/models/payment_profile_response.rb +49 -0
- data/lib/advanced_billing/models/payment_related_events.rb +79 -0
- data/lib/advanced_billing/models/payment_response.rb +68 -0
- data/lib/advanced_billing/models/payment_type.rb +26 -0
- data/lib/advanced_billing/models/pending_cancellation_change.rb +79 -0
- data/lib/advanced_billing/models/portal_management_link.rb +101 -0
- data/lib/advanced_billing/models/pre_payment.rb +74 -0
- data/lib/advanced_billing/models/prepaid_component_price_point.rb +108 -0
- data/lib/advanced_billing/models/prepaid_configuration.rb +103 -0
- data/lib/advanced_billing/models/prepaid_configuration_response.rb +49 -0
- data/lib/advanced_billing/models/prepaid_subscription_balance_changed.rb +110 -0
- data/lib/advanced_billing/models/prepaid_usage.rb +199 -0
- data/lib/advanced_billing/models/prepaid_usage_allocation_detail.rb +80 -0
- data/lib/advanced_billing/models/prepaid_usage_component.rb +350 -0
- data/lib/advanced_billing/models/prepayment1.rb +131 -0
- data/lib/advanced_billing/models/prepayment_account_balance_changed.rb +108 -0
- data/lib/advanced_billing/models/prepayment_aggregated_error.rb +69 -0
- data/lib/advanced_billing/models/prepayment_method.rb +41 -0
- data/lib/advanced_billing/models/prepayment_response.rb +48 -0
- data/lib/advanced_billing/models/prepayments_response.rb +59 -0
- data/lib/advanced_billing/models/preview_allocations_request.rb +69 -0
- data/lib/advanced_billing/models/price.rb +98 -0
- data/lib/advanced_billing/models/price_point.rb +172 -0
- data/lib/advanced_billing/models/price_point_type.rb +30 -0
- data/lib/advanced_billing/models/pricing_scheme.rb +31 -0
- data/lib/advanced_billing/models/product.rb +506 -0
- data/lib/advanced_billing/models/product_family.rb +120 -0
- data/lib/advanced_billing/models/product_family_response.rb +50 -0
- data/lib/advanced_billing/models/product_price_point.rb +289 -0
- data/lib/advanced_billing/models/product_price_point_currency_price.rb +99 -0
- data/lib/advanced_billing/models/product_price_point_response.rb +48 -0
- data/lib/advanced_billing/models/product_response.rb +48 -0
- data/lib/advanced_billing/models/proforma_custom_field.rb +87 -0
- data/lib/advanced_billing/models/proforma_error.rb +51 -0
- data/lib/advanced_billing/models/proforma_invoice.rb +463 -0
- data/lib/advanced_billing/models/proforma_invoice_credit.rb +80 -0
- data/lib/advanced_billing/models/proforma_invoice_discount.rb +108 -0
- data/lib/advanced_billing/models/proforma_invoice_discount_breakout.rb +61 -0
- data/lib/advanced_billing/models/proforma_invoice_issued.rb +202 -0
- data/lib/advanced_billing/models/proforma_invoice_payment.rb +80 -0
- data/lib/advanced_billing/models/proforma_invoice_preview.rb +463 -0
- data/lib/advanced_billing/models/proforma_invoice_tax.rb +116 -0
- data/lib/advanced_billing/models/proforma_invoice_tax_breakout.rb +60 -0
- data/lib/advanced_billing/models/proration.rb +52 -0
- data/lib/advanced_billing/models/public_key.rb +70 -0
- data/lib/advanced_billing/models/public_signup_page.rb +92 -0
- data/lib/advanced_billing/models/quantity_based_component.rb +303 -0
- data/lib/advanced_billing/models/reactivate_subscription_group_request.rb +60 -0
- data/lib/advanced_billing/models/reactivate_subscription_group_response.rb +130 -0
- data/lib/advanced_billing/models/reactivate_subscription_request.rb +122 -0
- data/lib/advanced_billing/models/reactivation_billing.rb +66 -0
- data/lib/advanced_billing/models/reactivation_charge.rb +30 -0
- data/lib/advanced_billing/models/read_payment_profile_response.rb +64 -0
- data/lib/advanced_billing/models/reason_code.rb +105 -0
- data/lib/advanced_billing/models/reason_code_response.rb +48 -0
- data/lib/advanced_billing/models/reason_codes_json_response.rb +50 -0
- data/lib/advanced_billing/models/record_payment_request.rb +48 -0
- data/lib/advanced_billing/models/recurring_scheme.rb +26 -0
- data/lib/advanced_billing/models/referral_code.rb +79 -0
- data/lib/advanced_billing/models/referral_validation_response.rb +50 -0
- data/lib/advanced_billing/models/refund.rb +124 -0
- data/lib/advanced_billing/models/refund_consolidated_invoice.rb +125 -0
- data/lib/advanced_billing/models/refund_invoice.rb +124 -0
- data/lib/advanced_billing/models/refund_invoice_event_data.rb +171 -0
- data/lib/advanced_billing/models/refund_invoice_request.rb +64 -0
- data/lib/advanced_billing/models/refund_prepayment.rb +106 -0
- data/lib/advanced_billing/models/refund_prepayment_aggregated_error.rb +50 -0
- data/lib/advanced_billing/models/refund_prepayment_base_refund_error.rb +50 -0
- data/lib/advanced_billing/models/refund_prepayment_request.rb +48 -0
- data/lib/advanced_billing/models/refund_success.rb +92 -0
- data/lib/advanced_billing/models/remove_payment_event_data.rb +131 -0
- data/lib/advanced_billing/models/renewal_preview.rb +157 -0
- data/lib/advanced_billing/models/renewal_preview_component.rb +91 -0
- data/lib/advanced_billing/models/renewal_preview_line_item.rb +161 -0
- data/lib/advanced_billing/models/renewal_preview_request.rb +62 -0
- data/lib/advanced_billing/models/renewal_preview_response.rb +49 -0
- data/lib/advanced_billing/models/replay_webhooks_request.rb +48 -0
- data/lib/advanced_billing/models/replay_webhooks_response.rb +50 -0
- data/lib/advanced_billing/models/resent_invitation.rb +81 -0
- data/lib/advanced_billing/models/resource_type.rb +23 -0
- data/lib/advanced_billing/models/restriction_type.rb +23 -0
- data/lib/advanced_billing/models/resume_options.rb +75 -0
- data/lib/advanced_billing/models/resumption_charge.rb +27 -0
- data/lib/advanced_billing/models/revoked_invitation.rb +71 -0
- data/lib/advanced_billing/models/sale_rep.rb +97 -0
- data/lib/advanced_billing/models/sale_rep_item_mrr.rb +68 -0
- data/lib/advanced_billing/models/sale_rep_settings.rb +109 -0
- data/lib/advanced_billing/models/sale_rep_subscription.rb +137 -0
- data/lib/advanced_billing/models/segment.rb +189 -0
- data/lib/advanced_billing/models/segment_price.rb +132 -0
- data/lib/advanced_billing/models/segment_response.rb +50 -0
- data/lib/advanced_billing/models/seller.rb +89 -0
- data/lib/advanced_billing/models/send_invoice_request.rb +72 -0
- data/lib/advanced_billing/models/service_credit.rb +90 -0
- data/lib/advanced_billing/models/service_credit_response.rb +48 -0
- data/lib/advanced_billing/models/service_credit_type.rb +23 -0
- data/lib/advanced_billing/models/shipping_address.rb +113 -0
- data/lib/advanced_billing/models/signup_proforma_preview.rb +62 -0
- data/lib/advanced_billing/models/signup_proforma_preview_response.rb +50 -0
- data/lib/advanced_billing/models/site.rb +212 -0
- data/lib/advanced_billing/models/site_response.rb +48 -0
- data/lib/advanced_billing/models/site_statistics.rb +171 -0
- data/lib/advanced_billing/models/site_summary.rb +87 -0
- data/lib/advanced_billing/models/snap_day.rb +21 -0
- data/lib/advanced_billing/models/sorting_direction.rb +23 -0
- data/lib/advanced_billing/models/status.rb +37 -0
- data/lib/advanced_billing/models/status1.rb +23 -0
- data/lib/advanced_billing/models/subscription.rb +776 -0
- data/lib/advanced_billing/models/subscription_bank_account.rb +281 -0
- data/lib/advanced_billing/models/subscription_component.rb +400 -0
- data/lib/advanced_billing/models/subscription_component_allocation_error_item.rb +59 -0
- data/lib/advanced_billing/models/subscription_component_response.rb +50 -0
- data/lib/advanced_billing/models/subscription_component_subscription.rb +70 -0
- data/lib/advanced_billing/models/subscription_date_field.rb +44 -0
- data/lib/advanced_billing/models/subscription_group.rb +94 -0
- data/lib/advanced_billing/models/subscription_group_balances.rb +80 -0
- data/lib/advanced_billing/models/subscription_group_bank_account.rb +228 -0
- data/lib/advanced_billing/models/subscription_group_component_custom_price.rb +105 -0
- data/lib/advanced_billing/models/subscription_group_credit_card.rb +266 -0
- data/lib/advanced_billing/models/subscription_group_customer.rb +87 -0
- data/lib/advanced_billing/models/subscription_group_inlined.rb +92 -0
- data/lib/advanced_billing/models/subscription_group_item.rb +147 -0
- data/lib/advanced_billing/models/subscription_group_member_error.rb +68 -0
- data/lib/advanced_billing/models/subscription_group_payment_profile.rb +79 -0
- data/lib/advanced_billing/models/subscription_group_prepayment.rb +72 -0
- data/lib/advanced_billing/models/subscription_group_prepayment_method.rb +35 -0
- data/lib/advanced_billing/models/subscription_group_prepayment_request.rb +48 -0
- data/lib/advanced_billing/models/subscription_group_prepayment_response.rb +90 -0
- data/lib/advanced_billing/models/subscription_group_response.rb +49 -0
- data/lib/advanced_billing/models/subscription_group_signup.rb +153 -0
- data/lib/advanced_billing/models/subscription_group_signup_component.rb +108 -0
- data/lib/advanced_billing/models/subscription_group_signup_error.rb +109 -0
- data/lib/advanced_billing/models/subscription_group_signup_failure.rb +84 -0
- data/lib/advanced_billing/models/subscription_group_signup_failure_data.rb +146 -0
- data/lib/advanced_billing/models/subscription_group_signup_item.rb +200 -0
- data/lib/advanced_billing/models/subscription_group_signup_request.rb +49 -0
- data/lib/advanced_billing/models/subscription_group_signup_response.rb +167 -0
- data/lib/advanced_billing/models/subscription_group_signup_success.rb +84 -0
- data/lib/advanced_billing/models/subscription_group_signup_success_data.rb +170 -0
- data/lib/advanced_billing/models/subscription_group_subscription_error.rb +86 -0
- data/lib/advanced_billing/models/subscription_group_update_error.rb +59 -0
- data/lib/advanced_billing/models/subscription_include.rb +23 -0
- data/lib/advanced_billing/models/subscription_included_coupon.rb +121 -0
- data/lib/advanced_billing/models/subscription_list_date_field.rb +20 -0
- data/lib/advanced_billing/models/subscription_migration_preview.rb +88 -0
- data/lib/advanced_billing/models/subscription_migration_preview_options.rb +158 -0
- data/lib/advanced_billing/models/subscription_migration_preview_request.rb +49 -0
- data/lib/advanced_billing/models/subscription_migration_preview_response.rb +48 -0
- data/lib/advanced_billing/models/subscription_mrr.rb +69 -0
- data/lib/advanced_billing/models/subscription_mrr_breakout.rb +58 -0
- data/lib/advanced_billing/models/subscription_mrr_response.rb +57 -0
- data/lib/advanced_billing/models/subscription_note.rb +97 -0
- data/lib/advanced_billing/models/subscription_note_response.rb +48 -0
- data/lib/advanced_billing/models/subscription_preview.rb +62 -0
- data/lib/advanced_billing/models/subscription_preview_response.rb +49 -0
- data/lib/advanced_billing/models/subscription_product_change.rb +80 -0
- data/lib/advanced_billing/models/subscription_product_migration.rb +148 -0
- data/lib/advanced_billing/models/subscription_product_migration_request.rb +48 -0
- data/lib/advanced_billing/models/subscription_purge_type.rb +23 -0
- data/lib/advanced_billing/models/subscription_response.rb +50 -0
- data/lib/advanced_billing/models/subscription_sort.rb +35 -0
- data/lib/advanced_billing/models/subscription_state.rb +53 -0
- data/lib/advanced_billing/models/subscription_state_change.rb +81 -0
- data/lib/advanced_billing/models/tax_configuration.rb +73 -0
- data/lib/advanced_billing/models/tax_configuration_kind.rb +29 -0
- data/lib/advanced_billing/models/tax_destination_address.rb +29 -0
- data/lib/advanced_billing/models/too_many_management_link_requests.rb +63 -0
- data/lib/advanced_billing/models/update_allocation_expiration_date.rb +50 -0
- data/lib/advanced_billing/models/update_component.rb +137 -0
- data/lib/advanced_billing/models/update_component_price_point.rb +68 -0
- data/lib/advanced_billing/models/update_component_price_point_request.rb +51 -0
- data/lib/advanced_billing/models/update_component_request.rb +48 -0
- data/lib/advanced_billing/models/update_coupon_currency.rb +56 -0
- data/lib/advanced_billing/models/update_currency_price.rb +56 -0
- data/lib/advanced_billing/models/update_currency_prices_request.rb +57 -0
- data/lib/advanced_billing/models/update_customer.rb +211 -0
- data/lib/advanced_billing/models/update_customer_request.rb +48 -0
- data/lib/advanced_billing/models/update_endpoint.rb +57 -0
- data/lib/advanced_billing/models/update_endpoint_request.rb +48 -0
- data/lib/advanced_billing/models/update_metadata.rb +68 -0
- data/lib/advanced_billing/models/update_metadata_request.rb +50 -0
- data/lib/advanced_billing/models/update_metafield.rb +103 -0
- data/lib/advanced_billing/models/update_metafields_request.rb +62 -0
- data/lib/advanced_billing/models/update_payment_profile.rb +187 -0
- data/lib/advanced_billing/models/update_payment_profile_request.rb +49 -0
- data/lib/advanced_billing/models/update_payment_profile_response.rb +49 -0
- data/lib/advanced_billing/models/update_price.rb +89 -0
- data/lib/advanced_billing/models/update_product_price_point.rb +60 -0
- data/lib/advanced_billing/models/update_product_price_point_request.rb +48 -0
- data/lib/advanced_billing/models/update_reason_code.rb +68 -0
- data/lib/advanced_billing/models/update_reason_code_request.rb +48 -0
- data/lib/advanced_billing/models/update_segment.rb +74 -0
- data/lib/advanced_billing/models/update_segment_request.rb +48 -0
- data/lib/advanced_billing/models/update_subscription.rb +270 -0
- data/lib/advanced_billing/models/update_subscription_component.rb +70 -0
- data/lib/advanced_billing/models/update_subscription_group.rb +50 -0
- data/lib/advanced_billing/models/update_subscription_group_request.rb +49 -0
- data/lib/advanced_billing/models/update_subscription_note.rb +56 -0
- data/lib/advanced_billing/models/update_subscription_note_request.rb +48 -0
- data/lib/advanced_billing/models/update_subscription_request.rb +48 -0
- data/lib/advanced_billing/models/updated_payment_profile.rb +255 -0
- data/lib/advanced_billing/models/upsert_prepaid_configuration.rb +104 -0
- data/lib/advanced_billing/models/upsert_prepaid_configuration_request.rb +49 -0
- data/lib/advanced_billing/models/usage.rb +141 -0
- data/lib/advanced_billing/models/usage_response.rb +48 -0
- data/lib/advanced_billing/models/void_invoice.rb +48 -0
- data/lib/advanced_billing/models/void_invoice_event_data.rb +111 -0
- data/lib/advanced_billing/models/void_invoice_event_data1.rb +100 -0
- data/lib/advanced_billing/models/void_invoice_request.rb +48 -0
- data/lib/advanced_billing/models/webhook.rb +165 -0
- data/lib/advanced_billing/models/webhook_order.rb +23 -0
- data/lib/advanced_billing/models/webhook_response.rb +50 -0
- data/lib/advanced_billing/models/webhook_status.rb +29 -0
- data/lib/advanced_billing/models/webhook_subscription.rb +124 -0
- data/lib/advanced_billing/utilities/date_time_helper.rb +11 -0
- data/lib/advanced_billing/utilities/file_wrapper.rb +16 -0
- data/lib/advanced_billing/utilities/union_type_lookup.rb +1240 -0
- data/lib/advanced_billing.rb +669 -0
- metadata +614 -111
- data/bin/arch +0 -1
- data/bin/ash +0 -1
- data/bin/base64 +0 -1
- data/bin/bbconfig +0 -1
- data/bin/busybox +0 -0
- data/bin/cat +0 -1
- data/bin/chattr +0 -1
- data/bin/chgrp +0 -1
- data/bin/chmod +0 -1
- data/bin/chown +0 -1
- data/bin/cp +0 -1
- data/bin/date +0 -1
- data/bin/dd +0 -1
- data/bin/df +0 -1
- data/bin/dmesg +0 -1
- data/bin/dnsdomainname +0 -1
- data/bin/dumpkmap +0 -1
- data/bin/echo +0 -1
- data/bin/ed +0 -1
- data/bin/egrep +0 -1
- data/bin/false +0 -1
- data/bin/fatattr +0 -1
- data/bin/fdflush +0 -1
- data/bin/fgrep +0 -1
- data/bin/fsync +0 -1
- data/bin/getopt +0 -1
- data/bin/grep +0 -1
- data/bin/gunzip +0 -1
- data/bin/gzip +0 -1
- data/bin/hostname +0 -1
- data/bin/ionice +0 -1
- data/bin/iostat +0 -1
- data/bin/ipcalc +0 -1
- data/bin/kbd_mode +0 -1
- data/bin/kill +0 -1
- data/bin/link +0 -1
- data/bin/linux32 +0 -1
- data/bin/linux64 +0 -1
- data/bin/ln +0 -1
- data/bin/login +0 -1
- data/bin/ls +0 -1
- data/bin/lsattr +0 -1
- data/bin/lzop +0 -1
- data/bin/makemime +0 -1
- data/bin/mkdir +0 -1
- data/bin/mknod +0 -1
- data/bin/mktemp +0 -1
- data/bin/more +0 -1
- data/bin/mount +0 -1
- data/bin/mountpoint +0 -1
- data/bin/mpstat +0 -1
- data/bin/mv +0 -1
- data/bin/netstat +0 -1
- data/bin/nice +0 -1
- data/bin/pidof +0 -0
- data/bin/ping +0 -1
- data/bin/ping6 +0 -1
- data/bin/pipe_progress +0 -1
- data/bin/printenv +0 -1
- data/bin/ps +0 -0
- data/bin/pwait +0 -0
- data/bin/pwd +0 -1
- data/bin/reformime +0 -1
- data/bin/rev +0 -1
- data/bin/rm +0 -1
- data/bin/rmdir +0 -1
- data/bin/run-parts +0 -1
- data/bin/sed +0 -1
- data/bin/setpriv +0 -1
- data/bin/setserial +0 -1
- data/bin/sh +0 -1
- data/bin/slabtop +0 -0
- data/bin/sleep +0 -1
- data/bin/stat +0 -1
- data/bin/stty +0 -1
- data/bin/su +0 -1
- data/bin/sync +0 -1
- data/bin/tar +0 -1
- data/bin/tload +0 -0
- data/bin/touch +0 -1
- data/bin/true +0 -1
- data/bin/umount +0 -1
- data/bin/uname +0 -1
- data/bin/usleep +0 -1
- data/bin/vmstat +0 -0
- data/bin/w +0 -0
- data/bin/watch +0 -0
- data/bin/zcat +0 -1
- data/lib/apk/db/installed +0 -3582
- data/lib/apk/db/lock +0 -0
- data/lib/apk/db/scripts.tar +0 -0
- data/lib/apk/db/triggers +0 -2
- data/lib/ld-musl-x86_64.so.1 +0 -0
- data/lib/libapk.so.3.12.0 +0 -0
- data/lib/libc.musl-x86_64.so.1 +0 -1
- data/lib/libcrypto.so.1.1 +0 -0
- data/lib/libprocps.so.8 +0 -1
- data/lib/libprocps.so.8.0.3 +0 -0
- data/lib/libssl.so.1.1 +0 -0
- data/lib/libz.so +0 -1
- data/lib/libz.so.1 +0 -1
- data/lib/libz.so.1.2.12 +0 -0
- data/lib/sysctl.d/00-alpine.conf +0 -40
@@ -0,0 +1,1357 @@
|
|
1
|
+
# advanced_billing
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module AdvancedBilling
|
7
|
+
# SubscriptionsController
|
8
|
+
class SubscriptionsController < BaseController
|
9
|
+
# Full documentation on how subscriptions operate within Chargify can be
|
10
|
+
# located under the following topics:
|
11
|
+
# + [Subscriptions
|
12
|
+
# Reference](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405577172
|
13
|
+
# 749-Subscription-Introduction)
|
14
|
+
# + [Subscriptions
|
15
|
+
# Actions](https://maxio-chargify.zendesk.com/hc/en-us/articles/540551055655
|
16
|
+
# 7-Actions)
|
17
|
+
# + [Subscription
|
18
|
+
# Cancellation](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405510
|
19
|
+
# 556557-Actions#initiate-cancellation)
|
20
|
+
# + [Subscription
|
21
|
+
# Reactivation](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404559
|
22
|
+
# 291021-Reactivating-and-Resuming)
|
23
|
+
# + [Subscription
|
24
|
+
# Import](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404863655821
|
25
|
+
# -Imports)
|
26
|
+
# When creating a subscription, you must specify a product and a customer.
|
27
|
+
# Credit card details may be required, depending on the options for the
|
28
|
+
# Product being subscribed ([see Product
|
29
|
+
# Options](https://maxio-chargify.zendesk.com/hc/en-us/articles/540524678222
|
30
|
+
# 1#payment-method-settings)).
|
31
|
+
# The product may be specified by `product_id` or by `product_handle` (API
|
32
|
+
# Handle). In similar fashion, to pass a particular product price point, you
|
33
|
+
# may either use `product_price_point_handle` or `product_price_point_id`.
|
34
|
+
# An existing customer may be specified by a `customer_id` (ID within
|
35
|
+
# Chargify) or a `customer_reference` (unique value within your app that you
|
36
|
+
# have shared with Chargify via the reference attribute on a customer). You
|
37
|
+
# may also pass in an existing payment profile for that customer with
|
38
|
+
# `payment_profile_id`. A new customer may be created by providing
|
39
|
+
# `customer_attributes`.
|
40
|
+
# Credit card details may be required, depending on the options for the
|
41
|
+
# product being subscribed. The product can be specified by `product_id` or
|
42
|
+
# by `product_handle` (API Handle).
|
43
|
+
# If you are creating a subscription with a payment profile, the attribute
|
44
|
+
# to send will be `credit_card_attributes` or `bank_account_attributes` for
|
45
|
+
# ACH and Direct Debit. That said, when you read the subscription after
|
46
|
+
# creation, we return the profile details under `credit_card` or
|
47
|
+
# `bank_account`.
|
48
|
+
# ## Taxable Subscriptions
|
49
|
+
# If your intent is to charge your subscribers tax via [Avalara
|
50
|
+
# Taxes](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405275711885-
|
51
|
+
# Avalara-VAT-Tax) or [Custom
|
52
|
+
# Taxes](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405069041549-
|
53
|
+
# Custom-Taxes), there are a few considerations to be made regarding
|
54
|
+
# collecting subscription data.
|
55
|
+
# For subscribers to be eligible to be taxed, the following information for
|
56
|
+
# the `customer` object or `payment_profile` object must by supplied:
|
57
|
+
# + A subscription to a [taxable
|
58
|
+
# product](https://maxio-chargify.zendesk.com/hc/en-us/articles/540524678222
|
59
|
+
# 1-Product-Editing#tax-settings)
|
60
|
+
# + [Full valid billing or shipping
|
61
|
+
# address](https://maxio-chargify.zendesk.com/hc/en-us/articles/540535611431
|
62
|
+
# 7#full-address-required-for-taxable-subscriptions) to identify the tax
|
63
|
+
# locale
|
64
|
+
# + The portion of the address that houses the [state
|
65
|
+
# information](https://maxio-chargify.zendesk.com/hc/en-us/articles/54053561
|
66
|
+
# 14317#required-state-format-for-taxable-subscriptions) of either adddress
|
67
|
+
# must adhere to the ISO standard of a 2-3 character limit/format.
|
68
|
+
# + The portion of the address that houses the [country
|
69
|
+
# information](https://maxio-chargify.zendesk.com/hc/en-us/articles/54053561
|
70
|
+
# 14317#required-country-format-for-taxable-subscriptions) must adhere to
|
71
|
+
# the ISO standard of a 2 character limit/format.
|
72
|
+
# ## Subscription Request Examples
|
73
|
+
# The subscription examples below will be split into two sections.
|
74
|
+
# The first section, "Subscription Customization", will focus on passing
|
75
|
+
# different information with a subscription, such as components, calendar
|
76
|
+
# billing, and custom fields. These examples will presume you are using a
|
77
|
+
# secure `chargify_token` generated by Chargify.js.
|
78
|
+
# The second section, "Passing Payment Information", will focus on passing
|
79
|
+
# payment information into Chargify. Please be aware that <b>collecting and
|
80
|
+
# sending Chargify raw card details requires PCI compliance on your end</b>;
|
81
|
+
# these examples are provided as guidance. If your business is not PCI
|
82
|
+
# compliant, we recommend using Chargify.js to collect credit cards or bank
|
83
|
+
# accounts.
|
84
|
+
# # Subscription Customization
|
85
|
+
# ## With Components
|
86
|
+
# Different components require slightly different data. For example,
|
87
|
+
# quantity-based and on/off components accept `allocated_quantity`, while
|
88
|
+
# metered components accept `unit_balance`.
|
89
|
+
# When creating a subscription with a component, a `price_point_id` can be
|
90
|
+
# passed in along with the `component_id` to specify which price point to
|
91
|
+
# use. If not passed in, the default price point will be used.
|
92
|
+
# Note: if an invalid `price_point_id` is used, the subscription will still
|
93
|
+
# proceed but will use the component's default price point.
|
94
|
+
# Components and their price points may be added by ID or by handle. See the
|
95
|
+
# example request body labeled "Components By Handle (Quantity-Based)"; the
|
96
|
+
# format will be the same for other component types.
|
97
|
+
# ## With Coupon(s)
|
98
|
+
# Pass an array of `coupon_codes`. See the example request body "With
|
99
|
+
# Coupon".
|
100
|
+
# ## With Manual Invoice Collection
|
101
|
+
# The `invoice` collection method works only on legacy Statement
|
102
|
+
# Architecture.
|
103
|
+
# On Relationship Invoicing Architecture use the `remittance` collection
|
104
|
+
# method.
|
105
|
+
# ## Prepaid Subscription
|
106
|
+
# A prepaid subscription can be created with the usual subscription creation
|
107
|
+
# parameters, specifying `prepaid` as the `payment_collection_method` and
|
108
|
+
# including a nested `prepaid_subscription_configuration`.
|
109
|
+
# After a prepaid subscription has been created, additional funds can be
|
110
|
+
# manually added to the prepayment account through the [Create Prepayment
|
111
|
+
# Endpoint](https://developers.chargify.com/docs/api-docs/7ec482de77ba7-crea
|
112
|
+
# te-prepayment).
|
113
|
+
# Prepaid subscriptions do not work on legacy Statement Architecture.
|
114
|
+
# ## With Metafields
|
115
|
+
# Metafields can either attach to subscriptions or customers. Metafields are
|
116
|
+
# popuplated with the supplied metadata to the resource specified.
|
117
|
+
# If the metafield doesn't exist yet, it will be created on-the-fly.
|
118
|
+
# ## With Custom Pricing
|
119
|
+
# Custom pricing is pricing specific to the subscription in question.
|
120
|
+
# Create a subscription with custom pricing by passing pricing information
|
121
|
+
# instead of a price point.
|
122
|
+
# For a custom priced product, pass the custom_price object in place of
|
123
|
+
# `product_price_point_id`. For a custom priced component, pass the
|
124
|
+
# `custom_price` object within the component object.
|
125
|
+
# Custom prices and price points can exist in harmony on a subscription.
|
126
|
+
# # Passing Payment Information
|
127
|
+
# ## Subscription with Chargify.js token
|
128
|
+
# The `chargify_token` can be obtained using
|
129
|
+
# [chargify.js](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0
|
130
|
+
# NjAzNDI0-overview). The token represents payment profile attributes that
|
131
|
+
# were provided by the customer in their browser and stored at the payment
|
132
|
+
# gateway.
|
133
|
+
# The `payment_type` attribute may either be `credit_card` or
|
134
|
+
# `bank_account`, depending on the type of payment method being added. If a
|
135
|
+
# bank account is being passed, the payment attributes should be changed to
|
136
|
+
# `bank_account_attributes`.
|
137
|
+
# ```json
|
138
|
+
# {
|
139
|
+
# "subscription": {
|
140
|
+
# "product_handle": "pro-plan",
|
141
|
+
# "customer_attributes": {
|
142
|
+
# "first_name": "Joe",
|
143
|
+
# "last_name": "Smith",
|
144
|
+
# "email": "j.smith@example.com"
|
145
|
+
# },
|
146
|
+
# "credit_card_attributes": {
|
147
|
+
# "chargify_token": "tok_cwhvpfcnbtgkd8nfkzf9dnjn",
|
148
|
+
# "payment_type": "credit_card"
|
149
|
+
# }
|
150
|
+
# }
|
151
|
+
# }
|
152
|
+
# ```
|
153
|
+
# ## Subscription with vault token
|
154
|
+
# If you already have a customer and card stored in your payment gateway,
|
155
|
+
# you may create a subscription with a `vault_token`. Providing the
|
156
|
+
# last_four, card type and expiration date will allow the card to be
|
157
|
+
# displayed properly in the Chargify UI.
|
158
|
+
# ```json
|
159
|
+
# {
|
160
|
+
# "subscription": {
|
161
|
+
# "product_handle": "pro-plan",
|
162
|
+
# "customer_attributes": {
|
163
|
+
# "first_name": "Joe",
|
164
|
+
# "last_name": "Smith",
|
165
|
+
# "email": "j.smith@example.com"
|
166
|
+
# },
|
167
|
+
# "credit_card_attributes": {
|
168
|
+
# first_name: "Joe,
|
169
|
+
# last_name: "Smith",
|
170
|
+
# card_type: "visa",
|
171
|
+
# expiration_month: "05",
|
172
|
+
# expiration_year: "2025",
|
173
|
+
# last_four: "1234",
|
174
|
+
# vault_token: "12345abc",
|
175
|
+
# current_vault: "braintree_blue"
|
176
|
+
# }
|
177
|
+
# }
|
178
|
+
# ```
|
179
|
+
# ## Subscription with Credit Card
|
180
|
+
# ```json
|
181
|
+
# "subscription": {
|
182
|
+
# "product_handle": "basic",
|
183
|
+
# "customer_attributes": {
|
184
|
+
# "first_name": "Joe",
|
185
|
+
# "last_name": "Blow",
|
186
|
+
# "email": "joe@example.com",
|
187
|
+
# "zip": "02120",
|
188
|
+
# "state": "MA",
|
189
|
+
# "reference": "XYZ",
|
190
|
+
# "phone": "(617) 111 - 0000",
|
191
|
+
# "organization": "Acme",
|
192
|
+
# "country": "US",
|
193
|
+
# "city": "Boston",
|
194
|
+
# "address_2": null,
|
195
|
+
# "address": "123 Mass Ave."
|
196
|
+
# },
|
197
|
+
# "credit_card_attributes": {
|
198
|
+
# "last_name": "Smith",
|
199
|
+
# "first_name": "Joe",
|
200
|
+
# "full_number": "4111111111111111",
|
201
|
+
# "expiration_year": "2021",
|
202
|
+
# "expiration_month": "1",
|
203
|
+
# "card_type": "visa",
|
204
|
+
# "billing_zip": "02120",
|
205
|
+
# "billing_state": "MA",
|
206
|
+
# "billing_country": "US",
|
207
|
+
# "billing_city": "Boston",
|
208
|
+
# "billing_address_2": null,
|
209
|
+
# "billing_address": "123 Mass Ave."
|
210
|
+
# }
|
211
|
+
# }
|
212
|
+
# ```
|
213
|
+
# ## Subscription with ACH as Payment Profile
|
214
|
+
# ```json
|
215
|
+
# {
|
216
|
+
# "subscription": {
|
217
|
+
# "product_handle": "gold-product",
|
218
|
+
# "customer_attributes": {
|
219
|
+
# "first_name": "Joe",
|
220
|
+
# "last_name": "Blow",
|
221
|
+
# "email": "joe@example.com",
|
222
|
+
# "zip": "02120",
|
223
|
+
# "state": "MA",
|
224
|
+
# "reference": "XYZ",
|
225
|
+
# "phone": "(617) 111 - 0000",
|
226
|
+
# "organization": "Acme",
|
227
|
+
# "country": "US",
|
228
|
+
# "city": "Boston",
|
229
|
+
# "address_2": null,
|
230
|
+
# "address": "123 Mass Ave."
|
231
|
+
# },
|
232
|
+
# "bank_account_attributes": {
|
233
|
+
# "bank_name": "Best Bank",
|
234
|
+
# "bank_routing_number": "021000089",
|
235
|
+
# "bank_account_number": "111111111111",
|
236
|
+
# "bank_account_type": "checking",
|
237
|
+
# "bank_account_holder_type": "business",
|
238
|
+
# "payment_type": "bank_account"
|
239
|
+
# }
|
240
|
+
# }
|
241
|
+
# }
|
242
|
+
# ```
|
243
|
+
# ## Subscription with PayPal payment profile
|
244
|
+
# ### With the nonce from Braintree JS
|
245
|
+
# ```json
|
246
|
+
# { "subscription": {
|
247
|
+
# "product_handle":"test-product-b",
|
248
|
+
# "customer_attributes": {
|
249
|
+
# "first_name":"Amelia",
|
250
|
+
# "last_name":"Johnson",
|
251
|
+
# "email":"amelia@example.com",
|
252
|
+
# "organization":"My Awesome Company"
|
253
|
+
# },
|
254
|
+
# "payment_profile_attributes":{
|
255
|
+
# "paypal_email": "amelia@example.com",
|
256
|
+
# "current_vault": "braintree_blue",
|
257
|
+
# "payment_method_nonce":"abc123",
|
258
|
+
# "payment_type":"paypal_account"
|
259
|
+
# }
|
260
|
+
# }
|
261
|
+
# ```
|
262
|
+
# ### With the Braintree Customer ID as the vault token:
|
263
|
+
# ```json
|
264
|
+
# { "subscription": {
|
265
|
+
# "product_handle":"test-product-b",
|
266
|
+
# "customer_attributes": {
|
267
|
+
# "first_name":"Amelia",
|
268
|
+
# "last_name":"Johnson",
|
269
|
+
# "email":"amelia@example.com",
|
270
|
+
# "organization":"My Awesome Company"
|
271
|
+
# },
|
272
|
+
# "payment_profile_attributes":{
|
273
|
+
# "paypal_email": "amelia@example.com",
|
274
|
+
# "current_vault": "braintree_blue",
|
275
|
+
# "vault_token":"58271347",
|
276
|
+
# "payment_type":"paypal_account"
|
277
|
+
# }
|
278
|
+
# }
|
279
|
+
# ```
|
280
|
+
# ## Subscription using GoCardless Bank Number
|
281
|
+
# These examples creates a customer, bank account and mandate in GoCardless.
|
282
|
+
# For more information on GoCardless, please view the following two
|
283
|
+
# resources:
|
284
|
+
# + [Payment Profiles via API for
|
285
|
+
# GoCardless](https://developers.chargify.com/docs/api-docs/1f10a4f170405-cr
|
286
|
+
# eate-payment-profile#gocardless)
|
287
|
+
# + [Full documentation on
|
288
|
+
# GoCardless](https://maxio-chargify.zendesk.com/hc/en-us/articles/540450188
|
289
|
+
# 9677)
|
290
|
+
# + [Using Chargify.js with GoCardless - minimal
|
291
|
+
# example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzN
|
292
|
+
# DIy-examples#minimal-example-with-direct-debit-gocardless-gateway)
|
293
|
+
# + [Using Chargify.js with GoCardless - full
|
294
|
+
# example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzN
|
295
|
+
# DIy-examples#full-example-with-direct-debit-gocardless-gateway)
|
296
|
+
# ```json
|
297
|
+
# {
|
298
|
+
# "subscription": {
|
299
|
+
# "product_handle": "gold-product",
|
300
|
+
# "customer_attributes": {
|
301
|
+
# "first_name": "Jane",
|
302
|
+
# "last_name": "Doe",
|
303
|
+
# "email": "jd@chargify.test"
|
304
|
+
# },
|
305
|
+
# "bank_account_attributes": {
|
306
|
+
# "bank_name": "Royal Bank of France",
|
307
|
+
# "bank_account_number": "0000000",
|
308
|
+
# "bank_routing_number": "0003",
|
309
|
+
# "bank_branch_code": "00006",
|
310
|
+
# "payment_type": "bank_account",
|
311
|
+
# "billing_address": "20 Place de la Gare",
|
312
|
+
# "billing_city": "Colombes",
|
313
|
+
# "billing_state": "Île-de-France",
|
314
|
+
# "billing_zip": "92700",
|
315
|
+
# "billing_country": "FR"
|
316
|
+
# }
|
317
|
+
# }
|
318
|
+
# }
|
319
|
+
# ```
|
320
|
+
# ## Subscription using GoCardless IBAN Number
|
321
|
+
# ```json
|
322
|
+
# {
|
323
|
+
# "subscription": {
|
324
|
+
# "product_handle": "gold-product",
|
325
|
+
# "customer_attributes": {
|
326
|
+
# "first_name": "Jane",
|
327
|
+
# "last_name": "Doe",
|
328
|
+
# "email": "jd@chargify.test"
|
329
|
+
# },
|
330
|
+
# "bank_account_attributes": {
|
331
|
+
# "bank_name": "French Bank",
|
332
|
+
# "bank_iban": "FR1420041010050500013M02606",
|
333
|
+
# "payment_type": "bank_account",
|
334
|
+
# "billing_address": "20 Place de la Gare",
|
335
|
+
# "billing_city": "Colombes",
|
336
|
+
# "billing_state": "Île-de-France",
|
337
|
+
# "billing_zip": "92700",
|
338
|
+
# "billing_country": "FR"
|
339
|
+
# }
|
340
|
+
# }
|
341
|
+
# }
|
342
|
+
# ```
|
343
|
+
# ## Subscription using Stripe SEPA Direct Debit
|
344
|
+
# For more information on Stripe Direct Debit, please view the following two
|
345
|
+
# resources:
|
346
|
+
# + [Payment Profiles via API for Stripe SEPA Direct
|
347
|
+
# Debit](https://developers.chargify.com/docs/api-docs/1f10a4f170405-create-
|
348
|
+
# payment-profile#sepa-direct-debit)
|
349
|
+
# + [Full documentation on Stripe Direct
|
350
|
+
# Debit](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405050826765-
|
351
|
+
# Stripe-SEPA-and-BECS-Direct-Debit)
|
352
|
+
# + [Using Chargify.js with Stripe SEPA or BECS Direct Debit - minimal
|
353
|
+
# example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzN
|
354
|
+
# DIy-examples#minimal-example-with-sepa-or-becs-direct-debit-stripe-gateway
|
355
|
+
# )
|
356
|
+
# + [Using Chargify.js with Stripe SEPA Direct Debit - full
|
357
|
+
# example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzN
|
358
|
+
# DIy-examples#full-example-with-sepa-direct-debit-stripe-gateway)
|
359
|
+
# ```json
|
360
|
+
# {
|
361
|
+
# "subscription": {
|
362
|
+
# "product_handle": "gold-product",
|
363
|
+
# "customer_attributes": {
|
364
|
+
# "first_name": "Jane",
|
365
|
+
# "last_name": "Doe",
|
366
|
+
# "email": "jd@chargify.test"
|
367
|
+
# },
|
368
|
+
# "bank_account_attributes": {
|
369
|
+
# "bank_name": "Test Bank",
|
370
|
+
# "bank_iban": "DE89370400440532013000",
|
371
|
+
# "payment_type": "bank_account"
|
372
|
+
# }
|
373
|
+
# }
|
374
|
+
# }
|
375
|
+
# ```
|
376
|
+
# ## Subscription using Stripe BECS Direct Debit
|
377
|
+
# For more information on Stripe Direct Debit, please view the following two
|
378
|
+
# resources:
|
379
|
+
# + [Payment Profiles via API for Stripe BECS Direct
|
380
|
+
# Debit](https://developers.chargify.com/docs/api-docs/1f10a4f170405-create-
|
381
|
+
# payment-profile#stripe-becs-direct-debit)
|
382
|
+
# + [Full documentation on Stripe Direct
|
383
|
+
# Debit](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405050826765-
|
384
|
+
# Stripe-SEPA-and-BECS-Direct-Debit)
|
385
|
+
# + [Using Chargify.js with Stripe SEPA or BECS Direct Debit - minimal
|
386
|
+
# example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzN
|
387
|
+
# DIy-examples#minimal-example-with-sepa-or-becs-direct-debit-stripe-gateway
|
388
|
+
# )
|
389
|
+
# + [Using Chargify.js with Stripe BECS Direct Debit - full
|
390
|
+
# example](https://developers.chargify.com/docs/developer-docs/ZG9jOjE0NjAzN
|
391
|
+
# DIy-examples#full-example-with-becs-direct-debit-stripe-gateway)
|
392
|
+
# ```json
|
393
|
+
# {
|
394
|
+
# "subscription": {
|
395
|
+
# "product_handle": "gold-product",
|
396
|
+
# "customer_attributes": {
|
397
|
+
# "first_name": "Jane",
|
398
|
+
# "last_name": "Doe",
|
399
|
+
# "email": "jd@chargify.test"
|
400
|
+
# },
|
401
|
+
# "bank_account_attributes": {
|
402
|
+
# "bank_name": "Test Bank",
|
403
|
+
# "bank_branch_code": "000000",
|
404
|
+
# "bank_account_number": "000123456",
|
405
|
+
# "payment_type": "bank_account"
|
406
|
+
# }
|
407
|
+
# }
|
408
|
+
# }
|
409
|
+
# ```
|
410
|
+
# ## 3D Secure - Stripe
|
411
|
+
# It may happen that a payment needs 3D Secure Authentication when the
|
412
|
+
# subscription is created; this is referred to in our help docs as a
|
413
|
+
# [post-authentication
|
414
|
+
# flow](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405177432077#p
|
415
|
+
# sd2-flows-pre-authentication-and-post-authentication). The server returns
|
416
|
+
# `422 Unprocessable Entity` in this case with the following response:
|
417
|
+
# ```json
|
418
|
+
# {
|
419
|
+
# "errors": [
|
420
|
+
# "Your card was declined. This transaction requires 3D secure
|
421
|
+
# authentication."
|
422
|
+
# ],
|
423
|
+
# "gateway_payment_id": "pi_1F0aGoJ2UDb3Q4av7zU3sHPh",
|
424
|
+
# "description": "This card requires 3D secure authentication. Redirect
|
425
|
+
# the customer to the URL from the action_link attribute to authenticate.
|
426
|
+
# Attach callback_url param to this URL if you want to be notified about the
|
427
|
+
# result of 3D Secure authentication. Attach redirect_url param to this URL
|
428
|
+
# if you want to redirect a customer back to your page after 3D Secure
|
429
|
+
# authentication. Example:
|
430
|
+
# https://mysite.chargify.com/3d-secure/pi_1FCm4RKDeye4C0XfbqquXRYm?one_time
|
431
|
+
# _token_id=128&callback_url=https://localhost:4000&redirect_url=https://you
|
432
|
+
# rpage.com will do a POST request to https://localhost:4000 after payment
|
433
|
+
# is authenticated and will redirect a customer to https://yourpage.com
|
434
|
+
# after 3DS authentication.",
|
435
|
+
# "action_link":
|
436
|
+
# "http://acme.chargify.com/3d-secure/pi_1F0aGoJ2UDb3Q4av7zU3sHPh?one_time_t
|
437
|
+
# oken_id=242"
|
438
|
+
# }
|
439
|
+
# ```
|
440
|
+
# To let the customer go through 3D Secure Authentication, they need to be
|
441
|
+
# redirected to the URL specified in `action_link`.
|
442
|
+
# Optionally, you can specify `callback_url` parameter in the `action_link`
|
443
|
+
# URL if you’d like to be notified about the result of 3D Secure
|
444
|
+
# Authentication. The `callback_url` will return the following information:
|
445
|
+
# - whether the authentication was successful (`success`)
|
446
|
+
# - the gateway ID for the payment (`gateway_payment_id`)
|
447
|
+
# - the subscription ID (`subscription_id`)
|
448
|
+
# Lastly, you can also specify a `redirect_url` within the `action_link` URL
|
449
|
+
# if you’d like to redirect a customer back to your site.
|
450
|
+
# It is not possible to use `action_link` in an iframe inside a custom
|
451
|
+
# application. You have to redirect the customer directly to the
|
452
|
+
# `action_link`, then, to be notified about the result, use `redirect_url`
|
453
|
+
# or `callback_url`.
|
454
|
+
# The final URL that you send a customer to to complete 3D Secure may
|
455
|
+
# resemble the following, where the first half is the `action_link` and the
|
456
|
+
# second half contains a `redirect_url` and `callback_url`:
|
457
|
+
# `https://mysite.chargify.com/3d-secure/pi_1FCm4RKDeye4C0XfbqquXRYm?one_tim
|
458
|
+
# e_token_id=128&callback_url=https://localhost:4000&redirect_url=https://yo
|
459
|
+
# urpage.com`
|
460
|
+
# ## 3D Secure - Checkout
|
461
|
+
# It may happen that a payment needs 3D Secure Authentication when the
|
462
|
+
# subscription is created; this is referred to in our help docs as a
|
463
|
+
# [post-authentication
|
464
|
+
# flow](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405177432077#p
|
465
|
+
# sd2-flows-pre-authentication-and-post-authentication). The server returns
|
466
|
+
# `422 Unprocessable Entity` in this case with the following response:
|
467
|
+
# ```json
|
468
|
+
# {
|
469
|
+
# "errors": [
|
470
|
+
# "Your card was declined. This transaction requires 3D secure
|
471
|
+
# authentication."
|
472
|
+
# ],
|
473
|
+
# "gateway_payment_id": "pay_6gjofv7dlyrkpizlolsuspvtiu",
|
474
|
+
# "description": "This card requires 3D secure authentication. Redirect
|
475
|
+
# the customer to the URL from the action_link attribute to authenticate.
|
476
|
+
# Attach callback_url param to this URL if you want to be notified about the
|
477
|
+
# result of 3D Secure authentication. Attach redirect_url param to this URL
|
478
|
+
# if you want to redirect a customer back to your page after 3D Secure
|
479
|
+
# authentication. Example:
|
480
|
+
# https://mysite.chargify.com/3d-secure/pay_6gjofv7dlyrkpizlolsuspvtiu?one_t
|
481
|
+
# ime_token_id=123&callback_url=https://localhost:4000&redirect_url=https://
|
482
|
+
# yourpage.com will do a POST request to https://localhost:4000 after
|
483
|
+
# payment is authenticated and will redirect a customer to
|
484
|
+
# https://yourpage.com after 3DS authentication.",
|
485
|
+
# "action_link":
|
486
|
+
# "http://mysite.chargify.com/3d-secure/pay_6gjofv7dlyrkpizlolsuspvtiu?one_t
|
487
|
+
# ime_token_id=123"
|
488
|
+
# }
|
489
|
+
# ```
|
490
|
+
# To let the customer go through 3D Secure Authentication, they need to be
|
491
|
+
# redirected to the URL specified in `action_link`.
|
492
|
+
# Optionally, you can specify `callback_url` parameter in the `action_link`
|
493
|
+
# URL if you’d like to be notified about the result of 3D Secure
|
494
|
+
# Authentication. The `callback_url` will return the following information:
|
495
|
+
# - whether the authentication was successful (`success`)
|
496
|
+
# - the gateway ID for the payment (`gateway_payment_id`)
|
497
|
+
# - the subscription ID (`subscription_id`)
|
498
|
+
# Lastly, you can also specify a `redirect_url` parameter within the
|
499
|
+
# `action_link` URL if you’d like to redirect a customer back to your site.
|
500
|
+
# It is not possible to use `action_link` in an iframe inside a custom
|
501
|
+
# application. You have to redirect the customer directly to the
|
502
|
+
# `action_link`, then, to be notified about the result, use `redirect_url`
|
503
|
+
# or `callback_url`.
|
504
|
+
# The final URL that you send a customer to complete 3D Secure may resemble
|
505
|
+
# the following, where the first half is the `action_link` and the second
|
506
|
+
# half contains a `redirect_url` and `callback_url`:
|
507
|
+
# `https://mysite.chargify.com/3d-secure/pay_6gjofv7dlyrkpizlolsuspvtiu?one_
|
508
|
+
# time_token_id=123&callback_url=https://localhost:4000&redirect_url=https:/
|
509
|
+
# /yourpage.com`
|
510
|
+
# ### Example Redirect Flow
|
511
|
+
# You may wish to redirect customers to different pages depending on whether
|
512
|
+
# their SCA was performed successfully. Here's an example flow to use as a
|
513
|
+
# reference:
|
514
|
+
# 1. Create a subscription via API; it requires 3DS
|
515
|
+
# 2. You receive a `gateway_payment_id` in the `action_link` along other
|
516
|
+
# params in the response.
|
517
|
+
# 3. Use this `gateway_payment_id` to, for example, connect with your
|
518
|
+
# internal resources or generate a session_id
|
519
|
+
# 4. Include 1 of those attributes inside the `callback_url` and
|
520
|
+
# `redirect_url` to be aware which “session” this applies to
|
521
|
+
# 5. Redirect the customer to the `action_link` with `callback_url` and
|
522
|
+
# `redirect_url` applied
|
523
|
+
# 6. After the customer finishes 3DS authentication, we let you know the
|
524
|
+
# result by making a request to applied `callback_url`.
|
525
|
+
# 7. After that, we redirect the customer to the `redirect_url`; at this
|
526
|
+
# point the result of authentication is known
|
527
|
+
# 8. Optionally, you can use the applied "msg" param in the `redirect_url`
|
528
|
+
# to determine whether it was successful or not
|
529
|
+
# ## Subscriptions Import
|
530
|
+
# Subscriptions can be “imported” via the API to handle the following
|
531
|
+
# scenarios:
|
532
|
+
# + You already have existing subscriptions with specific start and renewal
|
533
|
+
# dates that you would like to import to Chargify
|
534
|
+
# + You already have credit cards stored in your provider’s vault and you
|
535
|
+
# would like to create subscriptions using those tokens
|
536
|
+
# Before importing, you should have already set up your products to match
|
537
|
+
# your offerings. Then, you can create Subscriptions via the API just like
|
538
|
+
# you normally would, but using a few special attributes.
|
539
|
+
# Full documentation on how import Subscriptions using the **import tool**
|
540
|
+
# in the Chargify UI can be located
|
541
|
+
# [here](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404863655821#
|
542
|
+
# imports-0-0).
|
543
|
+
# ### Important Notices and Disclaimers regarding Imports
|
544
|
+
# Before performing a bulk import of subscriptions via the API, we suggest
|
545
|
+
# reading the [Subscriptions
|
546
|
+
# Import](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404863655821
|
547
|
+
# #important-notices-and-disclaimers) instructions to understand the
|
548
|
+
# repurcussions of a large import.
|
549
|
+
# ### Subscription Input Attributes
|
550
|
+
# The following _additional_ attributes to the subscription input attributes
|
551
|
+
# make imports possible: `next_billing_at`, `previous_billing_at`, and
|
552
|
+
# `import_mrr`.
|
553
|
+
# ### Current Vault
|
554
|
+
# If you are using a Legacy gateway such as "eWAY Rapid (Legacy)" or "Stripe
|
555
|
+
# (Legacy)" then please contact Support for further instructions on
|
556
|
+
# subscription imports.
|
557
|
+
# ### Braintree Blue (Braintree v2) Imports
|
558
|
+
# Braintree Blue is Braintree’s newer (version 2) API. For this gateway,
|
559
|
+
# please provide the `vault_token` parameter with the value from Braintree’s
|
560
|
+
# “Customer ID” rather than the “Payment Profile Token”. At this time we do
|
561
|
+
# not use `current_vault_token` with the Braintree Blue gateway, and we only
|
562
|
+
# support a single payment profile per Braintree Customer.
|
563
|
+
# When importing PayPal type payment profiles, please set `payment_type` to
|
564
|
+
# `paypal_account`.
|
565
|
+
# ### Stripe ACH Imports
|
566
|
+
# If the bank account has already been verified, currently you will need to
|
567
|
+
# create the customer, create the payment profile in Chargify - setting
|
568
|
+
# verified=true, then create a subscription using the customer_id and
|
569
|
+
# payment_profile_id.
|
570
|
+
# ### Webhooks During Import
|
571
|
+
# If no `next_billing_at` is provided, webhooks will be fired as normal. If
|
572
|
+
# you do set a future `next_billing_at`, only a subset of the webhooks are
|
573
|
+
# fired when the subscription is created. Keep reading for more information
|
574
|
+
# as to what webhooks will be fired under which scenarios.
|
575
|
+
# #### Successful creation with Billing Date
|
576
|
+
# Scenario: If `next_billing_at` provided
|
577
|
+
# + `signup_success`
|
578
|
+
# + `billing_date_change`
|
579
|
+
# #### Successful creation without Billing Date
|
580
|
+
# Scenario: If no `next_billing_at` provided
|
581
|
+
# + `signup_success`
|
582
|
+
# + `payment_success`
|
583
|
+
# #### Unsuccessful creation
|
584
|
+
# Scenario: If card can’t be charged, and no `next_billing_at` provided
|
585
|
+
# + signup_failure
|
586
|
+
# #### Webhooks fired when next_billing_at is reached:
|
587
|
+
# + `renewal_success or renewal_failure`
|
588
|
+
# + `payment_success or payment_failure`
|
589
|
+
# ### Date and Time Formats
|
590
|
+
# We will attempt to parse any string you send as the value of
|
591
|
+
# next_billing_at in to a date or time. For best results, use a known format
|
592
|
+
# like described in “Date and Time Specification” of RFC 2822 or ISO 8601 .
|
593
|
+
# The following are all equivalent and will work as input to
|
594
|
+
# `next_billing_at`:
|
595
|
+
# ```
|
596
|
+
# Aug 06 2030 11:34:00 -0400
|
597
|
+
# Aug 06 2030 11:34 -0400
|
598
|
+
# 2030-08-06T11:34:00-04:00
|
599
|
+
# 8/6/2030 11:34:00 EDT
|
600
|
+
# 8/6/2030 8:34:00 PDT
|
601
|
+
# 2030-08-06T15:34:00Z
|
602
|
+
# ```
|
603
|
+
# You may also pass just a date, in which case we will assume the time to be
|
604
|
+
# noon
|
605
|
+
# ```
|
606
|
+
# 2010-08-06
|
607
|
+
# ```
|
608
|
+
# ## Subscription Hierarchies & WhoPays
|
609
|
+
# When subscription groups were first added to our Relationship Invoicing
|
610
|
+
# architecture, to group together invoices for related subscriptions and
|
611
|
+
# allow for complex customer hierarchies and WhoPays scenarios, they were
|
612
|
+
# designed to consist of a primary and a collection of group members. The
|
613
|
+
# primary would control many aspects of the group, such as when the
|
614
|
+
# consolidated invoice is generated. As of today, groups still function this
|
615
|
+
# way.
|
616
|
+
# In the future, the concept of a "primary" will be removed in order to
|
617
|
+
# offer more flexibility into group management and reduce confusion
|
618
|
+
# concerning what actions must be done on a primary level, rather than a
|
619
|
+
# member level.
|
620
|
+
# We have introduced a two scheme system as a bridge between these two group
|
621
|
+
# organizations. Scheme 1, which is relevant to all subscription groups
|
622
|
+
# today, marks the group as being "ruled" by a primary.
|
623
|
+
# When reading a subscription via API, they will return a top-level
|
624
|
+
# attribute called `group`, which will denote which scheme is being used. At
|
625
|
+
# this time, the `scheme` attribute will always be 1.
|
626
|
+
# ### Subscription in a Customer Hierarchy
|
627
|
+
# For sites making use of the [Relationship
|
628
|
+
# Billing](https://maxio-chargify.zendesk.com/hc/en-us/articles/540507879425
|
629
|
+
# 3-Introduction-to-Invoices) and [Customer
|
630
|
+
# Hierarchy](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404900384
|
631
|
+
# 141) features, it is possible to create subscriptions within a customer
|
632
|
+
# hierarchy. This can be achieved through the API by passing group
|
633
|
+
# parameters in the **Create Subscription** request.
|
634
|
+
# + The `group` parameters are optional and consist of the required `target`
|
635
|
+
# and optional `billing` parameters.
|
636
|
+
# When the `target` parameter specifies a customer that is already part of a
|
637
|
+
# hierarchy, the new subscription will become a member of the customer
|
638
|
+
# hierarchy as well. If the target customer is not part of a hierarchy, a
|
639
|
+
# new customer hierarchy will be created and both the target customer and
|
640
|
+
# the new subscription will become part of the hierarchy with the specified
|
641
|
+
# target customer set as the responsible payer for the hierarchy's
|
642
|
+
# subscriptions.
|
643
|
+
# Rather than specifying a customer, the `target` parameter could instead
|
644
|
+
# simply have a value of `self` which indicates the subscription will be
|
645
|
+
# paid for not by some other customer, but by the subscribing customer.
|
646
|
+
# This will be true whether the customer is being created new, is already
|
647
|
+
# part of a hierarchy, or already exists outside a hierarchy. A valid
|
648
|
+
# payment method must also be specified in the subscription parameters.
|
649
|
+
# Note that when creating subscriptions in a customer hierarchy, if the
|
650
|
+
# customer hierarchy does not already have a payment method, passing valid
|
651
|
+
# credit card attributes in the subscription parameters will also result in
|
652
|
+
# the payment method being established as the default payment method for the
|
653
|
+
# customer hierarchy irrespective of the responsible payer.
|
654
|
+
# The optional `billing` parameters specify how some aspects of the billing
|
655
|
+
# for the new subscription should be handled. Rather than capturing payment
|
656
|
+
# immediately, the `accrue` parameter can be included so that the new
|
657
|
+
# subscription charges accrue until the next assessment date. Regarding the
|
658
|
+
# date, the `align_date` parameter can be included so that the billing date
|
659
|
+
# of the new subscription matches up with the default subscription group in
|
660
|
+
# the customer hierarchy. When choosing to align the dates, the `prorate`
|
661
|
+
# parameter can also be specified so that the new subscription charges are
|
662
|
+
# prorated based on the billing period of the default subscription group in
|
663
|
+
# the customer hierarchy also.
|
664
|
+
# ### Subscription in a Subscription Group
|
665
|
+
# For sites making use of [Relationship
|
666
|
+
# Billing](https://maxio-chargify.zendesk.com/hc/en-us/articles/540507879425
|
667
|
+
# 3-Introduction-to-Invoices) it may be desireable to create a subscription
|
668
|
+
# as part of a [subscription
|
669
|
+
# group](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405577356173)
|
670
|
+
# in order to rely on [invoice
|
671
|
+
# consolidation](https://maxio-chargify.zendesk.com/hc/en-us/articles/540498
|
672
|
+
# 0119949). This can be achieved through the API by passing group parameters
|
673
|
+
# in the Create Subscription request. The `group` parameters are optional
|
674
|
+
# and consist of the required `target` and optional `billing` parameters.
|
675
|
+
# The `target` parameters specify an existing subscription with which the
|
676
|
+
# newly created subscription should be grouped. If the target subscription
|
677
|
+
# is already part of a group, the new subscription will become a member of
|
678
|
+
# the group as well. If the target subscription is not part of a group, a
|
679
|
+
# new group will be created and both the target and the new subscription
|
680
|
+
# will become part of the group with the target as the group's primary
|
681
|
+
# subscription.
|
682
|
+
# The optional `billing` parameters specify how some aspects of the billing
|
683
|
+
# for the new subscription should be handled. Rather than capturing payment
|
684
|
+
# immediately, the `accrue` parameter can be included so that the new
|
685
|
+
# subscription charges accrue until the next assessment date. Regarding the
|
686
|
+
# date, the `align_date` parameter can be included so that the billing date
|
687
|
+
# of the new subscription matches up with the target subscription. When
|
688
|
+
# choosing to align the dates, the `prorate` parameter can also be specified
|
689
|
+
# so that the new subscription charges are prorated based on the billing
|
690
|
+
# period of the target subscription also.
|
691
|
+
# ## Providing Agreement Acceptance Params
|
692
|
+
# It is possible to provide a proof of customer's acceptance of terms and
|
693
|
+
# policies.
|
694
|
+
# We will be storing this proof in case it might be required (i.e.
|
695
|
+
# chargeback).
|
696
|
+
# Currently, we already keep it for subscriptions created via Public Signup
|
697
|
+
# Pages.
|
698
|
+
# In order to create a subscription with the proof of agreement acceptance,
|
699
|
+
# you must provide additional parameters `agreement acceptance` with
|
700
|
+
# `ip_address` and at least one url to the policy that was accepted:
|
701
|
+
# `terms_url` or `privacy_policy_url`. Additional urls that can be provided:
|
702
|
+
# `return_refund_policy_url`, `delivery_policy_url` and
|
703
|
+
# `secure_checkout_policy_url`.
|
704
|
+
# ```json
|
705
|
+
# "subscription": {
|
706
|
+
# "product_handle": "gold-product",
|
707
|
+
# "customer_attributes": {
|
708
|
+
# "first_name": "Jane",
|
709
|
+
# "last_name": "Doe",
|
710
|
+
# "email": "jd@chargify.test"
|
711
|
+
# },
|
712
|
+
# "agreement_acceptance": {
|
713
|
+
# "ip_address": "1.2.3.4",
|
714
|
+
# "terms_url": "https://terms.url",
|
715
|
+
# "privacy_policy_url": "https://privacy_policy.url",
|
716
|
+
# "return_refund_policy_url": "https://return_refund_policy.url",
|
717
|
+
# "delivery_policy_url": "https://delivery_policy.url",
|
718
|
+
# "secure_checkout_policy_url": "https://secure_checkout_policy.url"
|
719
|
+
# }
|
720
|
+
# }
|
721
|
+
# }
|
722
|
+
# ```
|
723
|
+
# **For Maxio Payments subscriptions, the agreement acceptance params are
|
724
|
+
# required, with at least terms_url provided.**
|
725
|
+
# ## Providing ACH Agreement params
|
726
|
+
# It is also possible to provide a proof that a customer authorized ACH
|
727
|
+
# agreement terms.
|
728
|
+
# The proof will be stored and the email will be sent to the customer with a
|
729
|
+
# copy of the terms (if enabled).
|
730
|
+
# In order to create a subscription with the proof of authorized ACH
|
731
|
+
# agreement terms, you must provide the additional parameter `ach_agreement`
|
732
|
+
# with the following nested parameters: `agreement_terms`,
|
733
|
+
# `authorizer_first_name`, `authorizer_last_name` and `ip_address`.
|
734
|
+
# Each of them is required.
|
735
|
+
# ```json
|
736
|
+
# "subscription": {
|
737
|
+
# "product_handle": "gold-product",
|
738
|
+
# "customer_attributes": {
|
739
|
+
# "first_name": "Jane",
|
740
|
+
# "last_name": "Doe",
|
741
|
+
# "email": "jd@chargify.test"
|
742
|
+
# },
|
743
|
+
# "bank_account_attributes": {
|
744
|
+
# "bank_name": "Test Bank",
|
745
|
+
# "bank_routing_number": "021000089",
|
746
|
+
# "bank_account_number": "111111111111",
|
747
|
+
# "bank_account_type": "checking",
|
748
|
+
# "bank_account_holder_type": "business",
|
749
|
+
# "payment_type": "bank_account"
|
750
|
+
# },
|
751
|
+
# "ach_agreement": {
|
752
|
+
# "agreement_terms": "ACH agreement terms",
|
753
|
+
# "authorizer_first_name": "Jane",
|
754
|
+
# "authorizer_last_name": "Doe",
|
755
|
+
# "ip_address": "1.2.3.4"
|
756
|
+
# }
|
757
|
+
# }
|
758
|
+
# ```
|
759
|
+
# @param [CreateSubscriptionRequest] body Optional parameter: Example:
|
760
|
+
# @return [SubscriptionResponse] response from the API call.
|
761
|
+
def create_subscription(body: nil)
|
762
|
+
new_api_call_builder
|
763
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
764
|
+
'/subscriptions.json',
|
765
|
+
Server::DEFAULT)
|
766
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
767
|
+
.body_param(new_parameter(body))
|
768
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
769
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
770
|
+
.auth(Single.new('BasicAuth')))
|
771
|
+
.response(new_response_handler
|
772
|
+
.is_nullify404(true)
|
773
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
774
|
+
.deserialize_into(SubscriptionResponse.method(:from_hash))
|
775
|
+
.local_error('422',
|
776
|
+
'Unprocessable Entity (WebDAV)',
|
777
|
+
ErrorListResponseException))
|
778
|
+
.execute
|
779
|
+
end
|
780
|
+
|
781
|
+
# This API endpoint allows you to set certain subscription fields that are
|
782
|
+
# usually managed for you automatically. Some of the fields can be set via
|
783
|
+
# the normal Subscriptions Update API, but others can only be set using this
|
784
|
+
# endpoint.
|
785
|
+
# This endpoint is provided for cases where you need to “align” Chargify
|
786
|
+
# data with data that happened in your system, perhaps before you started
|
787
|
+
# using Chargify. For example, you may choose to import your historical
|
788
|
+
# subscription data, and would like the activation and cancellation dates in
|
789
|
+
# Chargify to match your existing historical dates. Chargify does not
|
790
|
+
# backfill historical events (i.e. from the Events API), but some static
|
791
|
+
# data can be changed via this API.
|
792
|
+
# Why are some fields only settable from this endpoint, and not the normal
|
793
|
+
# subscription create and update endpoints? Because we want users of this
|
794
|
+
# endpoint to be aware that these fields are usually managed by Chargify,
|
795
|
+
# and using this API means **you are stepping out on your own.**
|
796
|
+
# Changing these fields will not affect any other attributes. For example,
|
797
|
+
# adding an expiration date will not affect the next assessment date on the
|
798
|
+
# subscription.
|
799
|
+
# If you regularly need to override the current_period_starts_at for new
|
800
|
+
# subscriptions, this can also be accomplished by setting both
|
801
|
+
# `previous_billing_at` and `next_billing_at` at subscription creation. See
|
802
|
+
# the documentation on [Importing
|
803
|
+
# Subscriptions](./b3A6MTQxMDgzODg-create-subscription#subscriptions-import)
|
804
|
+
# for more information.
|
805
|
+
# ## Limitations
|
806
|
+
# When passing `current_period_starts_at` some validations are made:
|
807
|
+
# 1. The subscription needs to be unbilled (no statements or invoices).
|
808
|
+
# 2. The value passed must be a valid date/time. We recommend using the iso
|
809
|
+
# 8601 format.
|
810
|
+
# 3. The value passed must be before the current date/time.
|
811
|
+
# If unpermitted parameters are sent, a 400 HTTP response is sent along with
|
812
|
+
# a string giving the reason for the problem.
|
813
|
+
# @param [String] subscription_id Required parameter: The Chargify id of the
|
814
|
+
# subscription
|
815
|
+
# @param [OverrideSubscriptionRequest] body Optional parameter: Only these
|
816
|
+
# fields are available to be set.
|
817
|
+
# @return [void] response from the API call.
|
818
|
+
def override_subscription(subscription_id,
|
819
|
+
body: nil)
|
820
|
+
new_api_call_builder
|
821
|
+
.request(new_request_builder(HttpMethodEnum::PUT,
|
822
|
+
'/subscriptions/{subscription_id}/override.json',
|
823
|
+
Server::DEFAULT)
|
824
|
+
.template_param(new_parameter(subscription_id, key: 'subscription_id')
|
825
|
+
.is_required(true)
|
826
|
+
.should_encode(true))
|
827
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
828
|
+
.body_param(new_parameter(body))
|
829
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
830
|
+
.auth(Single.new('BasicAuth')))
|
831
|
+
.response(new_response_handler
|
832
|
+
.is_nullify404(true)
|
833
|
+
.is_response_void(true)
|
834
|
+
.local_error('400',
|
835
|
+
'Bad Request',
|
836
|
+
APIException)
|
837
|
+
.local_error('422',
|
838
|
+
'Unprocessable Entity (WebDAV)',
|
839
|
+
APIException))
|
840
|
+
.execute
|
841
|
+
end
|
842
|
+
|
843
|
+
# Chargify offers the ability to activate awaiting signup and trialing
|
844
|
+
# subscriptions. This feature is only available on the Relationship
|
845
|
+
# Invoicing architecture. Subscriptions in a group may not be activated
|
846
|
+
# immediately.
|
847
|
+
# For details on how the activation works, and how to activate subscriptions
|
848
|
+
# through the application, see [activation](#).
|
849
|
+
# The `revert_on_failure` parameter controls the behavior upon activation
|
850
|
+
# failure.
|
851
|
+
# - If set to `true` and something goes wrong i.e. payment fails, then
|
852
|
+
# Chargify will not change the subscription's state. The subscription’s
|
853
|
+
# billing period will also remain the same.
|
854
|
+
# - If set to `false` and something goes wrong i.e. payment fails, then
|
855
|
+
# Chargify will continue through with the activation and enter an end of
|
856
|
+
# life state. For trialing subscriptions, that will either be trial ended
|
857
|
+
# (if the trial is no obligation), past due (if the trial has an
|
858
|
+
# obligation), or canceled (if the site has no dunning strategy, or has a
|
859
|
+
# strategy that says to cancel immediately). For awaiting signup
|
860
|
+
# subscriptions, that will always be canceled.
|
861
|
+
# The default activation failure behavior can be configured per activation
|
862
|
+
# attempt, or you may set a default value under Config > Settings >
|
863
|
+
# Subscription Activation Settings.
|
864
|
+
# ## Activation Scenarios
|
865
|
+
# ### Activate Awaiting Signup subscription
|
866
|
+
# - Given you have a product without trial
|
867
|
+
# - Given you have a site without dunning strategy
|
868
|
+
# ```mermaid
|
869
|
+
# flowchart LR
|
870
|
+
# AS[Awaiting Signup] --> A{Activate}
|
871
|
+
# A -->|Success| Active
|
872
|
+
# A -->|Failure| ROF{revert_on_failure}
|
873
|
+
# ROF -->|true| AS
|
874
|
+
# ROF -->|false| Canceled
|
875
|
+
# ```
|
876
|
+
# - Given you have a product with trial
|
877
|
+
# - Given you have a site with dunning strategy
|
878
|
+
# ```mermaid
|
879
|
+
# flowchart LR
|
880
|
+
# AS[Awaiting Signup] --> A{Activate}
|
881
|
+
# A -->|Success| Trialing
|
882
|
+
# A -->|Failure| ROF{revert_on_failure}
|
883
|
+
# ROF -->|true| AS
|
884
|
+
# ROF -->|false| PD[Past Due]
|
885
|
+
# ```
|
886
|
+
# ### Activate Trialing subscription
|
887
|
+
# You can read more about the behavior of trialing subscriptions
|
888
|
+
# [here](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404494617357#
|
889
|
+
# trialing-subscriptions-0-0).
|
890
|
+
# When the `revert_on_failure` parameter is set to `true`, the
|
891
|
+
# subscription's state will remain as Trialing, we will void the invoice
|
892
|
+
# from activation and return any prepayments and credits applied to the
|
893
|
+
# invoice back to the subscription.
|
894
|
+
# @param [String] subscription_id Required parameter: The Chargify id of the
|
895
|
+
# subscription
|
896
|
+
# @param [ActivateSubscriptionRequest] body Optional parameter: Example:
|
897
|
+
# @return [SubscriptionResponse] response from the API call.
|
898
|
+
def activate_subscription(subscription_id,
|
899
|
+
body: nil)
|
900
|
+
new_api_call_builder
|
901
|
+
.request(new_request_builder(HttpMethodEnum::PUT,
|
902
|
+
'/subscriptions/{subscription_id}/activate.json',
|
903
|
+
Server::DEFAULT)
|
904
|
+
.template_param(new_parameter(subscription_id, key: 'subscription_id')
|
905
|
+
.is_required(true)
|
906
|
+
.should_encode(true))
|
907
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
908
|
+
.body_param(new_parameter(body))
|
909
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
910
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
911
|
+
.auth(Single.new('BasicAuth')))
|
912
|
+
.response(new_response_handler
|
913
|
+
.is_nullify404(true)
|
914
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
915
|
+
.deserialize_into(SubscriptionResponse.method(:from_hash))
|
916
|
+
.local_error('400',
|
917
|
+
'Bad Request',
|
918
|
+
NestedErrorResponseException))
|
919
|
+
.execute
|
920
|
+
end
|
921
|
+
|
922
|
+
# For sites in test mode, you may purge individual subscriptions.
|
923
|
+
# Provide the subscription ID in the url. To confirm, supply the customer
|
924
|
+
# ID in the query string `ack` parameter. You may also delete the customer
|
925
|
+
# record and/or payment profiles by passing `cascade` parameters. For
|
926
|
+
# example, to delete just the customer record, the query params would be:
|
927
|
+
# `?ack={customer_id}&cascade[]=customer`
|
928
|
+
# If you need to remove subscriptions from a live site, please contact
|
929
|
+
# support to discuss your use case.
|
930
|
+
# ### Delete customer and payment profile
|
931
|
+
# The query params will be:
|
932
|
+
# `?ack={customer_id}&cascade[]=customer&cascade[]=payment_profile`
|
933
|
+
# @param [String] subscription_id Required parameter: The Chargify id of the
|
934
|
+
# subscription
|
935
|
+
# @param [Integer] ack Required parameter: id of the customer.
|
936
|
+
# @param [Array[SubscriptionPurgeType]] cascade Optional parameter: Options
|
937
|
+
# are "customer" or "payment_profile". Use in query:
|
938
|
+
# `cascade[]=customer&cascade[]=payment_profile`.
|
939
|
+
# @return [void] response from the API call.
|
940
|
+
def purge_subscription(subscription_id,
|
941
|
+
ack,
|
942
|
+
cascade: nil)
|
943
|
+
new_api_call_builder
|
944
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
945
|
+
'/subscriptions/{subscription_id}/purge.json',
|
946
|
+
Server::DEFAULT)
|
947
|
+
.template_param(new_parameter(subscription_id, key: 'subscription_id')
|
948
|
+
.is_required(true)
|
949
|
+
.should_encode(true))
|
950
|
+
.query_param(new_parameter(ack, key: 'ack')
|
951
|
+
.is_required(true))
|
952
|
+
.query_param(new_parameter(cascade, key: 'cascade[]'))
|
953
|
+
.auth(Single.new('BasicAuth'))
|
954
|
+
.array_serialization_format(ArraySerializationFormat::CSV))
|
955
|
+
.response(new_response_handler
|
956
|
+
.is_nullify404(true)
|
957
|
+
.is_response_void(true)
|
958
|
+
.local_error('400',
|
959
|
+
'Bad Request',
|
960
|
+
APIException))
|
961
|
+
.execute
|
962
|
+
end
|
963
|
+
|
964
|
+
# Use this endpoint to find subscription details.
|
965
|
+
# ## Self-Service Page token
|
966
|
+
# Self-Service Page token for the subscription is not returned by default.
|
967
|
+
# If this information is desired, the include[]=self_service_page_token
|
968
|
+
# parameter must be provided with the request.
|
969
|
+
# @param [String] subscription_id Required parameter: The Chargify id of the
|
970
|
+
# subscription
|
971
|
+
# @param [Array[SubscriptionInclude]] include Optional parameter: Allows
|
972
|
+
# including additional data in the response. Use in query:
|
973
|
+
# `include[]=coupons&include[]=self_service_page_token`.
|
974
|
+
# @return [SubscriptionResponse] response from the API call.
|
975
|
+
def read_subscription(subscription_id,
|
976
|
+
include: nil)
|
977
|
+
new_api_call_builder
|
978
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
979
|
+
'/subscriptions/{subscription_id}.json',
|
980
|
+
Server::DEFAULT)
|
981
|
+
.template_param(new_parameter(subscription_id, key: 'subscription_id')
|
982
|
+
.is_required(true)
|
983
|
+
.should_encode(true))
|
984
|
+
.query_param(new_parameter(include, key: 'include[]'))
|
985
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
986
|
+
.auth(Single.new('BasicAuth'))
|
987
|
+
.array_serialization_format(ArraySerializationFormat::UN_INDEXED))
|
988
|
+
.response(new_response_handler
|
989
|
+
.is_nullify404(true)
|
990
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
991
|
+
.deserialize_into(SubscriptionResponse.method(:from_hash)))
|
992
|
+
.execute
|
993
|
+
end
|
994
|
+
|
995
|
+
# The Chargify API allows you to preview a subscription by POSTing the same
|
996
|
+
# JSON or XML as for a subscription creation.
|
997
|
+
# The "Next Billing" amount and "Next Billing" date are represented in each
|
998
|
+
# Subscriber's Summary. For more information, please see our documentation
|
999
|
+
# [here](https://chargify.zendesk.com/hc/en-us/articles/4407884887835#next-b
|
1000
|
+
# illing).
|
1001
|
+
# ## Side effects
|
1002
|
+
# A subscription will not be created by sending a POST to this endpoint. It
|
1003
|
+
# is meant to serve as a prediction.
|
1004
|
+
# ## Taxable Subscriptions
|
1005
|
+
# This endpoint will preview taxes applicable to a purchase. In order for
|
1006
|
+
# taxes to be previewed, the following conditions must be met:
|
1007
|
+
# + Taxes must be configured on the subscription
|
1008
|
+
# + The preview must be for the purchase of a taxable product or component,
|
1009
|
+
# or combination of the two.
|
1010
|
+
# + The subscription payload must contain a full billing or shipping address
|
1011
|
+
# in order to calculate tax
|
1012
|
+
# For more information about creating taxable previews, please see our
|
1013
|
+
# documentation guide on how to create [taxable
|
1014
|
+
# subscriptions.](https://chargify.zendesk.com/hc/en-us/articles/44079042177
|
1015
|
+
# 55#creating-taxable-subscriptions)
|
1016
|
+
# You do **not** need to include a card number to generate tax information
|
1017
|
+
# when you are previewing a subscription. However, please note that when you
|
1018
|
+
# actually want to create the subscription, you must include the credit card
|
1019
|
+
# information if you want the billing address to be stored in Chargify. The
|
1020
|
+
# billing address and the credit card information are stored together within
|
1021
|
+
# the payment profile object. Also, you may not send a billing address to
|
1022
|
+
# Chargify without payment profile information, as the address is stored on
|
1023
|
+
# the card.
|
1024
|
+
# You can pass shipping and billing addresses and still decide not to
|
1025
|
+
# calculate taxes. To do that, pass `skip_billing_manifest_taxes: true`
|
1026
|
+
# attribute.
|
1027
|
+
# ## Non-taxable Subscriptions
|
1028
|
+
# If you'd like to calculate subscriptions that do not include tax, please
|
1029
|
+
# feel free to leave off the billing information.
|
1030
|
+
# @param [CreateSubscriptionRequest] body Optional parameter: Example:
|
1031
|
+
# @return [SubscriptionPreviewResponse] response from the API call.
|
1032
|
+
def preview_subscription(body: nil)
|
1033
|
+
new_api_call_builder
|
1034
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
1035
|
+
'/subscriptions/preview.json',
|
1036
|
+
Server::DEFAULT)
|
1037
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
1038
|
+
.body_param(new_parameter(body))
|
1039
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
1040
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
1041
|
+
.auth(Single.new('BasicAuth')))
|
1042
|
+
.response(new_response_handler
|
1043
|
+
.is_nullify404(true)
|
1044
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
1045
|
+
.deserialize_into(SubscriptionPreviewResponse.method(:from_hash)))
|
1046
|
+
.execute
|
1047
|
+
end
|
1048
|
+
|
1049
|
+
# Use this endpoint to remove a coupon from an existing subscription.
|
1050
|
+
# For more information on the expected behaviour of removing a coupon from a
|
1051
|
+
# subscription, please see our documentation
|
1052
|
+
# [here.](https://chargify.zendesk.com/hc/en-us/articles/4407896488987#remov
|
1053
|
+
# ing-a-coupon)
|
1054
|
+
# @param [String] subscription_id Required parameter: The Chargify id of the
|
1055
|
+
# subscription
|
1056
|
+
# @param [String] coupon_code Optional parameter: The coupon code
|
1057
|
+
# @return [String] response from the API call.
|
1058
|
+
def delete_coupon_from_subscription(subscription_id,
|
1059
|
+
coupon_code: nil)
|
1060
|
+
new_api_call_builder
|
1061
|
+
.request(new_request_builder(HttpMethodEnum::DELETE,
|
1062
|
+
'/subscriptions/{subscription_id}/remove_coupon.json',
|
1063
|
+
Server::DEFAULT)
|
1064
|
+
.template_param(new_parameter(subscription_id, key: 'subscription_id')
|
1065
|
+
.is_required(true)
|
1066
|
+
.should_encode(true))
|
1067
|
+
.query_param(new_parameter(coupon_code, key: 'coupon_code'))
|
1068
|
+
.auth(Single.new('BasicAuth')))
|
1069
|
+
.response(new_response_handler
|
1070
|
+
.is_nullify404(true)
|
1071
|
+
.deserializer(APIHelper.method(:deserialize_primitive_types))
|
1072
|
+
.deserialize_into(proc do |response| response.to_s end)
|
1073
|
+
.is_primitive_response(true)
|
1074
|
+
.local_error('422',
|
1075
|
+
'Unprocessable Entity (WebDAV)',
|
1076
|
+
SubscriptionRemoveCouponErrorsException))
|
1077
|
+
.execute
|
1078
|
+
end
|
1079
|
+
|
1080
|
+
# This method will return an array of subscriptions from a Site. Pay close
|
1081
|
+
# attention to query string filters and pagination in order to control
|
1082
|
+
# responses from the server.
|
1083
|
+
# ## Search for a subscription
|
1084
|
+
# Use the query strings below to search for a subscription using the
|
1085
|
+
# criteria available. The return value will be an array.
|
1086
|
+
# ## Self-Service Page token
|
1087
|
+
# Self-Service Page token for the subscriptions is not returned by default.
|
1088
|
+
# If this information is desired, the include[]=self_service_page_token
|
1089
|
+
# parameter must be provided with the request.
|
1090
|
+
# @param [Integer] page Optional parameter: Result records are organized in
|
1091
|
+
# pages. By default, the first page of results is displayed. The page
|
1092
|
+
# parameter specifies a page number of results to fetch. You can start
|
1093
|
+
# navigating through the pages to consume the results. You do this by
|
1094
|
+
# passing in a page parameter. Retrieve the next page by adding ?page=2 to
|
1095
|
+
# the query string. If there are no results to return, then an empty result
|
1096
|
+
# set will be returned. Use in query `page=1`.
|
1097
|
+
# @param [Integer] per_page Optional parameter: This parameter indicates how
|
1098
|
+
# many records to fetch in each request. Default value is 20. The maximum
|
1099
|
+
# allowed values is 200; any per_page value over 200 will be changed to 200.
|
1100
|
+
# Use in query `per_page=200`.
|
1101
|
+
# @param [SubscriptionState] state Optional parameter: The current state of
|
1102
|
+
# the subscription
|
1103
|
+
# @param [Integer] product Optional parameter: The product id of the
|
1104
|
+
# subscription. (Note that the product handle cannot be used.)
|
1105
|
+
# @param [Integer] product_price_point_id Optional parameter: The ID of the
|
1106
|
+
# product price point. If supplied, product is required
|
1107
|
+
# @param [Integer] coupon Optional parameter: The numeric id of the coupon
|
1108
|
+
# currently applied to the subscription. (This can be found in the URL when
|
1109
|
+
# editing a coupon. Note that the coupon code cannot be used.)
|
1110
|
+
# @param [SubscriptionDateField] date_field Optional parameter: The type of
|
1111
|
+
# filter you'd like to apply to your search. Allowed Values: ,
|
1112
|
+
# current_period_ends_at, current_period_starts_at, created_at,
|
1113
|
+
# activated_at, canceled_at, expires_at, trial_started_at, trial_ended_at,
|
1114
|
+
# updated_at
|
1115
|
+
# @param [Date] start_date Optional parameter: The start date (format
|
1116
|
+
# YYYY-MM-DD) with which to filter the date_field. Returns subscriptions
|
1117
|
+
# with a timestamp at or after midnight (12:00:00 AM) in your site’s time
|
1118
|
+
# zone on the date specified. Use in query `start_date=2022-07-01`.
|
1119
|
+
# @param [Date] end_date Optional parameter: The end date (format
|
1120
|
+
# YYYY-MM-DD) with which to filter the date_field. Returns subscriptions
|
1121
|
+
# with a timestamp up to and including 11:59:59PM in your site’s time zone
|
1122
|
+
# on the date specified. Use in query `end_date=2022-08-01`.
|
1123
|
+
# @param [DateTime] start_datetime Optional parameter: The start date and
|
1124
|
+
# time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field.
|
1125
|
+
# Returns subscriptions with a timestamp at or after exact time provided in
|
1126
|
+
# query. You can specify timezone in query - otherwise your site's time zone
|
1127
|
+
# will be used. If provided, this parameter will be used instead of
|
1128
|
+
# start_date. Use in query `start_datetime=2022-07-01 09:00:05`.
|
1129
|
+
# @param [DateTime] end_datetime Optional parameter: The end date and time
|
1130
|
+
# (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns
|
1131
|
+
# subscriptions with a timestamp at or before exact time provided in query.
|
1132
|
+
# You can specify timezone in query - otherwise your site's time zone will
|
1133
|
+
# be used. If provided, this parameter will be used instead of end_date. Use
|
1134
|
+
# in query `end_datetime=2022-08-01 10:00:05`.
|
1135
|
+
# @param [Hash[String, String]] metadata Optional parameter: The value of
|
1136
|
+
# the metadata field specified in the parameter. Use in query
|
1137
|
+
# `metadata[my-field]=value&metadata[other-field]=another_value`.
|
1138
|
+
# @param [SortingDirection | nil] direction Optional parameter: Controls the
|
1139
|
+
# order in which results are returned. Use in query `direction=asc`.
|
1140
|
+
# @param [SubscriptionSort] sort Optional parameter: The attribute by which
|
1141
|
+
# to sort
|
1142
|
+
# @return [Array[SubscriptionResponse]] response from the API call.
|
1143
|
+
def list_subscriptions(options = {})
|
1144
|
+
new_api_call_builder
|
1145
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
1146
|
+
'/subscriptions.json',
|
1147
|
+
Server::DEFAULT)
|
1148
|
+
.query_param(new_parameter(options['page'], key: 'page'))
|
1149
|
+
.query_param(new_parameter(options['per_page'], key: 'per_page'))
|
1150
|
+
.query_param(new_parameter(options['state'], key: 'state'))
|
1151
|
+
.query_param(new_parameter(options['product'], key: 'product'))
|
1152
|
+
.query_param(new_parameter(options['product_price_point_id'], key: 'product_price_point_id'))
|
1153
|
+
.query_param(new_parameter(options['coupon'], key: 'coupon'))
|
1154
|
+
.query_param(new_parameter(options['date_field'], key: 'date_field'))
|
1155
|
+
.query_param(new_parameter(options['start_date'], key: 'start_date'))
|
1156
|
+
.query_param(new_parameter(options['end_date'], key: 'end_date'))
|
1157
|
+
.query_param(new_parameter(options['start_datetime'], key: 'start_datetime'))
|
1158
|
+
.query_param(new_parameter(options['end_datetime'], key: 'end_datetime'))
|
1159
|
+
.query_param(new_parameter(options['metadata'], key: 'metadata'))
|
1160
|
+
.query_param(new_parameter(options['direction'], key: 'direction')
|
1161
|
+
.validator(proc do |value|
|
1162
|
+
UnionTypeLookUp.get(:ListSubscriptionsInputDirection)
|
1163
|
+
.validate(value)
|
1164
|
+
end))
|
1165
|
+
.query_param(new_parameter(options['sort'], key: 'sort'))
|
1166
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
1167
|
+
.auth(Single.new('BasicAuth'))
|
1168
|
+
.array_serialization_format(ArraySerializationFormat::UN_INDEXED))
|
1169
|
+
.response(new_response_handler
|
1170
|
+
.is_nullify404(true)
|
1171
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
1172
|
+
.deserialize_into(SubscriptionResponse.method(:from_hash))
|
1173
|
+
.is_response_array(true))
|
1174
|
+
.execute
|
1175
|
+
end
|
1176
|
+
|
1177
|
+
# The subscription endpoint allows you to instantly update one or many
|
1178
|
+
# attributes about a subscription in a single call.
|
1179
|
+
# ## Update Subscription Payment Method
|
1180
|
+
# Change the card that your Subscriber uses for their subscription. You can
|
1181
|
+
# also use this method to simply change the expiration date of the card **if
|
1182
|
+
# your gateway allows**.
|
1183
|
+
# Note that partial card updates for **Authorize.Net** are not allowed via
|
1184
|
+
# this endpoint. The existing Payment Profile must be directly updated
|
1185
|
+
# instead.
|
1186
|
+
# You also use this method to change the subscription to a different product
|
1187
|
+
# by setting a new value for product_handle. A product change can be done in
|
1188
|
+
# two different ways, **product change** or **delayed product change**.
|
1189
|
+
# ## Product Change
|
1190
|
+
# This endpoint may be used to change a subscription's product. The new
|
1191
|
+
# payment amount is calculated and charged at the normal start of the next
|
1192
|
+
# period. If you desire complex product changes or prorated upgrades and
|
1193
|
+
# downgrades instead, please see the documentation on Migrating Subscription
|
1194
|
+
# Products.
|
1195
|
+
# To perform a product change, simply set either the `product_handle` or
|
1196
|
+
# `product_id` attribute to that of a different product from the same site
|
1197
|
+
# as the subscription. You can also change the price point by passing in
|
1198
|
+
# either `product_price_point_id` or `product_price_point_handle` -
|
1199
|
+
# otherwise the new product's default price point will be used.
|
1200
|
+
# ### Delayed Product Change
|
1201
|
+
# This method also changes the product and/or price point, and the new
|
1202
|
+
# payment amount is calculated and charged at the normal start of the next
|
1203
|
+
# period.
|
1204
|
+
# This method schedules the product change to happen automatically at the
|
1205
|
+
# subscription’s next renewal date. To perform a Delayed Product Change, set
|
1206
|
+
# the `product_handle` attribute as you would in a regular product change,
|
1207
|
+
# but also set the `product_change_delayed` attribute to `true`. No
|
1208
|
+
# proration applies in this case.
|
1209
|
+
# You can also perform a delayed change to the price point by passing in
|
1210
|
+
# either `product_price_point_id` or `product_price_point_handle`
|
1211
|
+
# **Note: To cancel a delayed product change, set `next_product_id` to an
|
1212
|
+
# empty string.**
|
1213
|
+
# ## Billing Date Changes
|
1214
|
+
# ### Regular Billing Date Changes
|
1215
|
+
# Send the `next_billing_at` to set the next billing date for the
|
1216
|
+
# subscription. After that date passes and the subscription is processed,
|
1217
|
+
# the following billing date will be set according to the subscription's
|
1218
|
+
# product period.
|
1219
|
+
# Note that if you pass an invalid date, we will automatically interpret and
|
1220
|
+
# set the correct date. For example, when February 30 is entered, the next
|
1221
|
+
# billing will be set to March 2nd in a non-leap year.
|
1222
|
+
# The server response will not return data under the key/value pair of
|
1223
|
+
# `next_billing`. Please view the key/value pair of `current_period_ends_at`
|
1224
|
+
# to verify that the `next_billing` date has been changed successfully.
|
1225
|
+
# ### Snap Day Changes
|
1226
|
+
# For a subscription using Calendar Billing, setting the next billing date
|
1227
|
+
# is a bit different. Send the `snap_day` attribute to change the calendar
|
1228
|
+
# billing date for **a subscription using a product eligible for calendar
|
1229
|
+
# billing**.
|
1230
|
+
# Note: If you change the product associated with a subscription that
|
1231
|
+
# contains a `snap_date` and immediately `READ/GET` the subscription data,
|
1232
|
+
# it will still contain evidence of the existing `snap_date`. This is due to
|
1233
|
+
# the fact that a product change is instantanous and only affects the
|
1234
|
+
# product associated with a subscription. After the `next_billing` date
|
1235
|
+
# arrives, the `snap_day` associated with the subscription will return to
|
1236
|
+
# `null.` Another way of looking at this is that you willl have to wait for
|
1237
|
+
# the next billing cycle to arrive before the `snap_date` will reset to
|
1238
|
+
# `null`.
|
1239
|
+
# @param [String] subscription_id Required parameter: The Chargify id of the
|
1240
|
+
# subscription
|
1241
|
+
# @param [UpdateSubscriptionRequest] body Optional parameter: Example:
|
1242
|
+
# @return [SubscriptionResponse] response from the API call.
|
1243
|
+
def update_subscription(subscription_id,
|
1244
|
+
body: nil)
|
1245
|
+
new_api_call_builder
|
1246
|
+
.request(new_request_builder(HttpMethodEnum::PUT,
|
1247
|
+
'/subscriptions/{subscription_id}.json',
|
1248
|
+
Server::DEFAULT)
|
1249
|
+
.template_param(new_parameter(subscription_id, key: 'subscription_id')
|
1250
|
+
.is_required(true)
|
1251
|
+
.should_encode(true))
|
1252
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
1253
|
+
.body_param(new_parameter(body))
|
1254
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
1255
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
1256
|
+
.auth(Single.new('BasicAuth')))
|
1257
|
+
.response(new_response_handler
|
1258
|
+
.is_nullify404(true)
|
1259
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
1260
|
+
.deserialize_into(SubscriptionResponse.method(:from_hash))
|
1261
|
+
.local_error('422',
|
1262
|
+
'Unprocessable Entity (WebDAV)',
|
1263
|
+
ErrorListResponseException))
|
1264
|
+
.execute
|
1265
|
+
end
|
1266
|
+
|
1267
|
+
# Use this endpoint to find a subscription by its reference.
|
1268
|
+
# @param [String] reference Optional parameter: Subscription reference
|
1269
|
+
# @return [SubscriptionResponse] response from the API call.
|
1270
|
+
def read_subscription_by_reference(reference: nil)
|
1271
|
+
new_api_call_builder
|
1272
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
1273
|
+
'/subscriptions/lookup.json',
|
1274
|
+
Server::DEFAULT)
|
1275
|
+
.query_param(new_parameter(reference, key: 'reference'))
|
1276
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
1277
|
+
.auth(Single.new('BasicAuth')))
|
1278
|
+
.response(new_response_handler
|
1279
|
+
.is_nullify404(true)
|
1280
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
1281
|
+
.deserialize_into(SubscriptionResponse.method(:from_hash)))
|
1282
|
+
.execute
|
1283
|
+
end
|
1284
|
+
|
1285
|
+
# Use this endpoint to update a subscription's prepaid configuration.
|
1286
|
+
# @param [String] subscription_id Required parameter: The Chargify id of the
|
1287
|
+
# subscription
|
1288
|
+
# @param [UpsertPrepaidConfigurationRequest] body Optional parameter:
|
1289
|
+
# Example:
|
1290
|
+
# @return [PrepaidConfigurationResponse] response from the API call.
|
1291
|
+
def create_prepaid_subscription(subscription_id,
|
1292
|
+
body: nil)
|
1293
|
+
new_api_call_builder
|
1294
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
1295
|
+
'/subscriptions/{subscription_id}/prepaid_configurations.json',
|
1296
|
+
Server::DEFAULT)
|
1297
|
+
.template_param(new_parameter(subscription_id, key: 'subscription_id')
|
1298
|
+
.is_required(true)
|
1299
|
+
.should_encode(true))
|
1300
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
1301
|
+
.body_param(new_parameter(body))
|
1302
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
1303
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
1304
|
+
.auth(Single.new('BasicAuth')))
|
1305
|
+
.response(new_response_handler
|
1306
|
+
.is_nullify404(true)
|
1307
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
1308
|
+
.deserialize_into(PrepaidConfigurationResponse.method(:from_hash)))
|
1309
|
+
.execute
|
1310
|
+
end
|
1311
|
+
|
1312
|
+
# An existing subscription can accommodate multiple discounts/coupon codes.
|
1313
|
+
# This is only applicable if each coupon is stackable. For more information
|
1314
|
+
# on stackable coupons, we recommend reviewing our [coupon
|
1315
|
+
# documentation.](https://chargify.zendesk.com/hc/en-us/articles/44077559095
|
1316
|
+
# 31#stackable-coupons)
|
1317
|
+
# ## Query Parameters vs Request Body Parameters
|
1318
|
+
# Passing in a coupon code as a query parameter will add the code to the
|
1319
|
+
# subscription, completely replacing all existing coupon codes on the
|
1320
|
+
# subscription.
|
1321
|
+
# For this reason, using this query parameter on this endpoint has been
|
1322
|
+
# deprecated in favor of using the request body parameters as described
|
1323
|
+
# below. When passing in request body parameters, the list of coupon codes
|
1324
|
+
# will simply be added to any existing list of codes on the subscription.
|
1325
|
+
# @param [String] subscription_id Required parameter: The Chargify id of the
|
1326
|
+
# subscription
|
1327
|
+
# @param [String] code Optional parameter: A code for the coupon that would
|
1328
|
+
# be applied to a subscription
|
1329
|
+
# @param [AddCouponsRequest] body Optional parameter: Example:
|
1330
|
+
# @return [SubscriptionResponse] response from the API call.
|
1331
|
+
def apply_coupon_to_subscription(subscription_id,
|
1332
|
+
code: nil,
|
1333
|
+
body: nil)
|
1334
|
+
new_api_call_builder
|
1335
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
1336
|
+
'/subscriptions/{subscription_id}/add_coupon.json',
|
1337
|
+
Server::DEFAULT)
|
1338
|
+
.template_param(new_parameter(subscription_id, key: 'subscription_id')
|
1339
|
+
.is_required(true)
|
1340
|
+
.should_encode(true))
|
1341
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
1342
|
+
.query_param(new_parameter(code, key: 'code'))
|
1343
|
+
.body_param(new_parameter(body))
|
1344
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
1345
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
1346
|
+
.auth(Single.new('BasicAuth')))
|
1347
|
+
.response(new_response_handler
|
1348
|
+
.is_nullify404(true)
|
1349
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
1350
|
+
.deserialize_into(SubscriptionResponse.method(:from_hash))
|
1351
|
+
.local_error('422',
|
1352
|
+
'Unprocessable Entity (WebDAV)',
|
1353
|
+
SubscriptionAddCouponErrorException))
|
1354
|
+
.execute
|
1355
|
+
end
|
1356
|
+
end
|
1357
|
+
end
|