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,103 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
class BaseClient
|
3
|
+
type request_components =
|
4
|
+
{
|
5
|
+
method: Symbol,
|
6
|
+
path: String | ::Array[String],
|
7
|
+
query: ::Hash[String, (::Array[String] | String)?]?,
|
8
|
+
headers: ::Hash[String, (String
|
9
|
+
| Integer
|
10
|
+
| ::Array[(String | Integer)?])?]?,
|
11
|
+
body: top?,
|
12
|
+
unwrap: Symbol?,
|
13
|
+
page: Class?,
|
14
|
+
stream: Class?,
|
15
|
+
model: Dodopayments::Converter::input?,
|
16
|
+
options: Dodopayments::request_opts?
|
17
|
+
}
|
18
|
+
|
19
|
+
type request_input =
|
20
|
+
{
|
21
|
+
method: Symbol,
|
22
|
+
url: URI::Generic,
|
23
|
+
headers: ::Hash[String, String],
|
24
|
+
body: top,
|
25
|
+
max_retries: Integer,
|
26
|
+
timeout: Float
|
27
|
+
}
|
28
|
+
|
29
|
+
MAX_REDIRECTS: 20
|
30
|
+
|
31
|
+
PLATFORM_HEADERS: ::Hash[String, String]
|
32
|
+
|
33
|
+
def self.validate!: (
|
34
|
+
Dodopayments::BaseClient::request_components req
|
35
|
+
) -> void
|
36
|
+
|
37
|
+
def self.should_retry?: (
|
38
|
+
Integer status,
|
39
|
+
headers: ::Hash[String, String]
|
40
|
+
) -> bool
|
41
|
+
|
42
|
+
def self.follow_redirect: (
|
43
|
+
Dodopayments::BaseClient::request_input request,
|
44
|
+
status: Integer,
|
45
|
+
response_headers: ::Hash[String, String]
|
46
|
+
) -> Dodopayments::BaseClient::request_input
|
47
|
+
|
48
|
+
# @api private
|
49
|
+
attr_accessor requester: top
|
50
|
+
|
51
|
+
def initialize: (
|
52
|
+
base_url: String,
|
53
|
+
timeout: Float,
|
54
|
+
max_retries: Integer,
|
55
|
+
initial_retry_delay: Float,
|
56
|
+
max_retry_delay: Float,
|
57
|
+
headers: ::Hash[String, (String
|
58
|
+
| Integer
|
59
|
+
| ::Array[(String | Integer)?])?],
|
60
|
+
idempotency_header: String?
|
61
|
+
) -> void
|
62
|
+
|
63
|
+
private def auth_headers: -> ::Hash[String, String]
|
64
|
+
|
65
|
+
private def generate_idempotency_key: -> String
|
66
|
+
|
67
|
+
private def build_request: (
|
68
|
+
Dodopayments::BaseClient::request_components req,
|
69
|
+
Dodopayments::request_options opts
|
70
|
+
) -> Dodopayments::BaseClient::request_input
|
71
|
+
|
72
|
+
private def retry_delay: (
|
73
|
+
::Hash[String, String] headers,
|
74
|
+
retry_count: Integer
|
75
|
+
) -> Float
|
76
|
+
|
77
|
+
private def send_request: (
|
78
|
+
Dodopayments::BaseClient::request_input request,
|
79
|
+
redirect_count: Integer,
|
80
|
+
retry_count: Integer,
|
81
|
+
send_retry_header: bool
|
82
|
+
) -> [Integer, top, Enumerable[String]]
|
83
|
+
|
84
|
+
def request:
|
85
|
+
(
|
86
|
+
Symbol method,
|
87
|
+
String | ::Array[String] path,
|
88
|
+
query: ::Hash[String, (::Array[String] | String)?]?,
|
89
|
+
headers: ::Hash[String, (String
|
90
|
+
| Integer
|
91
|
+
| ::Array[(String | Integer)?])?]?,
|
92
|
+
body: top?,
|
93
|
+
unwrap: Symbol?,
|
94
|
+
page: Class?,
|
95
|
+
stream: Class?,
|
96
|
+
model: Dodopayments::Converter::input?,
|
97
|
+
options: Dodopayments::request_opts?
|
98
|
+
) -> top
|
99
|
+
| (Dodopayments::BaseClient::request_components req) -> top
|
100
|
+
|
101
|
+
def inspect: -> String
|
102
|
+
end
|
103
|
+
end
|
@@ -0,0 +1,246 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
module Converter
|
3
|
+
type input = Dodopayments::Converter | Class
|
4
|
+
|
5
|
+
def coerce: (top value) -> top
|
6
|
+
|
7
|
+
def dump: (top value) -> top
|
8
|
+
|
9
|
+
def try_strict_coerce: (
|
10
|
+
top value
|
11
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
12
|
+
|
13
|
+
def self.type_info: (
|
14
|
+
{
|
15
|
+
const: (nil | bool | Integer | Float | Symbol)?,
|
16
|
+
enum: ^-> Dodopayments::Converter::input?,
|
17
|
+
union: ^-> Dodopayments::Converter::input?
|
18
|
+
}
|
19
|
+
| ^-> Dodopayments::Converter::input
|
20
|
+
| Dodopayments::Converter::input spec
|
21
|
+
) -> (^-> top)
|
22
|
+
|
23
|
+
def self.coerce: (Dodopayments::Converter::input target, top value) -> top
|
24
|
+
|
25
|
+
def self.dump: (Dodopayments::Converter::input target, top value) -> top
|
26
|
+
|
27
|
+
def self.try_strict_coerce: (
|
28
|
+
Dodopayments::Converter::input target,
|
29
|
+
top value
|
30
|
+
) -> top
|
31
|
+
end
|
32
|
+
|
33
|
+
class Unknown
|
34
|
+
extend Dodopayments::Converter
|
35
|
+
|
36
|
+
def self.===: (top other) -> bool
|
37
|
+
|
38
|
+
def self.==: (top other) -> bool
|
39
|
+
|
40
|
+
def self.coerce: (top value) -> top
|
41
|
+
|
42
|
+
def self.dump: (top value) -> top
|
43
|
+
|
44
|
+
def self.try_strict_coerce: (
|
45
|
+
top value
|
46
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
47
|
+
end
|
48
|
+
|
49
|
+
class BooleanModel
|
50
|
+
extend Dodopayments::Converter
|
51
|
+
|
52
|
+
def self.===: (top other) -> bool
|
53
|
+
|
54
|
+
def self.==: (top other) -> bool
|
55
|
+
|
56
|
+
def self.coerce: (bool | top value) -> (bool | top)
|
57
|
+
|
58
|
+
def self.dump: (bool | top value) -> (bool | top)
|
59
|
+
|
60
|
+
def self.try_strict_coerce: (
|
61
|
+
top value
|
62
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
63
|
+
end
|
64
|
+
|
65
|
+
class Enum
|
66
|
+
extend Dodopayments::Converter
|
67
|
+
|
68
|
+
def self.values: -> ::Array[(nil | bool | Integer | Float | Symbol)]
|
69
|
+
|
70
|
+
private def self.finalize!: -> void
|
71
|
+
|
72
|
+
def self.===: (top other) -> bool
|
73
|
+
|
74
|
+
def self.==: (top other) -> bool
|
75
|
+
|
76
|
+
def self.coerce: (String | Symbol | top value) -> (Symbol | top)
|
77
|
+
|
78
|
+
def self.dump: (Symbol | top value) -> (Symbol | top)
|
79
|
+
|
80
|
+
def self.try_strict_coerce: (
|
81
|
+
top value
|
82
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
83
|
+
end
|
84
|
+
|
85
|
+
class Union
|
86
|
+
extend Dodopayments::Converter
|
87
|
+
|
88
|
+
private def self.known_variants: -> ::Array[[Symbol?, Proc]]
|
89
|
+
|
90
|
+
def self.derefed_variants: -> ::Array[[Symbol?, top]]
|
91
|
+
|
92
|
+
def self.variants: -> ::Array[top]
|
93
|
+
|
94
|
+
private def self.discriminator: (Symbol property) -> void
|
95
|
+
|
96
|
+
private def self.variant: (
|
97
|
+
Symbol
|
98
|
+
| ::Hash[Symbol, top]
|
99
|
+
| ^-> Dodopayments::Converter::input
|
100
|
+
| Dodopayments::Converter::input key,
|
101
|
+
?::Hash[Symbol, top]
|
102
|
+
| ^-> Dodopayments::Converter::input
|
103
|
+
| Dodopayments::Converter::input spec
|
104
|
+
) -> void
|
105
|
+
|
106
|
+
private def self.resolve_variant: (
|
107
|
+
top value
|
108
|
+
) -> Dodopayments::Converter::input?
|
109
|
+
|
110
|
+
def self.===: (top other) -> bool
|
111
|
+
|
112
|
+
def self.==: (top other) -> bool
|
113
|
+
|
114
|
+
def self.coerce: (top value) -> top
|
115
|
+
|
116
|
+
def self.dump: (top value) -> top
|
117
|
+
|
118
|
+
def self.try_strict_coerce: (
|
119
|
+
top value
|
120
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
121
|
+
end
|
122
|
+
|
123
|
+
class ArrayOf
|
124
|
+
include Dodopayments::Converter
|
125
|
+
|
126
|
+
def ===: (top other) -> bool
|
127
|
+
|
128
|
+
def ==: (top other) -> bool
|
129
|
+
|
130
|
+
def coerce: (Enumerable[top] | top value) -> (::Array[top] | top)
|
131
|
+
|
132
|
+
def dump: (Enumerable[top] | top value) -> (::Array[top] | top)
|
133
|
+
|
134
|
+
def try_strict_coerce: (
|
135
|
+
top value
|
136
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
137
|
+
|
138
|
+
def item_type: -> Dodopayments::Converter::input
|
139
|
+
|
140
|
+
def initialize: (
|
141
|
+
::Hash[Symbol, top]
|
142
|
+
| ^-> Dodopayments::Converter::input
|
143
|
+
| Dodopayments::Converter::input type_info,
|
144
|
+
?::Hash[Symbol, top] spec
|
145
|
+
) -> void
|
146
|
+
end
|
147
|
+
|
148
|
+
class HashOf
|
149
|
+
include Dodopayments::Converter
|
150
|
+
|
151
|
+
def ===: (top other) -> bool
|
152
|
+
|
153
|
+
def ==: (top other) -> bool
|
154
|
+
|
155
|
+
def coerce: (::Hash[top, top] | top value) -> (::Hash[Symbol, top] | top)
|
156
|
+
|
157
|
+
def dump: (::Hash[top, top] | top value) -> (::Hash[Symbol, top] | top)
|
158
|
+
|
159
|
+
def try_strict_coerce: (
|
160
|
+
top value
|
161
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
162
|
+
|
163
|
+
def item_type: -> Dodopayments::Converter::input
|
164
|
+
|
165
|
+
def initialize: (
|
166
|
+
::Hash[Symbol, top]
|
167
|
+
| ^-> Dodopayments::Converter::input
|
168
|
+
| Dodopayments::Converter::input type_info,
|
169
|
+
?::Hash[Symbol, top] spec
|
170
|
+
) -> void
|
171
|
+
end
|
172
|
+
|
173
|
+
class BaseModel
|
174
|
+
extend Dodopayments::Converter
|
175
|
+
|
176
|
+
type known_field = { mode: (:coerce | :dump)?, required: bool }
|
177
|
+
|
178
|
+
def self.known_fields: -> ::Hash[Symbol, (Dodopayments::BaseModel::known_field
|
179
|
+
& { type_fn: (^-> Dodopayments::Converter::input) })]
|
180
|
+
|
181
|
+
def self.fields: -> ::Hash[Symbol, (Dodopayments::BaseModel::known_field
|
182
|
+
& { type: Dodopayments::Converter::input })]
|
183
|
+
|
184
|
+
def self.defaults: -> ::Hash[Symbol, (^-> Class)]
|
185
|
+
|
186
|
+
private def self.add_field: (
|
187
|
+
Symbol name_sym,
|
188
|
+
required: bool,
|
189
|
+
type_info: {
|
190
|
+
const: (nil | bool | Integer | Float | Symbol)?,
|
191
|
+
enum: ^-> Dodopayments::Converter::input?,
|
192
|
+
union: ^-> Dodopayments::Converter::input?,
|
193
|
+
api_name: Symbol
|
194
|
+
}
|
195
|
+
| ^-> Dodopayments::Converter::input
|
196
|
+
| Dodopayments::Converter::input,
|
197
|
+
spec: ::Hash[Symbol, top]
|
198
|
+
) -> void
|
199
|
+
|
200
|
+
def self.required: (
|
201
|
+
Symbol name_sym,
|
202
|
+
::Hash[Symbol, top]
|
203
|
+
| ^-> Dodopayments::Converter::input
|
204
|
+
| Dodopayments::Converter::input type_info,
|
205
|
+
?::Hash[Symbol, top] spec
|
206
|
+
) -> void
|
207
|
+
|
208
|
+
def self.optional: (
|
209
|
+
Symbol name_sym,
|
210
|
+
::Hash[Symbol, top]
|
211
|
+
| ^-> Dodopayments::Converter::input
|
212
|
+
| Dodopayments::Converter::input type_info,
|
213
|
+
?::Hash[Symbol, top] spec
|
214
|
+
) -> void
|
215
|
+
|
216
|
+
private def self.request_only: { -> void } -> void
|
217
|
+
|
218
|
+
private def self.response_only: { -> void } -> void
|
219
|
+
|
220
|
+
def ==: (top other) -> bool
|
221
|
+
|
222
|
+
def self.coerce: (
|
223
|
+
Dodopayments::BaseModel | ::Hash[top, top] | top value
|
224
|
+
) -> (instance | top)
|
225
|
+
|
226
|
+
def self.dump: (instance | top value) -> (::Hash[top, top] | top)
|
227
|
+
|
228
|
+
def self.try_strict_coerce: (
|
229
|
+
top value
|
230
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
231
|
+
|
232
|
+
def []: (Symbol key) -> top?
|
233
|
+
|
234
|
+
def to_h: -> ::Hash[Symbol, top]
|
235
|
+
|
236
|
+
alias to_hash to_h
|
237
|
+
|
238
|
+
def deconstruct_keys: (::Array[Symbol]? keys) -> ::Hash[Symbol, top]
|
239
|
+
|
240
|
+
def initialize: (?::Hash[Symbol, top] | self data) -> void
|
241
|
+
|
242
|
+
def to_s: -> String
|
243
|
+
|
244
|
+
def inspect: -> String
|
245
|
+
end
|
246
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
module BasePage[Elem]
|
3
|
+
def next_page?: -> bool
|
4
|
+
|
5
|
+
def next_page: -> self
|
6
|
+
|
7
|
+
def auto_paging_each: { (Elem arg0) -> void } -> void
|
8
|
+
|
9
|
+
def to_enum: -> Enumerable[Elem]
|
10
|
+
|
11
|
+
alias enum_for to_enum
|
12
|
+
|
13
|
+
def initialize: (
|
14
|
+
client: Dodopayments::BaseClient,
|
15
|
+
req: Dodopayments::BaseClient::request_components,
|
16
|
+
headers: ::Hash[String, String],
|
17
|
+
page_data: top
|
18
|
+
) -> void
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
class Client < Dodopayments::BaseClient
|
3
|
+
DEFAULT_MAX_RETRIES: 2
|
4
|
+
|
5
|
+
DEFAULT_TIMEOUT_IN_SECONDS: Float
|
6
|
+
|
7
|
+
DEFAULT_INITIAL_RETRY_DELAY: Float
|
8
|
+
|
9
|
+
DEFAULT_MAX_RETRY_DELAY: Float
|
10
|
+
|
11
|
+
ENVIRONMENTS: {
|
12
|
+
live_mode: "https://live.dodopayments.com",
|
13
|
+
test_mode: "https://test.dodopayments.com"
|
14
|
+
}
|
15
|
+
|
16
|
+
attr_reader bearer_token: String
|
17
|
+
|
18
|
+
attr_reader payments: Dodopayments::Resources::Payments
|
19
|
+
|
20
|
+
attr_reader subscriptions: Dodopayments::Resources::Subscriptions
|
21
|
+
|
22
|
+
attr_reader invoices: Dodopayments::Resources::Invoices
|
23
|
+
|
24
|
+
attr_reader licenses: Dodopayments::Resources::Licenses
|
25
|
+
|
26
|
+
attr_reader license_keys: Dodopayments::Resources::LicenseKeys
|
27
|
+
|
28
|
+
attr_reader license_key_instances: Dodopayments::Resources::LicenseKeyInstances
|
29
|
+
|
30
|
+
attr_reader customers: Dodopayments::Resources::Customers
|
31
|
+
|
32
|
+
attr_reader refunds: Dodopayments::Resources::Refunds
|
33
|
+
|
34
|
+
attr_reader disputes: Dodopayments::Resources::Disputes
|
35
|
+
|
36
|
+
attr_reader payouts: Dodopayments::Resources::Payouts
|
37
|
+
|
38
|
+
attr_reader webhook_events: Dodopayments::Resources::WebhookEvents
|
39
|
+
|
40
|
+
attr_reader products: Dodopayments::Resources::Products
|
41
|
+
|
42
|
+
attr_reader misc: Dodopayments::Resources::Misc
|
43
|
+
|
44
|
+
attr_reader discounts: Dodopayments::Resources::Discounts
|
45
|
+
|
46
|
+
private def auth_headers: -> ::Hash[String, String]
|
47
|
+
|
48
|
+
def initialize: (
|
49
|
+
environment: :live_mode | :test_mode | nil,
|
50
|
+
base_url: String?,
|
51
|
+
bearer_token: String?,
|
52
|
+
max_retries: Integer,
|
53
|
+
timeout: Float,
|
54
|
+
initial_retry_delay: Float,
|
55
|
+
max_retry_delay: Float
|
56
|
+
) -> void
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
class Error < StandardError
|
3
|
+
attr_accessor cause: StandardError?
|
4
|
+
end
|
5
|
+
|
6
|
+
class ConversionError < Dodopayments::Error
|
7
|
+
end
|
8
|
+
|
9
|
+
class APIError < Dodopayments::Error
|
10
|
+
attr_accessor url: URI::Generic
|
11
|
+
|
12
|
+
attr_accessor status: Integer?
|
13
|
+
|
14
|
+
attr_accessor body: top?
|
15
|
+
|
16
|
+
def initialize: (
|
17
|
+
url: URI::Generic,
|
18
|
+
status: Integer?,
|
19
|
+
body: Object?,
|
20
|
+
request: nil,
|
21
|
+
response: nil,
|
22
|
+
message: String?
|
23
|
+
) -> void
|
24
|
+
end
|
25
|
+
|
26
|
+
class APIConnectionError < Dodopayments::APIError
|
27
|
+
def initialize: (
|
28
|
+
url: URI::Generic,
|
29
|
+
status: nil,
|
30
|
+
body: nil,
|
31
|
+
request: nil,
|
32
|
+
response: nil,
|
33
|
+
message: String?
|
34
|
+
) -> void
|
35
|
+
end
|
36
|
+
|
37
|
+
class APITimeoutError < Dodopayments::APIConnectionError
|
38
|
+
def initialize: (
|
39
|
+
url: URI::Generic,
|
40
|
+
status: nil,
|
41
|
+
body: nil,
|
42
|
+
request: nil,
|
43
|
+
response: nil,
|
44
|
+
message: String?
|
45
|
+
) -> void
|
46
|
+
end
|
47
|
+
|
48
|
+
class APIStatusError < Dodopayments::APIError
|
49
|
+
def self.for: (
|
50
|
+
url: URI::Generic,
|
51
|
+
status: Integer,
|
52
|
+
body: Object?,
|
53
|
+
request: nil,
|
54
|
+
response: nil,
|
55
|
+
message: String?
|
56
|
+
) -> instance
|
57
|
+
|
58
|
+
def initialize: (
|
59
|
+
url: URI::Generic,
|
60
|
+
status: Integer,
|
61
|
+
body: Object?,
|
62
|
+
request: nil,
|
63
|
+
response: nil,
|
64
|
+
message: String?
|
65
|
+
) -> void
|
66
|
+
end
|
67
|
+
|
68
|
+
class BadRequestError < Dodopayments::APIStatusError
|
69
|
+
HTTP_STATUS: 400
|
70
|
+
end
|
71
|
+
|
72
|
+
class AuthenticationError < Dodopayments::APIStatusError
|
73
|
+
HTTP_STATUS: 401
|
74
|
+
end
|
75
|
+
|
76
|
+
class PermissionDeniedError < Dodopayments::APIStatusError
|
77
|
+
HTTP_STATUS: 403
|
78
|
+
end
|
79
|
+
|
80
|
+
class NotFoundError < Dodopayments::APIStatusError
|
81
|
+
HTTP_STATUS: 404
|
82
|
+
end
|
83
|
+
|
84
|
+
class ConflictError < Dodopayments::APIStatusError
|
85
|
+
HTTP_STATUS: 409
|
86
|
+
end
|
87
|
+
|
88
|
+
class UnprocessableEntityError < Dodopayments::APIStatusError
|
89
|
+
HTTP_STATUS: 422
|
90
|
+
end
|
91
|
+
|
92
|
+
class RateLimitError < Dodopayments::APIStatusError
|
93
|
+
HTTP_STATUS: 429
|
94
|
+
end
|
95
|
+
|
96
|
+
class InternalServerError < Dodopayments::APIStatusError
|
97
|
+
HTTP_STATUS: Range[Integer]
|
98
|
+
end
|
99
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
module Models
|
3
|
+
type attach_existing_customer = { customer_id: String }
|
4
|
+
|
5
|
+
class AttachExistingCustomer < Dodopayments::BaseModel
|
6
|
+
attr_accessor customer_id: String
|
7
|
+
|
8
|
+
def initialize:
|
9
|
+
(customer_id: String) -> void
|
10
|
+
| (
|
11
|
+
?Dodopayments::Models::attach_existing_customer
|
12
|
+
| Dodopayments::BaseModel data
|
13
|
+
) -> void
|
14
|
+
|
15
|
+
def to_hash: -> Dodopayments::Models::attach_existing_customer
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
module Models
|
3
|
+
type billing_address =
|
4
|
+
{
|
5
|
+
city: String,
|
6
|
+
country: Dodopayments::Models::country_code,
|
7
|
+
state: String,
|
8
|
+
street: String,
|
9
|
+
zipcode: String
|
10
|
+
}
|
11
|
+
|
12
|
+
class BillingAddress < Dodopayments::BaseModel
|
13
|
+
attr_accessor city: String
|
14
|
+
|
15
|
+
attr_accessor country: Dodopayments::Models::country_code
|
16
|
+
|
17
|
+
attr_accessor state: String
|
18
|
+
|
19
|
+
attr_accessor street: String
|
20
|
+
|
21
|
+
attr_accessor zipcode: String
|
22
|
+
|
23
|
+
def initialize:
|
24
|
+
(
|
25
|
+
city: String,
|
26
|
+
country: Dodopayments::Models::country_code,
|
27
|
+
state: String,
|
28
|
+
street: String,
|
29
|
+
zipcode: String
|
30
|
+
) -> void
|
31
|
+
| (
|
32
|
+
?Dodopayments::Models::billing_address | Dodopayments::BaseModel data
|
33
|
+
) -> void
|
34
|
+
|
35
|
+
def to_hash: -> Dodopayments::Models::billing_address
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|