dodopayments 0.0.1.pre.alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +154 -0
- data/lib/dodopayments/base_client.rb +453 -0
- data/lib/dodopayments/base_model.rb +1217 -0
- data/lib/dodopayments/base_page.rb +62 -0
- data/lib/dodopayments/client.rb +147 -0
- data/lib/dodopayments/default_page_number_pagination.rb +97 -0
- data/lib/dodopayments/errors.rb +183 -0
- data/lib/dodopayments/extern.rb +9 -0
- data/lib/dodopayments/models/attach_existing_customer.rb +19 -0
- data/lib/dodopayments/models/billing_address.rb +48 -0
- data/lib/dodopayments/models/country_code.rb +262 -0
- data/lib/dodopayments/models/create_new_customer.rb +44 -0
- data/lib/dodopayments/models/customer.rb +49 -0
- data/lib/dodopayments/models/customer_create_params.rb +36 -0
- data/lib/dodopayments/models/customer_limited_details.rb +34 -0
- data/lib/dodopayments/models/customer_list_params.rb +32 -0
- data/lib/dodopayments/models/customer_portal_session.rb +19 -0
- data/lib/dodopayments/models/customer_request.rb +18 -0
- data/lib/dodopayments/models/customer_retrieve_params.rb +18 -0
- data/lib/dodopayments/models/customer_update_params.rb +30 -0
- data/lib/dodopayments/models/customers/customer_portal_create_params.rb +27 -0
- data/lib/dodopayments/models/discount.rb +108 -0
- data/lib/dodopayments/models/discount_create_params.rb +87 -0
- data/lib/dodopayments/models/discount_delete_params.rb +18 -0
- data/lib/dodopayments/models/discount_list_params.rb +32 -0
- data/lib/dodopayments/models/discount_retrieve_params.rb +18 -0
- data/lib/dodopayments/models/discount_type.rb +12 -0
- data/lib/dodopayments/models/discount_update_params.rb +82 -0
- data/lib/dodopayments/models/dispute.rb +80 -0
- data/lib/dodopayments/models/dispute_list_params.rb +79 -0
- data/lib/dodopayments/models/dispute_retrieve_params.rb +18 -0
- data/lib/dodopayments/models/dispute_stage.rb +14 -0
- data/lib/dodopayments/models/dispute_status.rb +18 -0
- data/lib/dodopayments/models/intent_status.rb +22 -0
- data/lib/dodopayments/models/invoices/payment_retrieve_params.rb +20 -0
- data/lib/dodopayments/models/license_activate_params.rb +30 -0
- data/lib/dodopayments/models/license_deactivate_params.rb +30 -0
- data/lib/dodopayments/models/license_key.rb +113 -0
- data/lib/dodopayments/models/license_key_duration.rb +25 -0
- data/lib/dodopayments/models/license_key_instance.rb +43 -0
- data/lib/dodopayments/models/license_key_instance_list_params.rb +39 -0
- data/lib/dodopayments/models/license_key_instance_retrieve_params.rb +18 -0
- data/lib/dodopayments/models/license_key_instance_update_params.rb +24 -0
- data/lib/dodopayments/models/license_key_list_params.rb +53 -0
- data/lib/dodopayments/models/license_key_retrieve_params.rb +18 -0
- data/lib/dodopayments/models/license_key_status.rb +14 -0
- data/lib/dodopayments/models/license_key_update_params.rb +42 -0
- data/lib/dodopayments/models/license_validate_params.rb +30 -0
- data/lib/dodopayments/models/license_validate_response.rb +19 -0
- data/lib/dodopayments/models/misc_list_supported_countries_params.rb +18 -0
- data/lib/dodopayments/models/misc_list_supported_countries_response.rb +7 -0
- data/lib/dodopayments/models/one_time_product_cart_item.rb +33 -0
- data/lib/dodopayments/models/payment.rb +339 -0
- data/lib/dodopayments/models/payment_create_params.rb +90 -0
- data/lib/dodopayments/models/payment_create_response.rb +82 -0
- data/lib/dodopayments/models/payment_list_params.rb +79 -0
- data/lib/dodopayments/models/payment_list_response.rb +238 -0
- data/lib/dodopayments/models/payment_retrieve_params.rb +18 -0
- data/lib/dodopayments/models/payout_list_params.rb +32 -0
- data/lib/dodopayments/models/payout_list_response.rb +295 -0
- data/lib/dodopayments/models/price.rb +512 -0
- data/lib/dodopayments/models/product.rb +149 -0
- data/lib/dodopayments/models/product_create_params.rb +107 -0
- data/lib/dodopayments/models/product_delete_params.rb +18 -0
- data/lib/dodopayments/models/product_list_params.rb +54 -0
- data/lib/dodopayments/models/product_list_response.rb +293 -0
- data/lib/dodopayments/models/product_retrieve_params.rb +18 -0
- data/lib/dodopayments/models/product_unarchive_params.rb +18 -0
- data/lib/dodopayments/models/product_update_params.rb +124 -0
- data/lib/dodopayments/models/products/image_update_params.rb +26 -0
- data/lib/dodopayments/models/products/image_update_response.rb +27 -0
- data/lib/dodopayments/models/refund.rb +218 -0
- data/lib/dodopayments/models/refund_create_params.rb +40 -0
- data/lib/dodopayments/models/refund_list_params.rb +71 -0
- data/lib/dodopayments/models/refund_retrieve_params.rb +18 -0
- data/lib/dodopayments/models/refund_status.rb +15 -0
- data/lib/dodopayments/models/subscription.rb +309 -0
- data/lib/dodopayments/models/subscription_create_params.rb +106 -0
- data/lib/dodopayments/models/subscription_create_response.rb +73 -0
- data/lib/dodopayments/models/subscription_list_params.rb +71 -0
- data/lib/dodopayments/models/subscription_retrieve_params.rb +18 -0
- data/lib/dodopayments/models/subscription_status.rb +18 -0
- data/lib/dodopayments/models/subscription_update_params.rb +30 -0
- data/lib/dodopayments/models/time_interval.rb +15 -0
- data/lib/dodopayments/models/webhook_event.rb +73 -0
- data/lib/dodopayments/models/webhook_event_list_params.rb +71 -0
- data/lib/dodopayments/models/webhook_event_retrieve_params.rb +18 -0
- data/lib/dodopayments/pooled_net_requester.rb +164 -0
- data/lib/dodopayments/request_options.rb +110 -0
- data/lib/dodopayments/resources/customers/customer_portal.rb +34 -0
- data/lib/dodopayments/resources/customers.rb +97 -0
- data/lib/dodopayments/resources/discounts.rb +154 -0
- data/lib/dodopayments/resources/disputes.rb +59 -0
- data/lib/dodopayments/resources/invoices/payments.rb +30 -0
- data/lib/dodopayments/resources/invoices.rb +16 -0
- data/lib/dodopayments/resources/license_key_instances.rb +71 -0
- data/lib/dodopayments/resources/license_keys.rb +82 -0
- data/lib/dodopayments/resources/licenses.rb +72 -0
- data/lib/dodopayments/resources/misc.rb +26 -0
- data/lib/dodopayments/resources/payments.rb +93 -0
- data/lib/dodopayments/resources/payouts.rb +33 -0
- data/lib/dodopayments/resources/products/images.rb +34 -0
- data/lib/dodopayments/resources/products.rb +176 -0
- data/lib/dodopayments/resources/refunds.rb +80 -0
- data/lib/dodopayments/resources/subscriptions.rb +117 -0
- data/lib/dodopayments/resources/webhook_events.rb +57 -0
- data/lib/dodopayments/util.rb +717 -0
- data/lib/dodopayments/version.rb +5 -0
- data/lib/dodopayments.rb +128 -0
- data/manifest.yaml +14 -0
- data/rbi/lib/dodopayments/base_client.rbi +186 -0
- data/rbi/lib/dodopayments/base_model.rbi +606 -0
- data/rbi/lib/dodopayments/base_page.rbi +40 -0
- data/rbi/lib/dodopayments/client.rbi +117 -0
- data/rbi/lib/dodopayments/default_page_number_pagination.rbi +17 -0
- data/rbi/lib/dodopayments/errors.rbi +179 -0
- data/rbi/lib/dodopayments/extern.rbi +8 -0
- data/rbi/lib/dodopayments/models/attach_existing_customer.rbi +23 -0
- data/rbi/lib/dodopayments/models/billing_address.rbi +65 -0
- data/rbi/lib/dodopayments/models/country_code.rbi +266 -0
- data/rbi/lib/dodopayments/models/create_new_customer.rbi +61 -0
- data/rbi/lib/dodopayments/models/customer.rbi +85 -0
- data/rbi/lib/dodopayments/models/customer_create_params.rbi +60 -0
- data/rbi/lib/dodopayments/models/customer_limited_details.rbi +42 -0
- data/rbi/lib/dodopayments/models/customer_list_params.rbi +52 -0
- data/rbi/lib/dodopayments/models/customer_portal_session.rbi +23 -0
- data/rbi/lib/dodopayments/models/customer_request.rbi +15 -0
- data/rbi/lib/dodopayments/models/customer_retrieve_params.rbi +21 -0
- data/rbi/lib/dodopayments/models/customer_update_params.rbi +50 -0
- data/rbi/lib/dodopayments/models/customers/customer_portal_create_params.rbi +37 -0
- data/rbi/lib/dodopayments/models/discount.rbi +161 -0
- data/rbi/lib/dodopayments/models/discount_create_params.rbi +124 -0
- data/rbi/lib/dodopayments/models/discount_delete_params.rbi +21 -0
- data/rbi/lib/dodopayments/models/discount_list_params.rbi +52 -0
- data/rbi/lib/dodopayments/models/discount_retrieve_params.rbi +21 -0
- data/rbi/lib/dodopayments/models/discount_type.rbi +17 -0
- data/rbi/lib/dodopayments/models/discount_update_params.rbi +119 -0
- data/rbi/lib/dodopayments/models/dispute.rbi +112 -0
- data/rbi/lib/dodopayments/models/dispute_list_params.rbi +116 -0
- data/rbi/lib/dodopayments/models/dispute_retrieve_params.rbi +21 -0
- data/rbi/lib/dodopayments/models/dispute_stage.rbi +19 -0
- data/rbi/lib/dodopayments/models/dispute_status.rbi +23 -0
- data/rbi/lib/dodopayments/models/intent_status.rbi +27 -0
- data/rbi/lib/dodopayments/models/invoices/payment_retrieve_params.rbi +23 -0
- data/rbi/lib/dodopayments/models/license_activate_params.rbi +43 -0
- data/rbi/lib/dodopayments/models/license_deactivate_params.rbi +50 -0
- data/rbi/lib/dodopayments/models/license_key.rbi +170 -0
- data/rbi/lib/dodopayments/models/license_key_duration.rbi +31 -0
- data/rbi/lib/dodopayments/models/license_key_instance.rbi +68 -0
- data/rbi/lib/dodopayments/models/license_key_instance_list_params.rbi +63 -0
- data/rbi/lib/dodopayments/models/license_key_instance_retrieve_params.rbi +21 -0
- data/rbi/lib/dodopayments/models/license_key_instance_update_params.rbi +35 -0
- data/rbi/lib/dodopayments/models/license_key_list_params.rbi +85 -0
- data/rbi/lib/dodopayments/models/license_key_retrieve_params.rbi +21 -0
- data/rbi/lib/dodopayments/models/license_key_status.rbi +19 -0
- data/rbi/lib/dodopayments/models/license_key_update_params.rbi +66 -0
- data/rbi/lib/dodopayments/models/license_validate_params.rbi +50 -0
- data/rbi/lib/dodopayments/models/license_validate_response.rbi +23 -0
- data/rbi/lib/dodopayments/models/misc_list_supported_countries_params.rbi +21 -0
- data/rbi/lib/dodopayments/models/misc_list_supported_countries_response.rbi +7 -0
- data/rbi/lib/dodopayments/models/one_time_product_cart_item.rbi +43 -0
- data/rbi/lib/dodopayments/models/payment.rbi +439 -0
- data/rbi/lib/dodopayments/models/payment_create_params.rbi +133 -0
- data/rbi/lib/dodopayments/models/payment_create_response.rbi +127 -0
- data/rbi/lib/dodopayments/models/payment_list_params.rbi +116 -0
- data/rbi/lib/dodopayments/models/payment_list_response.rbi +295 -0
- data/rbi/lib/dodopayments/models/payment_retrieve_params.rbi +21 -0
- data/rbi/lib/dodopayments/models/payout_list_params.rbi +52 -0
- data/rbi/lib/dodopayments/models/payout_list_response.rbi +374 -0
- data/rbi/lib/dodopayments/models/price.rbi +603 -0
- data/rbi/lib/dodopayments/models/product.rbi +228 -0
- data/rbi/lib/dodopayments/models/product_create_params.rbi +162 -0
- data/rbi/lib/dodopayments/models/product_delete_params.rbi +21 -0
- data/rbi/lib/dodopayments/models/product_list_params.rbi +78 -0
- data/rbi/lib/dodopayments/models/product_list_response.rbi +374 -0
- data/rbi/lib/dodopayments/models/product_retrieve_params.rbi +21 -0
- data/rbi/lib/dodopayments/models/product_unarchive_params.rbi +21 -0
- data/rbi/lib/dodopayments/models/product_update_params.rbi +191 -0
- data/rbi/lib/dodopayments/models/products/image_update_params.rbi +41 -0
- data/rbi/lib/dodopayments/models/products/image_update_response.rbi +33 -0
- data/rbi/lib/dodopayments/models/refund.rbi +267 -0
- data/rbi/lib/dodopayments/models/refund_create_params.rbi +64 -0
- data/rbi/lib/dodopayments/models/refund_list_params.rbi +104 -0
- data/rbi/lib/dodopayments/models/refund_retrieve_params.rbi +21 -0
- data/rbi/lib/dodopayments/models/refund_status.rbi +20 -0
- data/rbi/lib/dodopayments/models/subscription.rbi +397 -0
- data/rbi/lib/dodopayments/models/subscription_create_params.rbi +154 -0
- data/rbi/lib/dodopayments/models/subscription_create_response.rbi +113 -0
- data/rbi/lib/dodopayments/models/subscription_list_params.rbi +104 -0
- data/rbi/lib/dodopayments/models/subscription_retrieve_params.rbi +21 -0
- data/rbi/lib/dodopayments/models/subscription_status.rbi +23 -0
- data/rbi/lib/dodopayments/models/subscription_update_params.rbi +50 -0
- data/rbi/lib/dodopayments/models/time_interval.rbi +20 -0
- data/rbi/lib/dodopayments/models/webhook_event.rbi +114 -0
- data/rbi/lib/dodopayments/models/webhook_event_list_params.rbi +104 -0
- data/rbi/lib/dodopayments/models/webhook_event_retrieve_params.rbi +21 -0
- data/rbi/lib/dodopayments/pooled_net_requester.rbi +47 -0
- data/rbi/lib/dodopayments/request_options.rbi +109 -0
- data/rbi/lib/dodopayments/resources/customers/customer_portal.rbi +30 -0
- data/rbi/lib/dodopayments/resources/customers.rbi +76 -0
- data/rbi/lib/dodopayments/resources/discounts.rbi +139 -0
- data/rbi/lib/dodopayments/resources/disputes.rbi +57 -0
- data/rbi/lib/dodopayments/resources/invoices/payments.rbi +23 -0
- data/rbi/lib/dodopayments/resources/invoices.rbi +15 -0
- data/rbi/lib/dodopayments/resources/license_key_instances.rbi +61 -0
- data/rbi/lib/dodopayments/resources/license_keys.rbi +77 -0
- data/rbi/lib/dodopayments/resources/licenses.rbi +44 -0
- data/rbi/lib/dodopayments/resources/misc.rbi +18 -0
- data/rbi/lib/dodopayments/resources/payments.rbi +91 -0
- data/rbi/lib/dodopayments/resources/payouts.rbi +28 -0
- data/rbi/lib/dodopayments/resources/products/images.rbi +29 -0
- data/rbi/lib/dodopayments/resources/products.rbi +164 -0
- data/rbi/lib/dodopayments/resources/refunds.rbi +75 -0
- data/rbi/lib/dodopayments/resources/subscriptions.rbi +112 -0
- data/rbi/lib/dodopayments/resources/webhook_events.rbi +50 -0
- data/rbi/lib/dodopayments/util.rbi +270 -0
- data/rbi/lib/dodopayments/version.rbi +5 -0
- data/sig/dodopayments/base_client.rbs +103 -0
- data/sig/dodopayments/base_model.rbs +246 -0
- data/sig/dodopayments/base_page.rbs +20 -0
- data/sig/dodopayments/client.rbs +58 -0
- data/sig/dodopayments/default_page_number_pagination.rbs +7 -0
- data/sig/dodopayments/errors.rbs +99 -0
- data/sig/dodopayments/extern.rbs +4 -0
- data/sig/dodopayments/models/attach_existing_customer.rbs +18 -0
- data/sig/dodopayments/models/billing_address.rbs +38 -0
- data/sig/dodopayments/models/country_code.rbs +508 -0
- data/sig/dodopayments/models/create_new_customer.rbs +37 -0
- data/sig/dodopayments/models/customer.rbs +42 -0
- data/sig/dodopayments/models/customer_create_params.rbs +32 -0
- data/sig/dodopayments/models/customer_limited_details.rbs +23 -0
- data/sig/dodopayments/models/customer_list_params.rbs +29 -0
- data/sig/dodopayments/models/customer_portal_session.rbs +18 -0
- data/sig/dodopayments/models/customer_request.rbs +11 -0
- data/sig/dodopayments/models/customer_retrieve_params.rbs +19 -0
- data/sig/dodopayments/models/customer_update_params.rbs +29 -0
- data/sig/dodopayments/models/customers/customer_portal_create_params.rbs +27 -0
- data/sig/dodopayments/models/discount.rbs +62 -0
- data/sig/dodopayments/models/discount_create_params.rbs +52 -0
- data/sig/dodopayments/models/discount_delete_params.rbs +19 -0
- data/sig/dodopayments/models/discount_list_params.rbs +29 -0
- data/sig/dodopayments/models/discount_retrieve_params.rbs +19 -0
- data/sig/dodopayments/models/discount_type.rbs +11 -0
- data/sig/dodopayments/models/discount_update_params.rbs +52 -0
- data/sig/dodopayments/models/dispute.rbs +50 -0
- data/sig/dodopayments/models/dispute_list_params.rbs +52 -0
- data/sig/dodopayments/models/dispute_retrieve_params.rbs +19 -0
- data/sig/dodopayments/models/dispute_stage.rbs +13 -0
- data/sig/dodopayments/models/dispute_status.rbs +24 -0
- data/sig/dodopayments/models/intent_status.rbs +32 -0
- data/sig/dodopayments/models/invoices/payment_retrieve_params.rbs +21 -0
- data/sig/dodopayments/models/license_activate_params.rbs +28 -0
- data/sig/dodopayments/models/license_deactivate_params.rbs +29 -0
- data/sig/dodopayments/models/license_key.rbs +66 -0
- data/sig/dodopayments/models/license_key_duration.rbs +21 -0
- data/sig/dodopayments/models/license_key_instance.rbs +39 -0
- data/sig/dodopayments/models/license_key_instance_list_params.rbs +32 -0
- data/sig/dodopayments/models/license_key_instance_retrieve_params.rbs +20 -0
- data/sig/dodopayments/models/license_key_instance_update_params.rbs +22 -0
- data/sig/dodopayments/models/license_key_list_params.rbs +44 -0
- data/sig/dodopayments/models/license_key_retrieve_params.rbs +19 -0
- data/sig/dodopayments/models/license_key_status.rbs +13 -0
- data/sig/dodopayments/models/license_key_update_params.rbs +32 -0
- data/sig/dodopayments/models/license_validate_params.rbs +29 -0
- data/sig/dodopayments/models/license_validate_response.rbs +18 -0
- data/sig/dodopayments/models/misc_list_supported_countries_params.rbs +20 -0
- data/sig/dodopayments/models/misc_list_supported_countries_response.rbs +8 -0
- data/sig/dodopayments/models/one_time_product_cart_item.rbs +23 -0
- data/sig/dodopayments/models/payment.rbs +408 -0
- data/sig/dodopayments/models/payment_create_params.rbs +58 -0
- data/sig/dodopayments/models/payment_create_response.rbs +51 -0
- data/sig/dodopayments/models/payment_list_params.rbs +52 -0
- data/sig/dodopayments/models/payment_list_response.rbs +356 -0
- data/sig/dodopayments/models/payment_retrieve_params.rbs +19 -0
- data/sig/dodopayments/models/payout_list_params.rbs +29 -0
- data/sig/dodopayments/models/payout_list_response.rbs +386 -0
- data/sig/dodopayments/models/price.rbs +717 -0
- data/sig/dodopayments/models/product.rbs +89 -0
- data/sig/dodopayments/models/product_create_params.rbs +71 -0
- data/sig/dodopayments/models/product_delete_params.rbs +19 -0
- data/sig/dodopayments/models/product_list_params.rbs +42 -0
- data/sig/dodopayments/models/product_list_response.rbs +379 -0
- data/sig/dodopayments/models/product_retrieve_params.rbs +19 -0
- data/sig/dodopayments/models/product_unarchive_params.rbs +19 -0
- data/sig/dodopayments/models/product_update_params.rbs +75 -0
- data/sig/dodopayments/models/products/image_update_params.rbs +27 -0
- data/sig/dodopayments/models/products/image_update_response.rbs +22 -0
- data/sig/dodopayments/models/refund.rbs +345 -0
- data/sig/dodopayments/models/refund_create_params.rbs +32 -0
- data/sig/dodopayments/models/refund_list_params.rbs +48 -0
- data/sig/dodopayments/models/refund_retrieve_params.rbs +19 -0
- data/sig/dodopayments/models/refund_status.rbs +14 -0
- data/sig/dodopayments/models/subscription.rbs +387 -0
- data/sig/dodopayments/models/subscription_create_params.rbs +66 -0
- data/sig/dodopayments/models/subscription_create_response.rbs +47 -0
- data/sig/dodopayments/models/subscription_list_params.rbs +48 -0
- data/sig/dodopayments/models/subscription_retrieve_params.rbs +19 -0
- data/sig/dodopayments/models/subscription_status.rbs +18 -0
- data/sig/dodopayments/models/subscription_update_params.rbs +32 -0
- data/sig/dodopayments/models/time_interval.rbs +14 -0
- data/sig/dodopayments/models/webhook_event.rbs +50 -0
- data/sig/dodopayments/models/webhook_event_list_params.rbs +48 -0
- data/sig/dodopayments/models/webhook_event_retrieve_params.rbs +19 -0
- data/sig/dodopayments/pooled_net_requester.rbs +30 -0
- data/sig/dodopayments/request_options.rbs +46 -0
- data/sig/dodopayments/resources/customers/customer_portal.rbs +21 -0
- data/sig/dodopayments/resources/customers.rbs +55 -0
- data/sig/dodopayments/resources/discounts.rbs +73 -0
- data/sig/dodopayments/resources/disputes.rbs +33 -0
- data/sig/dodopayments/resources/invoices/payments.rbs +20 -0
- data/sig/dodopayments/resources/invoices.rbs +9 -0
- data/sig/dodopayments/resources/license_key_instances.rbs +42 -0
- data/sig/dodopayments/resources/license_keys.rbs +46 -0
- data/sig/dodopayments/resources/licenses.rbs +40 -0
- data/sig/dodopayments/resources/misc.rbs +16 -0
- data/sig/dodopayments/resources/payments.rbs +49 -0
- data/sig/dodopayments/resources/payouts.rbs +17 -0
- data/sig/dodopayments/resources/products/images.rbs +21 -0
- data/sig/dodopayments/resources/products.rbs +86 -0
- data/sig/dodopayments/resources/refunds.rbs +43 -0
- data/sig/dodopayments/resources/subscriptions.rbs +65 -0
- data/sig/dodopayments/resources/webhook_events.rbs +33 -0
- data/sig/dodopayments/util.rbs +136 -0
- data/sig/dodopayments/version.rbs +3 -0
- metadata +383 -0
@@ -0,0 +1,110 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
# @api private
|
5
|
+
#
|
6
|
+
# @abstract
|
7
|
+
module RequestParameters
|
8
|
+
# @!parse
|
9
|
+
# # Options to specify HTTP behaviour for this request.
|
10
|
+
# # @return [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
|
11
|
+
# attr_accessor :request_options
|
12
|
+
|
13
|
+
# @param mod [Module]
|
14
|
+
def self.included(mod)
|
15
|
+
return unless mod <= Dodopayments::BaseModel
|
16
|
+
|
17
|
+
mod.extend(Dodopayments::RequestParameters::Converter)
|
18
|
+
mod.optional(:request_options, Dodopayments::RequestOptions)
|
19
|
+
end
|
20
|
+
|
21
|
+
# @api private
|
22
|
+
module Converter
|
23
|
+
# @api private
|
24
|
+
#
|
25
|
+
# @param params [Object]
|
26
|
+
#
|
27
|
+
# @return [Array(Object, Hash{Symbol=>Object})]
|
28
|
+
def dump_request(params)
|
29
|
+
case (dumped = dump(params))
|
30
|
+
in Hash
|
31
|
+
[dumped.except(:request_options), dumped[:request_options]]
|
32
|
+
else
|
33
|
+
[dumped, nil]
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# Specify HTTP behaviour to use for a specific request. These options supplement
|
40
|
+
# or override those provided at the client level.
|
41
|
+
#
|
42
|
+
# When making a request, you can pass an actual {RequestOptions} instance, or
|
43
|
+
# simply pass a Hash with symbol keys matching the attributes on this class.
|
44
|
+
class RequestOptions < Dodopayments::BaseModel
|
45
|
+
# @api private
|
46
|
+
#
|
47
|
+
# @param opts [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
|
48
|
+
#
|
49
|
+
# @raise [ArgumentError]
|
50
|
+
def self.validate!(opts)
|
51
|
+
case opts
|
52
|
+
in Dodopayments::RequestOptions | Hash
|
53
|
+
opts.to_h.each_key do |k|
|
54
|
+
unless fields.include?(k)
|
55
|
+
raise ArgumentError.new("Request `opts` keys must be one of #{fields.keys}, got #{k.inspect}")
|
56
|
+
end
|
57
|
+
end
|
58
|
+
else
|
59
|
+
raise ArgumentError.new("Request `opts` must be a Hash or RequestOptions, got #{opts.inspect}")
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
# @!attribute idempotency_key
|
64
|
+
# Idempotency key to send with request and all associated retries. Will only be
|
65
|
+
# sent for write requests.
|
66
|
+
#
|
67
|
+
# @return [String, nil]
|
68
|
+
optional :idempotency_key, String
|
69
|
+
|
70
|
+
# @!attribute extra_query
|
71
|
+
# Extra query params to send with the request. These are `.merge`’d into any
|
72
|
+
# `query` given at the client level.
|
73
|
+
#
|
74
|
+
# @return [Hash{String=>Array<String>, String, nil}, nil]
|
75
|
+
optional :extra_query, Dodopayments::HashOf[Dodopayments::ArrayOf[String]]
|
76
|
+
|
77
|
+
# @!attribute extra_headers
|
78
|
+
# Extra headers to send with the request. These are `.merged`’d into any
|
79
|
+
# `extra_headers` given at the client level.
|
80
|
+
#
|
81
|
+
# @return [Hash{String=>String, nil}, nil]
|
82
|
+
optional :extra_headers, Dodopayments::HashOf[String, nil?: true]
|
83
|
+
|
84
|
+
# @!attribute extra_body
|
85
|
+
# Extra data to send with the request. These are deep merged into any data
|
86
|
+
# generated as part of the normal request.
|
87
|
+
#
|
88
|
+
# @return [Hash{Symbol=>Object}, nil]
|
89
|
+
optional :extra_body, Dodopayments::HashOf[Dodopayments::Unknown]
|
90
|
+
|
91
|
+
# @!attribute max_retries
|
92
|
+
# Maximum number of retries to attempt after a failed initial request.
|
93
|
+
#
|
94
|
+
# @return [Integer, nil]
|
95
|
+
optional :max_retries, Integer
|
96
|
+
|
97
|
+
# @!attribute timeout
|
98
|
+
# Request timeout in seconds.
|
99
|
+
#
|
100
|
+
# @return [Float, nil]
|
101
|
+
optional :timeout, Float
|
102
|
+
|
103
|
+
# @!parse
|
104
|
+
# # Returns a new instance of RequestOptions.
|
105
|
+
# #
|
106
|
+
# # @param values [Hash{Symbol=>Object}]
|
107
|
+
# #
|
108
|
+
# def initialize(values = {}) = super
|
109
|
+
end
|
110
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Resources
|
5
|
+
class Customers
|
6
|
+
class CustomerPortal
|
7
|
+
# @param customer_id [String] Customer Id
|
8
|
+
#
|
9
|
+
# @param params [Dodopayments::Models::Customers::CustomerPortalCreateParams, Hash{Symbol=>Object}] .
|
10
|
+
#
|
11
|
+
# @option params [Boolean, nil] :send_email If true, will send link to user.
|
12
|
+
#
|
13
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
14
|
+
#
|
15
|
+
# @return [nil]
|
16
|
+
def create(customer_id, params = {})
|
17
|
+
parsed, options = Dodopayments::Models::Customers::CustomerPortalCreateParams.dump_request(params)
|
18
|
+
@client.request(
|
19
|
+
method: :post,
|
20
|
+
path: ["customers/%0s/customer-portal/session", customer_id],
|
21
|
+
query: parsed,
|
22
|
+
model: NilClass,
|
23
|
+
options: options
|
24
|
+
)
|
25
|
+
end
|
26
|
+
|
27
|
+
# @param client [Dodopayments::Client]
|
28
|
+
def initialize(client:)
|
29
|
+
@client = client
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Resources
|
5
|
+
class Customers
|
6
|
+
# @return [Dodopayments::Resources::Customers::CustomerPortal]
|
7
|
+
attr_reader :customer_portal
|
8
|
+
|
9
|
+
# @param params [Dodopayments::Models::CustomerCreateParams, Hash{Symbol=>Object}] .
|
10
|
+
#
|
11
|
+
# @option params [String] :email
|
12
|
+
#
|
13
|
+
# @option params [String] :name
|
14
|
+
#
|
15
|
+
# @option params [String, nil] :phone_number
|
16
|
+
#
|
17
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
18
|
+
#
|
19
|
+
# @return [Dodopayments::Models::Customer]
|
20
|
+
def create(params)
|
21
|
+
parsed, options = Dodopayments::Models::CustomerCreateParams.dump_request(params)
|
22
|
+
@client.request(
|
23
|
+
method: :post,
|
24
|
+
path: "customers",
|
25
|
+
body: parsed,
|
26
|
+
model: Dodopayments::Models::Customer,
|
27
|
+
options: options
|
28
|
+
)
|
29
|
+
end
|
30
|
+
|
31
|
+
# @param customer_id [String] Customer Id
|
32
|
+
#
|
33
|
+
# @param params [Dodopayments::Models::CustomerRetrieveParams, Hash{Symbol=>Object}] .
|
34
|
+
#
|
35
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
36
|
+
#
|
37
|
+
# @return [Dodopayments::Models::Customer]
|
38
|
+
def retrieve(customer_id, params = {})
|
39
|
+
@client.request(
|
40
|
+
method: :get,
|
41
|
+
path: ["customers/%0s", customer_id],
|
42
|
+
model: Dodopayments::Models::Customer,
|
43
|
+
options: params[:request_options]
|
44
|
+
)
|
45
|
+
end
|
46
|
+
|
47
|
+
# @param customer_id [String] Customer Id
|
48
|
+
#
|
49
|
+
# @param params [Dodopayments::Models::CustomerUpdateParams, Hash{Symbol=>Object}] .
|
50
|
+
#
|
51
|
+
# @option params [String, nil] :name
|
52
|
+
#
|
53
|
+
# @option params [String, nil] :phone_number
|
54
|
+
#
|
55
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
56
|
+
#
|
57
|
+
# @return [Dodopayments::Models::Customer]
|
58
|
+
def update(customer_id, params = {})
|
59
|
+
parsed, options = Dodopayments::Models::CustomerUpdateParams.dump_request(params)
|
60
|
+
@client.request(
|
61
|
+
method: :patch,
|
62
|
+
path: ["customers/%0s", customer_id],
|
63
|
+
body: parsed,
|
64
|
+
model: Dodopayments::Models::Customer,
|
65
|
+
options: options
|
66
|
+
)
|
67
|
+
end
|
68
|
+
|
69
|
+
# @param params [Dodopayments::Models::CustomerListParams, Hash{Symbol=>Object}] .
|
70
|
+
#
|
71
|
+
# @option params [Integer, nil] :page_number Page number default is 0
|
72
|
+
#
|
73
|
+
# @option params [Integer, nil] :page_size Page size default is 10 max is 100
|
74
|
+
#
|
75
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
76
|
+
#
|
77
|
+
# @return [Dodopayments::DefaultPageNumberPagination<Dodopayments::Models::Customer>]
|
78
|
+
def list(params = {})
|
79
|
+
parsed, options = Dodopayments::Models::CustomerListParams.dump_request(params)
|
80
|
+
@client.request(
|
81
|
+
method: :get,
|
82
|
+
path: "customers",
|
83
|
+
query: parsed,
|
84
|
+
page: Dodopayments::DefaultPageNumberPagination,
|
85
|
+
model: Dodopayments::Models::Customer,
|
86
|
+
options: options
|
87
|
+
)
|
88
|
+
end
|
89
|
+
|
90
|
+
# @param client [Dodopayments::Client]
|
91
|
+
def initialize(client:)
|
92
|
+
@client = client
|
93
|
+
@customer_portal = Dodopayments::Resources::Customers::CustomerPortal.new(client: client)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
@@ -0,0 +1,154 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Resources
|
5
|
+
class Discounts
|
6
|
+
# If `code` is omitted or empty, a random 16-char uppercase code is generated.
|
7
|
+
#
|
8
|
+
# @param params [Dodopayments::Models::DiscountCreateParams, Hash{Symbol=>Object}] .
|
9
|
+
#
|
10
|
+
# @option params [Integer] :amount The discount amount.
|
11
|
+
#
|
12
|
+
# - If `discount_type` is **not** `percentage`, `amount` is in **USD cents**. For
|
13
|
+
# example, `100` means `$1.00`. Only USD is allowed.
|
14
|
+
# - If `discount_type` **is** `percentage`, `amount` is in **basis points**. For
|
15
|
+
# example, `540` means `5.4%`.
|
16
|
+
#
|
17
|
+
# Must be at least 1.
|
18
|
+
#
|
19
|
+
# @option params [Symbol, Dodopayments::Models::DiscountType] :type
|
20
|
+
#
|
21
|
+
# @option params [String, nil] :code Optionally supply a code (will be uppercased).
|
22
|
+
#
|
23
|
+
# - Must be at least 3 characters if provided.
|
24
|
+
# - If omitted, a random 16-character code is generated.
|
25
|
+
#
|
26
|
+
# @option params [Time, nil] :expires_at When the discount expires, if ever.
|
27
|
+
#
|
28
|
+
# @option params [String, nil] :name
|
29
|
+
#
|
30
|
+
# @option params [Array<String>, nil] :restricted_to List of product IDs to restrict usage (if any).
|
31
|
+
#
|
32
|
+
# @option params [Integer, nil] :usage_limit How many times this discount can be used (if any). Must be >= 1 if provided.
|
33
|
+
#
|
34
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
35
|
+
#
|
36
|
+
# @return [Dodopayments::Models::Discount]
|
37
|
+
def create(params)
|
38
|
+
parsed, options = Dodopayments::Models::DiscountCreateParams.dump_request(params)
|
39
|
+
@client.request(
|
40
|
+
method: :post,
|
41
|
+
path: "discounts",
|
42
|
+
body: parsed,
|
43
|
+
model: Dodopayments::Models::Discount,
|
44
|
+
options: options
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
48
|
+
# GET /discounts/{discount_id}
|
49
|
+
#
|
50
|
+
# @param discount_id [String] Discount Id
|
51
|
+
#
|
52
|
+
# @param params [Dodopayments::Models::DiscountRetrieveParams, Hash{Symbol=>Object}] .
|
53
|
+
#
|
54
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
55
|
+
#
|
56
|
+
# @return [Dodopayments::Models::Discount]
|
57
|
+
def retrieve(discount_id, params = {})
|
58
|
+
@client.request(
|
59
|
+
method: :get,
|
60
|
+
path: ["discounts/%0s", discount_id],
|
61
|
+
model: Dodopayments::Models::Discount,
|
62
|
+
options: params[:request_options]
|
63
|
+
)
|
64
|
+
end
|
65
|
+
|
66
|
+
# PATCH /discounts/{discount_id}
|
67
|
+
#
|
68
|
+
# @param discount_id [String] Discount Id
|
69
|
+
#
|
70
|
+
# @param params [Dodopayments::Models::DiscountUpdateParams, Hash{Symbol=>Object}] .
|
71
|
+
#
|
72
|
+
# @option params [Integer, nil] :amount If present, update the discount amount:
|
73
|
+
#
|
74
|
+
# - If `discount_type` is `percentage`, this represents **basis points** (e.g.,
|
75
|
+
# `540` = `5.4%`).
|
76
|
+
# - Otherwise, this represents **USD cents** (e.g., `100` = `$1.00`).
|
77
|
+
#
|
78
|
+
# Must be at least 1 if provided.
|
79
|
+
#
|
80
|
+
# @option params [String, nil] :code If present, update the discount code (uppercase).
|
81
|
+
#
|
82
|
+
# @option params [Time, nil] :expires_at
|
83
|
+
#
|
84
|
+
# @option params [String, nil] :name
|
85
|
+
#
|
86
|
+
# @option params [Array<String>, nil] :restricted_to If present, replaces all restricted product IDs with this new set. To remove all
|
87
|
+
# restrictions, send empty array
|
88
|
+
#
|
89
|
+
# @option params [Symbol, Dodopayments::Models::DiscountType, nil] :type
|
90
|
+
#
|
91
|
+
# @option params [Integer, nil] :usage_limit
|
92
|
+
#
|
93
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
94
|
+
#
|
95
|
+
# @return [Dodopayments::Models::Discount]
|
96
|
+
def update(discount_id, params = {})
|
97
|
+
parsed, options = Dodopayments::Models::DiscountUpdateParams.dump_request(params)
|
98
|
+
@client.request(
|
99
|
+
method: :patch,
|
100
|
+
path: ["discounts/%0s", discount_id],
|
101
|
+
body: parsed,
|
102
|
+
model: Dodopayments::Models::Discount,
|
103
|
+
options: options
|
104
|
+
)
|
105
|
+
end
|
106
|
+
|
107
|
+
# GET /discounts
|
108
|
+
#
|
109
|
+
# @param params [Dodopayments::Models::DiscountListParams, Hash{Symbol=>Object}] .
|
110
|
+
#
|
111
|
+
# @option params [Integer, nil] :page_number Page number (default = 0).
|
112
|
+
#
|
113
|
+
# @option params [Integer, nil] :page_size Page size (default = 10, max = 100).
|
114
|
+
#
|
115
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
116
|
+
#
|
117
|
+
# @return [Dodopayments::DefaultPageNumberPagination<Dodopayments::Models::Discount>]
|
118
|
+
def list(params = {})
|
119
|
+
parsed, options = Dodopayments::Models::DiscountListParams.dump_request(params)
|
120
|
+
@client.request(
|
121
|
+
method: :get,
|
122
|
+
path: "discounts",
|
123
|
+
query: parsed,
|
124
|
+
page: Dodopayments::DefaultPageNumberPagination,
|
125
|
+
model: Dodopayments::Models::Discount,
|
126
|
+
options: options
|
127
|
+
)
|
128
|
+
end
|
129
|
+
|
130
|
+
# DELETE /discounts/{discount_id}
|
131
|
+
#
|
132
|
+
# @param discount_id [String] Discount Id
|
133
|
+
#
|
134
|
+
# @param params [Dodopayments::Models::DiscountDeleteParams, Hash{Symbol=>Object}] .
|
135
|
+
#
|
136
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
137
|
+
#
|
138
|
+
# @return [nil]
|
139
|
+
def delete(discount_id, params = {})
|
140
|
+
@client.request(
|
141
|
+
method: :delete,
|
142
|
+
path: ["discounts/%0s", discount_id],
|
143
|
+
model: NilClass,
|
144
|
+
options: params[:request_options]
|
145
|
+
)
|
146
|
+
end
|
147
|
+
|
148
|
+
# @param client [Dodopayments::Client]
|
149
|
+
def initialize(client:)
|
150
|
+
@client = client
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Resources
|
5
|
+
class Disputes
|
6
|
+
# @param dispute_id [String] Dispute Id
|
7
|
+
#
|
8
|
+
# @param params [Dodopayments::Models::DisputeRetrieveParams, Hash{Symbol=>Object}] .
|
9
|
+
#
|
10
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
11
|
+
#
|
12
|
+
# @return [Dodopayments::Models::Dispute]
|
13
|
+
def retrieve(dispute_id, params = {})
|
14
|
+
@client.request(
|
15
|
+
method: :get,
|
16
|
+
path: ["disputes/%0s", dispute_id],
|
17
|
+
model: Dodopayments::Models::Dispute,
|
18
|
+
options: params[:request_options]
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
# @param params [Dodopayments::Models::DisputeListParams, Hash{Symbol=>Object}] .
|
23
|
+
#
|
24
|
+
# @option params [Time, nil] :created_at_gte Get events after this created time
|
25
|
+
#
|
26
|
+
# @option params [Time, nil] :created_at_lte Get events created before this time
|
27
|
+
#
|
28
|
+
# @option params [String, nil] :customer_id Filter by customer_id
|
29
|
+
#
|
30
|
+
# @option params [Symbol, Dodopayments::Models::DisputeStage, nil] :dispute_stage Filter by dispute stage
|
31
|
+
#
|
32
|
+
# @option params [Symbol, Dodopayments::Models::DisputeStatus, nil] :dispute_status Filter by dispute status
|
33
|
+
#
|
34
|
+
# @option params [Integer, nil] :page_number Page number default is 0
|
35
|
+
#
|
36
|
+
# @option params [Integer, nil] :page_size Page size default is 10 max is 100
|
37
|
+
#
|
38
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
39
|
+
#
|
40
|
+
# @return [Dodopayments::DefaultPageNumberPagination<Dodopayments::Models::Dispute>]
|
41
|
+
def list(params = {})
|
42
|
+
parsed, options = Dodopayments::Models::DisputeListParams.dump_request(params)
|
43
|
+
@client.request(
|
44
|
+
method: :get,
|
45
|
+
path: "disputes",
|
46
|
+
query: parsed,
|
47
|
+
page: Dodopayments::DefaultPageNumberPagination,
|
48
|
+
model: Dodopayments::Models::Dispute,
|
49
|
+
options: options
|
50
|
+
)
|
51
|
+
end
|
52
|
+
|
53
|
+
# @param client [Dodopayments::Client]
|
54
|
+
def initialize(client:)
|
55
|
+
@client = client
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Resources
|
5
|
+
class Invoices
|
6
|
+
class Payments
|
7
|
+
# @param payment_id [String]
|
8
|
+
#
|
9
|
+
# @param params [Dodopayments::Models::Invoices::PaymentRetrieveParams, Hash{Symbol=>Object}] .
|
10
|
+
#
|
11
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
12
|
+
#
|
13
|
+
# @return [nil]
|
14
|
+
def retrieve(payment_id, params = {})
|
15
|
+
@client.request(
|
16
|
+
method: :get,
|
17
|
+
path: ["invoices/payments/%0s", payment_id],
|
18
|
+
model: NilClass,
|
19
|
+
options: params[:request_options]
|
20
|
+
)
|
21
|
+
end
|
22
|
+
|
23
|
+
# @param client [Dodopayments::Client]
|
24
|
+
def initialize(client:)
|
25
|
+
@client = client
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Resources
|
5
|
+
class Invoices
|
6
|
+
# @return [Dodopayments::Resources::Invoices::Payments]
|
7
|
+
attr_reader :payments
|
8
|
+
|
9
|
+
# @param client [Dodopayments::Client]
|
10
|
+
def initialize(client:)
|
11
|
+
@client = client
|
12
|
+
@payments = Dodopayments::Resources::Invoices::Payments.new(client: client)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Resources
|
5
|
+
class LicenseKeyInstances
|
6
|
+
# @param id [String] License key instance ID
|
7
|
+
#
|
8
|
+
# @param params [Dodopayments::Models::LicenseKeyInstanceRetrieveParams, Hash{Symbol=>Object}] .
|
9
|
+
#
|
10
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
11
|
+
#
|
12
|
+
# @return [Dodopayments::Models::LicenseKeyInstance]
|
13
|
+
def retrieve(id, params = {})
|
14
|
+
@client.request(
|
15
|
+
method: :get,
|
16
|
+
path: ["license_key_instances/%0s", id],
|
17
|
+
model: Dodopayments::Models::LicenseKeyInstance,
|
18
|
+
options: params[:request_options]
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
# @param id [String] License key instance ID
|
23
|
+
#
|
24
|
+
# @param params [Dodopayments::Models::LicenseKeyInstanceUpdateParams, Hash{Symbol=>Object}] .
|
25
|
+
#
|
26
|
+
# @option params [String] :name
|
27
|
+
#
|
28
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
29
|
+
#
|
30
|
+
# @return [Dodopayments::Models::LicenseKeyInstance]
|
31
|
+
def update(id, params)
|
32
|
+
parsed, options = Dodopayments::Models::LicenseKeyInstanceUpdateParams.dump_request(params)
|
33
|
+
@client.request(
|
34
|
+
method: :patch,
|
35
|
+
path: ["license_key_instances/%0s", id],
|
36
|
+
body: parsed,
|
37
|
+
model: Dodopayments::Models::LicenseKeyInstance,
|
38
|
+
options: options
|
39
|
+
)
|
40
|
+
end
|
41
|
+
|
42
|
+
# @param params [Dodopayments::Models::LicenseKeyInstanceListParams, Hash{Symbol=>Object}] .
|
43
|
+
#
|
44
|
+
# @option params [String, nil] :license_key_id Filter by license key ID
|
45
|
+
#
|
46
|
+
# @option params [Integer, nil] :page_number Page number default is 0
|
47
|
+
#
|
48
|
+
# @option params [Integer, nil] :page_size Page size default is 10 max is 100
|
49
|
+
#
|
50
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
51
|
+
#
|
52
|
+
# @return [Dodopayments::DefaultPageNumberPagination<Dodopayments::Models::LicenseKeyInstance>]
|
53
|
+
def list(params = {})
|
54
|
+
parsed, options = Dodopayments::Models::LicenseKeyInstanceListParams.dump_request(params)
|
55
|
+
@client.request(
|
56
|
+
method: :get,
|
57
|
+
path: "license_key_instances",
|
58
|
+
query: parsed,
|
59
|
+
page: Dodopayments::DefaultPageNumberPagination,
|
60
|
+
model: Dodopayments::Models::LicenseKeyInstance,
|
61
|
+
options: options
|
62
|
+
)
|
63
|
+
end
|
64
|
+
|
65
|
+
# @param client [Dodopayments::Client]
|
66
|
+
def initialize(client:)
|
67
|
+
@client = client
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Resources
|
5
|
+
class LicenseKeys
|
6
|
+
# @param id [String] License key ID
|
7
|
+
#
|
8
|
+
# @param params [Dodopayments::Models::LicenseKeyRetrieveParams, Hash{Symbol=>Object}] .
|
9
|
+
#
|
10
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
11
|
+
#
|
12
|
+
# @return [Dodopayments::Models::LicenseKey]
|
13
|
+
def retrieve(id, params = {})
|
14
|
+
@client.request(
|
15
|
+
method: :get,
|
16
|
+
path: ["license_keys/%0s", id],
|
17
|
+
model: Dodopayments::Models::LicenseKey,
|
18
|
+
options: params[:request_options]
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
# @param id [String] License key ID
|
23
|
+
#
|
24
|
+
# @param params [Dodopayments::Models::LicenseKeyUpdateParams, Hash{Symbol=>Object}] .
|
25
|
+
#
|
26
|
+
# @option params [Integer, nil] :activations_limit The updated activation limit for the license key. Use `null` to remove the
|
27
|
+
# limit, or omit this field to leave it unchanged.
|
28
|
+
#
|
29
|
+
# @option params [Boolean, nil] :disabled Indicates whether the license key should be disabled. A value of `true` disables
|
30
|
+
# the key, while `false` enables it. Omit this field to leave it unchanged.
|
31
|
+
#
|
32
|
+
# @option params [Time, nil] :expires_at The updated expiration timestamp for the license key in UTC. Use `null` to
|
33
|
+
# remove the expiration date, or omit this field to leave it unchanged.
|
34
|
+
#
|
35
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
36
|
+
#
|
37
|
+
# @return [Dodopayments::Models::LicenseKey]
|
38
|
+
def update(id, params = {})
|
39
|
+
parsed, options = Dodopayments::Models::LicenseKeyUpdateParams.dump_request(params)
|
40
|
+
@client.request(
|
41
|
+
method: :patch,
|
42
|
+
path: ["license_keys/%0s", id],
|
43
|
+
body: parsed,
|
44
|
+
model: Dodopayments::Models::LicenseKey,
|
45
|
+
options: options
|
46
|
+
)
|
47
|
+
end
|
48
|
+
|
49
|
+
# @param params [Dodopayments::Models::LicenseKeyListParams, Hash{Symbol=>Object}] .
|
50
|
+
#
|
51
|
+
# @option params [String, nil] :customer_id Filter by customer ID
|
52
|
+
#
|
53
|
+
# @option params [Integer, nil] :page_number Page number default is 0
|
54
|
+
#
|
55
|
+
# @option params [Integer, nil] :page_size Page size default is 10 max is 100
|
56
|
+
#
|
57
|
+
# @option params [String, nil] :product_id Filter by product ID
|
58
|
+
#
|
59
|
+
# @option params [Symbol, Dodopayments::Models::LicenseKeyStatus, nil] :status Filter by license key status
|
60
|
+
#
|
61
|
+
# @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
62
|
+
#
|
63
|
+
# @return [Dodopayments::DefaultPageNumberPagination<Dodopayments::Models::LicenseKey>]
|
64
|
+
def list(params = {})
|
65
|
+
parsed, options = Dodopayments::Models::LicenseKeyListParams.dump_request(params)
|
66
|
+
@client.request(
|
67
|
+
method: :get,
|
68
|
+
path: "license_keys",
|
69
|
+
query: parsed,
|
70
|
+
page: Dodopayments::DefaultPageNumberPagination,
|
71
|
+
model: Dodopayments::Models::LicenseKey,
|
72
|
+
options: options
|
73
|
+
)
|
74
|
+
end
|
75
|
+
|
76
|
+
# @param client [Dodopayments::Client]
|
77
|
+
def initialize(client:)
|
78
|
+
@client = client
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|