dodopayments 1.55.0__tar.gz → 1.56.0__tar.gz
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.
Potentially problematic release.
This version of dodopayments might be problematic. Click here for more details.
- dodopayments-1.56.0/.release-please-manifest.json +3 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/CHANGELOG.md +21 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/PKG-INFO +4 -2
- {dodopayments-1.55.0 → dodopayments-1.56.0}/api.md +56 -9
- {dodopayments-1.55.0 → dodopayments-1.56.0}/pyproject.toml +3 -2
- {dodopayments-1.55.0 → dodopayments-1.56.0}/requirements-dev.lock +14 -1
- {dodopayments-1.55.0 → dodopayments-1.56.0}/requirements.lock +17 -1
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/__init__.py +2 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_client.py +22 -2
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_exceptions.py +4 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_version.py +1 -1
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/webhooks/webhooks.py +76 -1
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/__init__.py +25 -0
- dodopayments-1.56.0/src/dodopayments/types/dispute_accepted_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/dispute_accepted_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/dispute_cancelled_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/dispute_cancelled_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/dispute_challenged_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/dispute_challenged_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/dispute_expired_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/dispute_expired_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/dispute_lost_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/dispute_lost_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/dispute_opened_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/dispute_opened_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/dispute_won_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/dispute_won_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/license_key_created_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/license_key_created_webhook_event1.py +29 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/new_customer_param.py +7 -1
- dodopayments-1.56.0/src/dodopayments/types/payment_cancelled_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/payment_cancelled_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/payment_failed_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/payment_failed_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/payment_processing_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/payment_processing_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/payment_succeeded_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/payment_succeeded_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/refund_failed_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/refund_failed_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/refund_succeeded_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/refund_succeeded_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/subscription_active_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/subscription_active_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/subscription_cancelled_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/subscription_cancelled_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/subscription_expired_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/subscription_expired_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/subscription_failed_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/subscription_failed_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/subscription_on_hold_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/subscription_on_hold_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/subscription_plan_changed_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/subscription_plan_changed_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/subscription_renewed_webhook_event.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/subscription_renewed_webhook_event1.py +29 -0
- dodopayments-1.56.0/src/dodopayments/types/unsafe_unwrap_webhook_event.py +52 -0
- dodopayments-1.56.0/src/dodopayments/types/unwrap_webhook_event.py +52 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_webhooks.py +58 -0
- dodopayments-1.55.0/.release-please-manifest.json +0 -3
- {dodopayments-1.55.0 → dodopayments-1.56.0}/.gitignore +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/CONTRIBUTING.md +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/LICENSE +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/README.md +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/SECURITY.md +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/bin/check-release-environment +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/bin/publish-pypi +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/examples/.keep +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/noxfile.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/release-please-config.json +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodo_payments/lib/.keep +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_base_client.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_compat.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_constants.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_files.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_models.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_qs.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_resource.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_streaming.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_types.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_utils/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_utils/_compat.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_utils/_datetime_parse.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_utils/_logs.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_utils/_proxy.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_utils/_reflection.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_utils/_resources_proxy.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_utils/_streams.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_utils/_sync.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_utils/_transform.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_utils/_typing.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/_utils/_utils.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/lib/.keep +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/pagination.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/py.typed +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/addons.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/brands.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/checkout_sessions.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/customers/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/customers/customer_portal.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/customers/customers.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/customers/wallets/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/customers/wallets/ledger_entries.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/customers/wallets/wallets.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/discounts.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/disputes.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/invoices/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/invoices/invoices.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/invoices/payments.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/license_key_instances.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/license_keys.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/licenses.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/meters.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/misc.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/payments.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/payouts.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/products/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/products/images.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/products/products.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/refunds.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/subscriptions.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/usage_events.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/webhooks/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/resources/webhooks/headers.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/add_meter_to_price.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/add_meter_to_price_param.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/addon_cart_response_item.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/addon_create_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/addon_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/addon_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/addon_update_images_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/addon_update_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/attach_addon_param.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/attach_existing_customer_param.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/billing_address.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/billing_address_param.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/brand.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/brand_create_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/brand_list_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/brand_update_images_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/brand_update_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/checkout_session_create_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/checkout_session_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/country_code.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/currency.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customer.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customer_create_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customer_limited_details.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customer_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customer_portal_session.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customer_request_param.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customer_update_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customers/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customers/customer_portal_create_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customers/customer_wallet.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customers/wallet_list_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customers/wallets/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customers/wallets/customer_wallet_transaction.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customers/wallets/ledger_entry_create_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/customers/wallets/ledger_entry_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/discount.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/discount_create_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/discount_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/discount_type.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/discount_update_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/dispute.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/dispute_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/dispute_list_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/dispute_stage.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/dispute_status.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/event.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/event_input_param.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/get_dispute.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/intent_status.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/invoices/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/license_activate_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/license_activate_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/license_deactivate_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/license_key.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/license_key_duration.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/license_key_duration_param.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/license_key_instance.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/license_key_instance_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/license_key_instance_update_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/license_key_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/license_key_status.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/license_key_update_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/license_validate_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/license_validate_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/meter.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/meter_aggregation.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/meter_aggregation_param.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/meter_create_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/meter_filter.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/meter_filter_param.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/meter_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/misc_list_supported_countries_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/on_demand_subscription_param.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/one_time_product_cart_item.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/one_time_product_cart_item_param.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/payment.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/payment_create_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/payment_create_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/payment_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/payment_list_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/payment_method_types.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/payment_retrieve_line_items_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/payout_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/payout_list_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/price.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/price_param.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/product.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/product_create_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/product_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/product_list_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/product_update_files_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/product_update_files_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/product_update_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/products/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/products/image_update_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/products/image_update_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/refund.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/refund_create_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/refund_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/refund_list_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/refund_status.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/subscription.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/subscription_change_plan_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/subscription_charge_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/subscription_charge_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/subscription_create_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/subscription_create_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/subscription_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/subscription_list_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/subscription_retrieve_usage_history_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/subscription_retrieve_usage_history_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/subscription_status.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/subscription_update_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/tax_category.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/time_interval.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/usage_event_ingest_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/usage_event_ingest_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/usage_event_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/webhook_create_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/webhook_details.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/webhook_event_type.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/webhook_list_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/webhook_retrieve_secret_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/webhook_update_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/webhooks/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/webhooks/header_retrieve_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/src/dodopayments/types/webhooks/header_update_params.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/customers/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/customers/test_customer_portal.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/customers/test_wallets.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/customers/wallets/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/customers/wallets/test_ledger_entries.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/invoices/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/invoices/test_payments.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/products/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/products/test_images.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_addons.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_brands.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_checkout_sessions.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_customers.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_discounts.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_disputes.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_license_key_instances.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_license_keys.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_licenses.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_meters.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_misc.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_payments.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_payouts.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_products.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_refunds.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_subscriptions.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/test_usage_events.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/webhooks/__init__.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/api_resources/webhooks/test_headers.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/conftest.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/sample_file.txt +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/test_client.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/test_deepcopy.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/test_extract_files.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/test_files.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/test_models.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/test_qs.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/test_required_args.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/test_response.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/test_streaming.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/test_transform.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/test_utils/test_proxy.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/test_utils/test_typing.py +0 -0
- {dodopayments-1.55.0 → dodopayments-1.56.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.56.0 (2025-10-25)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v1.55.7...v1.56.0](https://github.com/dodopayments/dodopayments-python/compare/v1.55.7...v1.56.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** added unwrap functions for webhooks ([9bf339a](https://github.com/dodopayments/dodopayments-python/commit/9bf339a52c8660f603de53d68be20304e46cae57))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Chores
|
|
13
|
+
|
|
14
|
+
* bump `httpx-aiohttp` version to 0.1.9 ([e4792b3](https://github.com/dodopayments/dodopayments-python/commit/e4792b35b4bcf7365c815f3543eac7a5bda724ad))
|
|
15
|
+
|
|
16
|
+
## 1.55.7 (2025-10-17)
|
|
17
|
+
|
|
18
|
+
Full Changelog: [v1.55.0...v1.55.7](https://github.com/dodopayments/dodopayments-python/compare/v1.55.0...v1.55.7)
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* **api:** updates for openapi spec v1.55.7 ([852a16f](https://github.com/dodopayments/dodopayments-python/commit/852a16ff188fe1ac4e7f4f555333844ad9f8157c))
|
|
23
|
+
|
|
3
24
|
## 1.55.0 (2025-10-16)
|
|
4
25
|
|
|
5
26
|
Full Changelog: [v1.53.5...v1.55.0](https://github.com/dodopayments/dodopayments-python/compare/v1.53.5...v1.55.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: dodopayments
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.56.0
|
|
4
4
|
Summary: The official Python library for the Dodo Payments API
|
|
5
5
|
Project-URL: Homepage, https://github.com/dodopayments/dodopayments-python
|
|
6
6
|
Project-URL: Repository, https://github.com/dodopayments/dodopayments-python
|
|
@@ -30,7 +30,9 @@ Requires-Dist: sniffio
|
|
|
30
30
|
Requires-Dist: typing-extensions<5,>=4.10
|
|
31
31
|
Provides-Extra: aiohttp
|
|
32
32
|
Requires-Dist: aiohttp; extra == 'aiohttp'
|
|
33
|
-
Requires-Dist: httpx-aiohttp>=0.1.
|
|
33
|
+
Requires-Dist: httpx-aiohttp>=0.1.9; extra == 'aiohttp'
|
|
34
|
+
Provides-Extra: webhooks
|
|
35
|
+
Requires-Dist: standardwebhooks; extra == 'webhooks'
|
|
34
36
|
Description-Content-Type: text/markdown
|
|
35
37
|
|
|
36
38
|
# Dodo Payments Python API library
|
|
@@ -204,14 +204,6 @@ Methods:
|
|
|
204
204
|
|
|
205
205
|
- <code title="get /payouts">client.payouts.<a href="./src/dodopayments/resources/payouts.py">list</a>(\*\*<a href="src/dodopayments/types/payout_list_params.py">params</a>) -> <a href="./src/dodopayments/types/payout_list_response.py">SyncDefaultPageNumberPagination[PayoutListResponse]</a></code>
|
|
206
206
|
|
|
207
|
-
# WebhookEvents
|
|
208
|
-
|
|
209
|
-
Types:
|
|
210
|
-
|
|
211
|
-
```python
|
|
212
|
-
from dodopayments.types import WebhookEventType, WebhookPayload
|
|
213
|
-
```
|
|
214
|
-
|
|
215
207
|
# Products
|
|
216
208
|
|
|
217
209
|
Types:
|
|
@@ -319,7 +311,54 @@ Methods:
|
|
|
319
311
|
Types:
|
|
320
312
|
|
|
321
313
|
```python
|
|
322
|
-
from dodopayments.types import
|
|
314
|
+
from dodopayments.types import (
|
|
315
|
+
WebhookDetails,
|
|
316
|
+
WebhookRetrieveSecretResponse,
|
|
317
|
+
DisputeAcceptedWebhookEvent,
|
|
318
|
+
DisputeCancelledWebhookEvent,
|
|
319
|
+
DisputeChallengedWebhookEvent,
|
|
320
|
+
DisputeExpiredWebhookEvent,
|
|
321
|
+
DisputeLostWebhookEvent,
|
|
322
|
+
DisputeOpenedWebhookEvent,
|
|
323
|
+
DisputeWonWebhookEvent,
|
|
324
|
+
LicenseKeyCreatedWebhookEvent,
|
|
325
|
+
PaymentCancelledWebhookEvent,
|
|
326
|
+
PaymentFailedWebhookEvent,
|
|
327
|
+
PaymentProcessingWebhookEvent,
|
|
328
|
+
PaymentSucceededWebhookEvent,
|
|
329
|
+
RefundFailedWebhookEvent,
|
|
330
|
+
RefundSucceededWebhookEvent,
|
|
331
|
+
SubscriptionActiveWebhookEvent,
|
|
332
|
+
SubscriptionCancelledWebhookEvent,
|
|
333
|
+
SubscriptionExpiredWebhookEvent,
|
|
334
|
+
SubscriptionFailedWebhookEvent,
|
|
335
|
+
SubscriptionOnHoldWebhookEvent,
|
|
336
|
+
SubscriptionPlanChangedWebhookEvent,
|
|
337
|
+
SubscriptionRenewedWebhookEvent,
|
|
338
|
+
DisputeAcceptedWebhookEvent,
|
|
339
|
+
DisputeCancelledWebhookEvent,
|
|
340
|
+
DisputeChallengedWebhookEvent,
|
|
341
|
+
DisputeExpiredWebhookEvent,
|
|
342
|
+
DisputeLostWebhookEvent,
|
|
343
|
+
DisputeOpenedWebhookEvent,
|
|
344
|
+
DisputeWonWebhookEvent,
|
|
345
|
+
LicenseKeyCreatedWebhookEvent,
|
|
346
|
+
PaymentCancelledWebhookEvent,
|
|
347
|
+
PaymentFailedWebhookEvent,
|
|
348
|
+
PaymentProcessingWebhookEvent,
|
|
349
|
+
PaymentSucceededWebhookEvent,
|
|
350
|
+
RefundFailedWebhookEvent,
|
|
351
|
+
RefundSucceededWebhookEvent,
|
|
352
|
+
SubscriptionActiveWebhookEvent,
|
|
353
|
+
SubscriptionCancelledWebhookEvent,
|
|
354
|
+
SubscriptionExpiredWebhookEvent,
|
|
355
|
+
SubscriptionFailedWebhookEvent,
|
|
356
|
+
SubscriptionOnHoldWebhookEvent,
|
|
357
|
+
SubscriptionPlanChangedWebhookEvent,
|
|
358
|
+
SubscriptionRenewedWebhookEvent,
|
|
359
|
+
UnsafeUnwrapWebhookEvent,
|
|
360
|
+
UnwrapWebhookEvent,
|
|
361
|
+
)
|
|
323
362
|
```
|
|
324
363
|
|
|
325
364
|
Methods:
|
|
@@ -344,6 +383,14 @@ Methods:
|
|
|
344
383
|
- <code title="get /webhooks/{webhook_id}/headers">client.webhooks.headers.<a href="./src/dodopayments/resources/webhooks/headers.py">retrieve</a>(webhook_id) -> <a href="./src/dodopayments/types/webhooks/header_retrieve_response.py">HeaderRetrieveResponse</a></code>
|
|
345
384
|
- <code title="patch /webhooks/{webhook_id}/headers">client.webhooks.headers.<a href="./src/dodopayments/resources/webhooks/headers.py">update</a>(webhook_id, \*\*<a href="src/dodopayments/types/webhooks/header_update_params.py">params</a>) -> None</code>
|
|
346
385
|
|
|
386
|
+
# WebhookEvents
|
|
387
|
+
|
|
388
|
+
Types:
|
|
389
|
+
|
|
390
|
+
```python
|
|
391
|
+
from dodopayments.types import WebhookEventType, WebhookPayload
|
|
392
|
+
```
|
|
393
|
+
|
|
347
394
|
# UsageEvents
|
|
348
395
|
|
|
349
396
|
Types:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "dodopayments"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.56.0"
|
|
4
4
|
description = "The official Python library for the Dodo Payments API"
|
|
5
5
|
dynamic = ["readme"]
|
|
6
6
|
license = "Apache-2.0"
|
|
@@ -39,7 +39,8 @@ Homepage = "https://github.com/dodopayments/dodopayments-python"
|
|
|
39
39
|
Repository = "https://github.com/dodopayments/dodopayments-python"
|
|
40
40
|
|
|
41
41
|
[project.optional-dependencies]
|
|
42
|
-
aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.
|
|
42
|
+
aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]
|
|
43
|
+
webhooks = ["standardwebhooks"]
|
|
43
44
|
|
|
44
45
|
[tool.rye]
|
|
45
46
|
managed = true
|
|
@@ -28,11 +28,14 @@ async-timeout==5.0.1
|
|
|
28
28
|
# via aiohttp
|
|
29
29
|
attrs==25.3.0
|
|
30
30
|
# via aiohttp
|
|
31
|
+
# via standardwebhooks
|
|
31
32
|
certifi==2023.7.22
|
|
32
33
|
# via httpcore
|
|
33
34
|
# via httpx
|
|
34
35
|
colorlog==6.7.0
|
|
35
36
|
# via nox
|
|
37
|
+
deprecated==1.2.18
|
|
38
|
+
# via standardwebhooks
|
|
36
39
|
dirty-equals==0.6.0
|
|
37
40
|
distlib==0.3.7
|
|
38
41
|
# via virtualenv
|
|
@@ -56,7 +59,8 @@ httpx==0.28.1
|
|
|
56
59
|
# via dodopayments
|
|
57
60
|
# via httpx-aiohttp
|
|
58
61
|
# via respx
|
|
59
|
-
|
|
62
|
+
# via standardwebhooks
|
|
63
|
+
httpx-aiohttp==0.1.9
|
|
60
64
|
# via dodopayments
|
|
61
65
|
idna==3.4
|
|
62
66
|
# via anyio
|
|
@@ -101,6 +105,7 @@ pytest==8.3.3
|
|
|
101
105
|
pytest-asyncio==0.24.0
|
|
102
106
|
pytest-xdist==3.7.0
|
|
103
107
|
python-dateutil==2.8.2
|
|
108
|
+
# via standardwebhooks
|
|
104
109
|
# via time-machine
|
|
105
110
|
pytz==2023.3.post1
|
|
106
111
|
# via dirty-equals
|
|
@@ -114,10 +119,16 @@ six==1.16.0
|
|
|
114
119
|
sniffio==1.3.0
|
|
115
120
|
# via anyio
|
|
116
121
|
# via dodopayments
|
|
122
|
+
standardwebhooks==1.0.0
|
|
123
|
+
# via dodopayments
|
|
117
124
|
time-machine==2.9.0
|
|
118
125
|
tomli==2.0.2
|
|
119
126
|
# via mypy
|
|
120
127
|
# via pytest
|
|
128
|
+
types-deprecated==1.2.15.20250304
|
|
129
|
+
# via standardwebhooks
|
|
130
|
+
types-python-dateutil==2.9.0.20251008
|
|
131
|
+
# via standardwebhooks
|
|
121
132
|
typing-extensions==4.12.2
|
|
122
133
|
# via anyio
|
|
123
134
|
# via dodopayments
|
|
@@ -131,6 +142,8 @@ typing-inspection==0.4.1
|
|
|
131
142
|
# via pydantic
|
|
132
143
|
virtualenv==20.24.5
|
|
133
144
|
# via nox
|
|
145
|
+
wrapt==1.17.3
|
|
146
|
+
# via deprecated
|
|
134
147
|
yarl==1.20.0
|
|
135
148
|
# via aiohttp
|
|
136
149
|
zipp==3.17.0
|
|
@@ -26,9 +26,12 @@ async-timeout==5.0.1
|
|
|
26
26
|
# via aiohttp
|
|
27
27
|
attrs==25.3.0
|
|
28
28
|
# via aiohttp
|
|
29
|
+
# via standardwebhooks
|
|
29
30
|
certifi==2023.7.22
|
|
30
31
|
# via httpcore
|
|
31
32
|
# via httpx
|
|
33
|
+
deprecated==1.2.18
|
|
34
|
+
# via standardwebhooks
|
|
32
35
|
distro==1.8.0
|
|
33
36
|
# via dodopayments
|
|
34
37
|
exceptiongroup==1.2.2
|
|
@@ -43,7 +46,8 @@ httpcore==1.0.9
|
|
|
43
46
|
httpx==0.28.1
|
|
44
47
|
# via dodopayments
|
|
45
48
|
# via httpx-aiohttp
|
|
46
|
-
|
|
49
|
+
# via standardwebhooks
|
|
50
|
+
httpx-aiohttp==0.1.9
|
|
47
51
|
# via dodopayments
|
|
48
52
|
idna==3.4
|
|
49
53
|
# via anyio
|
|
@@ -59,9 +63,19 @@ pydantic==2.11.9
|
|
|
59
63
|
# via dodopayments
|
|
60
64
|
pydantic-core==2.33.2
|
|
61
65
|
# via pydantic
|
|
66
|
+
python-dateutil==2.9.0.post0
|
|
67
|
+
# via standardwebhooks
|
|
68
|
+
six==1.17.0
|
|
69
|
+
# via python-dateutil
|
|
62
70
|
sniffio==1.3.0
|
|
63
71
|
# via anyio
|
|
64
72
|
# via dodopayments
|
|
73
|
+
standardwebhooks==1.0.0
|
|
74
|
+
# via dodopayments
|
|
75
|
+
types-deprecated==1.2.15.20250304
|
|
76
|
+
# via standardwebhooks
|
|
77
|
+
types-python-dateutil==2.9.0.20251008
|
|
78
|
+
# via standardwebhooks
|
|
65
79
|
typing-extensions==4.12.2
|
|
66
80
|
# via anyio
|
|
67
81
|
# via dodopayments
|
|
@@ -71,5 +85,7 @@ typing-extensions==4.12.2
|
|
|
71
85
|
# via typing-inspection
|
|
72
86
|
typing-inspection==0.4.1
|
|
73
87
|
# via pydantic
|
|
88
|
+
wrapt==1.17.3
|
|
89
|
+
# via deprecated
|
|
74
90
|
yarl==1.20.0
|
|
75
91
|
# via aiohttp
|
|
@@ -35,6 +35,7 @@ from ._exceptions import (
|
|
|
35
35
|
InternalServerError,
|
|
36
36
|
PermissionDeniedError,
|
|
37
37
|
UnprocessableEntityError,
|
|
38
|
+
APIWebhookValidationError,
|
|
38
39
|
APIResponseValidationError,
|
|
39
40
|
)
|
|
40
41
|
from ._base_client import DefaultHttpxClient, DefaultAioHttpClient, DefaultAsyncHttpxClient
|
|
@@ -58,6 +59,7 @@ __all__ = [
|
|
|
58
59
|
"APITimeoutError",
|
|
59
60
|
"APIConnectionError",
|
|
60
61
|
"APIResponseValidationError",
|
|
62
|
+
"APIWebhookValidationError",
|
|
61
63
|
"BadRequestError",
|
|
62
64
|
"AuthenticationError",
|
|
63
65
|
"PermissionDeniedError",
|
|
@@ -93,6 +93,7 @@ class DodoPayments(SyncAPIClient):
|
|
|
93
93
|
|
|
94
94
|
# client options
|
|
95
95
|
bearer_token: str
|
|
96
|
+
webhook_key: str | None
|
|
96
97
|
|
|
97
98
|
_environment: Literal["live_mode", "test_mode"] | NotGiven
|
|
98
99
|
|
|
@@ -100,6 +101,7 @@ class DodoPayments(SyncAPIClient):
|
|
|
100
101
|
self,
|
|
101
102
|
*,
|
|
102
103
|
bearer_token: str | None = None,
|
|
104
|
+
webhook_key: str | None = None,
|
|
103
105
|
environment: Literal["live_mode", "test_mode"] | NotGiven = not_given,
|
|
104
106
|
base_url: str | httpx.URL | None | NotGiven = not_given,
|
|
105
107
|
timeout: float | Timeout | None | NotGiven = not_given,
|
|
@@ -122,7 +124,9 @@ class DodoPayments(SyncAPIClient):
|
|
|
122
124
|
) -> None:
|
|
123
125
|
"""Construct a new synchronous DodoPayments client instance.
|
|
124
126
|
|
|
125
|
-
This automatically infers the
|
|
127
|
+
This automatically infers the following arguments from their corresponding environment variables if they are not provided:
|
|
128
|
+
- `bearer_token` from `DODO_PAYMENTS_API_KEY`
|
|
129
|
+
- `webhook_key` from `DODO_PAYMENTS_WEBHOOK_KEY`
|
|
126
130
|
"""
|
|
127
131
|
if bearer_token is None:
|
|
128
132
|
bearer_token = os.environ.get("DODO_PAYMENTS_API_KEY")
|
|
@@ -132,6 +136,10 @@ class DodoPayments(SyncAPIClient):
|
|
|
132
136
|
)
|
|
133
137
|
self.bearer_token = bearer_token
|
|
134
138
|
|
|
139
|
+
if webhook_key is None:
|
|
140
|
+
webhook_key = os.environ.get("DODO_PAYMENTS_WEBHOOK_KEY")
|
|
141
|
+
self.webhook_key = webhook_key
|
|
142
|
+
|
|
135
143
|
self._environment = environment
|
|
136
144
|
|
|
137
145
|
base_url_env = os.environ.get("DODO_PAYMENTS_BASE_URL")
|
|
@@ -215,6 +223,7 @@ class DodoPayments(SyncAPIClient):
|
|
|
215
223
|
self,
|
|
216
224
|
*,
|
|
217
225
|
bearer_token: str | None = None,
|
|
226
|
+
webhook_key: str | None = None,
|
|
218
227
|
environment: Literal["live_mode", "test_mode"] | None = None,
|
|
219
228
|
base_url: str | httpx.URL | None = None,
|
|
220
229
|
timeout: float | Timeout | None | NotGiven = not_given,
|
|
@@ -250,6 +259,7 @@ class DodoPayments(SyncAPIClient):
|
|
|
250
259
|
http_client = http_client or self._client
|
|
251
260
|
return self.__class__(
|
|
252
261
|
bearer_token=bearer_token or self.bearer_token,
|
|
262
|
+
webhook_key=webhook_key or self.webhook_key,
|
|
253
263
|
base_url=base_url or self.base_url,
|
|
254
264
|
environment=environment or self._environment,
|
|
255
265
|
timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
|
|
@@ -323,6 +333,7 @@ class AsyncDodoPayments(AsyncAPIClient):
|
|
|
323
333
|
|
|
324
334
|
# client options
|
|
325
335
|
bearer_token: str
|
|
336
|
+
webhook_key: str | None
|
|
326
337
|
|
|
327
338
|
_environment: Literal["live_mode", "test_mode"] | NotGiven
|
|
328
339
|
|
|
@@ -330,6 +341,7 @@ class AsyncDodoPayments(AsyncAPIClient):
|
|
|
330
341
|
self,
|
|
331
342
|
*,
|
|
332
343
|
bearer_token: str | None = None,
|
|
344
|
+
webhook_key: str | None = None,
|
|
333
345
|
environment: Literal["live_mode", "test_mode"] | NotGiven = not_given,
|
|
334
346
|
base_url: str | httpx.URL | None | NotGiven = not_given,
|
|
335
347
|
timeout: float | Timeout | None | NotGiven = not_given,
|
|
@@ -352,7 +364,9 @@ class AsyncDodoPayments(AsyncAPIClient):
|
|
|
352
364
|
) -> None:
|
|
353
365
|
"""Construct a new async AsyncDodoPayments client instance.
|
|
354
366
|
|
|
355
|
-
This automatically infers the
|
|
367
|
+
This automatically infers the following arguments from their corresponding environment variables if they are not provided:
|
|
368
|
+
- `bearer_token` from `DODO_PAYMENTS_API_KEY`
|
|
369
|
+
- `webhook_key` from `DODO_PAYMENTS_WEBHOOK_KEY`
|
|
356
370
|
"""
|
|
357
371
|
if bearer_token is None:
|
|
358
372
|
bearer_token = os.environ.get("DODO_PAYMENTS_API_KEY")
|
|
@@ -362,6 +376,10 @@ class AsyncDodoPayments(AsyncAPIClient):
|
|
|
362
376
|
)
|
|
363
377
|
self.bearer_token = bearer_token
|
|
364
378
|
|
|
379
|
+
if webhook_key is None:
|
|
380
|
+
webhook_key = os.environ.get("DODO_PAYMENTS_WEBHOOK_KEY")
|
|
381
|
+
self.webhook_key = webhook_key
|
|
382
|
+
|
|
365
383
|
self._environment = environment
|
|
366
384
|
|
|
367
385
|
base_url_env = os.environ.get("DODO_PAYMENTS_BASE_URL")
|
|
@@ -445,6 +463,7 @@ class AsyncDodoPayments(AsyncAPIClient):
|
|
|
445
463
|
self,
|
|
446
464
|
*,
|
|
447
465
|
bearer_token: str | None = None,
|
|
466
|
+
webhook_key: str | None = None,
|
|
448
467
|
environment: Literal["live_mode", "test_mode"] | None = None,
|
|
449
468
|
base_url: str | httpx.URL | None = None,
|
|
450
469
|
timeout: float | Timeout | None | NotGiven = not_given,
|
|
@@ -480,6 +499,7 @@ class AsyncDodoPayments(AsyncAPIClient):
|
|
|
480
499
|
http_client = http_client or self._client
|
|
481
500
|
return self.__class__(
|
|
482
501
|
bearer_token=bearer_token or self.bearer_token,
|
|
502
|
+
webhook_key=webhook_key or self.webhook_key,
|
|
483
503
|
base_url=base_url or self.base_url,
|
|
484
504
|
environment=environment or self._environment,
|
|
485
505
|
timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
|
|
@@ -54,6 +54,10 @@ class APIResponseValidationError(APIError):
|
|
|
54
54
|
self.status_code = response.status_code
|
|
55
55
|
|
|
56
56
|
|
|
57
|
+
class APIWebhookValidationError(APIError):
|
|
58
|
+
pass
|
|
59
|
+
|
|
60
|
+
|
|
57
61
|
class APIStatusError(APIError):
|
|
58
62
|
"""Raised when an API response has a status code of 4xx or 5xx."""
|
|
59
63
|
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import json
|
|
6
|
+
from typing import Dict, List, Mapping, Optional, cast
|
|
6
7
|
|
|
7
8
|
import httpx
|
|
8
9
|
|
|
@@ -18,6 +19,7 @@ from .headers import (
|
|
|
18
19
|
from ..._types import Body, Omit, Query, Headers, NoneType, NotGiven, omit, not_given
|
|
19
20
|
from ..._utils import maybe_transform, async_maybe_transform
|
|
20
21
|
from ..._compat import cached_property
|
|
22
|
+
from ..._models import construct_type
|
|
21
23
|
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
22
24
|
from ..._response import (
|
|
23
25
|
to_raw_response_wrapper,
|
|
@@ -26,9 +28,12 @@ from ..._response import (
|
|
|
26
28
|
async_to_streamed_response_wrapper,
|
|
27
29
|
)
|
|
28
30
|
from ...pagination import SyncCursorPagePagination, AsyncCursorPagePagination
|
|
31
|
+
from ..._exceptions import DodoPaymentsError
|
|
29
32
|
from ..._base_client import AsyncPaginator, make_request_options
|
|
30
33
|
from ...types.webhook_details import WebhookDetails
|
|
31
34
|
from ...types.webhook_event_type import WebhookEventType
|
|
35
|
+
from ...types.unwrap_webhook_event import UnwrapWebhookEvent
|
|
36
|
+
from ...types.unsafe_unwrap_webhook_event import UnsafeUnwrapWebhookEvent
|
|
32
37
|
from ...types.webhook_retrieve_secret_response import WebhookRetrieveSecretResponse
|
|
33
38
|
|
|
34
39
|
__all__ = ["WebhooksResource", "AsyncWebhooksResource"]
|
|
@@ -336,6 +341,41 @@ class WebhooksResource(SyncAPIResource):
|
|
|
336
341
|
cast_to=WebhookRetrieveSecretResponse,
|
|
337
342
|
)
|
|
338
343
|
|
|
344
|
+
def unsafe_unwrap(self, payload: str) -> UnsafeUnwrapWebhookEvent:
|
|
345
|
+
return cast(
|
|
346
|
+
UnsafeUnwrapWebhookEvent,
|
|
347
|
+
construct_type(
|
|
348
|
+
type_=UnsafeUnwrapWebhookEvent,
|
|
349
|
+
value=json.loads(payload),
|
|
350
|
+
),
|
|
351
|
+
)
|
|
352
|
+
|
|
353
|
+
def unwrap(self, payload: str, *, headers: Mapping[str, str], key: str | bytes | None = None) -> UnwrapWebhookEvent:
|
|
354
|
+
try:
|
|
355
|
+
from standardwebhooks import Webhook
|
|
356
|
+
except ImportError as exc:
|
|
357
|
+
raise DodoPaymentsError("You need to install `dodopayments[webhooks]` to use this method") from exc
|
|
358
|
+
|
|
359
|
+
if key is None:
|
|
360
|
+
key = self._client.webhook_key
|
|
361
|
+
if key is None:
|
|
362
|
+
raise ValueError(
|
|
363
|
+
"Cannot verify a webhook without a key on either the client's webhook_key or passed in as an argument"
|
|
364
|
+
)
|
|
365
|
+
|
|
366
|
+
if not isinstance(headers, dict):
|
|
367
|
+
headers = dict(headers)
|
|
368
|
+
|
|
369
|
+
Webhook(key).verify(payload, headers)
|
|
370
|
+
|
|
371
|
+
return cast(
|
|
372
|
+
UnwrapWebhookEvent,
|
|
373
|
+
construct_type(
|
|
374
|
+
type_=UnwrapWebhookEvent,
|
|
375
|
+
value=json.loads(payload),
|
|
376
|
+
),
|
|
377
|
+
)
|
|
378
|
+
|
|
339
379
|
|
|
340
380
|
class AsyncWebhooksResource(AsyncAPIResource):
|
|
341
381
|
@cached_property
|
|
@@ -639,6 +679,41 @@ class AsyncWebhooksResource(AsyncAPIResource):
|
|
|
639
679
|
cast_to=WebhookRetrieveSecretResponse,
|
|
640
680
|
)
|
|
641
681
|
|
|
682
|
+
def unsafe_unwrap(self, payload: str) -> UnsafeUnwrapWebhookEvent:
|
|
683
|
+
return cast(
|
|
684
|
+
UnsafeUnwrapWebhookEvent,
|
|
685
|
+
construct_type(
|
|
686
|
+
type_=UnsafeUnwrapWebhookEvent,
|
|
687
|
+
value=json.loads(payload),
|
|
688
|
+
),
|
|
689
|
+
)
|
|
690
|
+
|
|
691
|
+
def unwrap(self, payload: str, *, headers: Mapping[str, str], key: str | bytes | None = None) -> UnwrapWebhookEvent:
|
|
692
|
+
try:
|
|
693
|
+
from standardwebhooks import Webhook
|
|
694
|
+
except ImportError as exc:
|
|
695
|
+
raise DodoPaymentsError("You need to install `dodopayments[webhooks]` to use this method") from exc
|
|
696
|
+
|
|
697
|
+
if key is None:
|
|
698
|
+
key = self._client.webhook_key
|
|
699
|
+
if key is None:
|
|
700
|
+
raise ValueError(
|
|
701
|
+
"Cannot verify a webhook without a key on either the client's webhook_key or passed in as an argument"
|
|
702
|
+
)
|
|
703
|
+
|
|
704
|
+
if not isinstance(headers, dict):
|
|
705
|
+
headers = dict(headers)
|
|
706
|
+
|
|
707
|
+
Webhook(key).verify(payload, headers)
|
|
708
|
+
|
|
709
|
+
return cast(
|
|
710
|
+
UnwrapWebhookEvent,
|
|
711
|
+
construct_type(
|
|
712
|
+
type_=UnwrapWebhookEvent,
|
|
713
|
+
value=json.loads(payload),
|
|
714
|
+
),
|
|
715
|
+
)
|
|
716
|
+
|
|
642
717
|
|
|
643
718
|
class WebhooksResourceWithRawResponse:
|
|
644
719
|
def __init__(self, webhooks: WebhooksResource) -> None:
|
|
@@ -60,6 +60,7 @@ from .payment_method_types import PaymentMethodTypes as PaymentMethodTypes
|
|
|
60
60
|
from .payout_list_response import PayoutListResponse as PayoutListResponse
|
|
61
61
|
from .refund_create_params import RefundCreateParams as RefundCreateParams
|
|
62
62
|
from .refund_list_response import RefundListResponse as RefundListResponse
|
|
63
|
+
from .unwrap_webhook_event import UnwrapWebhookEvent as UnwrapWebhookEvent
|
|
63
64
|
from .billing_address_param import BillingAddressParam as BillingAddressParam
|
|
64
65
|
from .dispute_list_response import DisputeListResponse as DisputeListResponse
|
|
65
66
|
from .payment_create_params import PaymentCreateParams as PaymentCreateParams
|
|
@@ -86,11 +87,13 @@ from .addon_cart_response_item import AddonCartResponseItem as AddonCartResponse
|
|
|
86
87
|
from .customer_limited_details import CustomerLimitedDetails as CustomerLimitedDetails
|
|
87
88
|
from .subscription_list_params import SubscriptionListParams as SubscriptionListParams
|
|
88
89
|
from .checkout_session_response import CheckoutSessionResponse as CheckoutSessionResponse
|
|
90
|
+
from .dispute_won_webhook_event import DisputeWonWebhookEvent as DisputeWonWebhookEvent
|
|
89
91
|
from .license_activate_response import LicenseActivateResponse as LicenseActivateResponse
|
|
90
92
|
from .license_deactivate_params import LicenseDeactivateParams as LicenseDeactivateParams
|
|
91
93
|
from .license_key_update_params import LicenseKeyUpdateParams as LicenseKeyUpdateParams
|
|
92
94
|
from .license_validate_response import LicenseValidateResponse as LicenseValidateResponse
|
|
93
95
|
from .usage_event_ingest_params import UsageEventIngestParams as UsageEventIngestParams
|
|
96
|
+
from .dispute_lost_webhook_event import DisputeLostWebhookEvent as DisputeLostWebhookEvent
|
|
94
97
|
from .license_key_duration_param import LicenseKeyDurationParam as LicenseKeyDurationParam
|
|
95
98
|
from .one_time_product_cart_item import OneTimeProductCartItem as OneTimeProductCartItem
|
|
96
99
|
from .subscription_charge_params import SubscriptionChargeParams as SubscriptionChargeParams
|
|
@@ -98,24 +101,46 @@ from .subscription_create_params import SubscriptionCreateParams as Subscription
|
|
|
98
101
|
from .subscription_list_response import SubscriptionListResponse as SubscriptionListResponse
|
|
99
102
|
from .subscription_update_params import SubscriptionUpdateParams as SubscriptionUpdateParams
|
|
100
103
|
from .product_update_files_params import ProductUpdateFilesParams as ProductUpdateFilesParams
|
|
104
|
+
from .refund_failed_webhook_event import RefundFailedWebhookEvent as RefundFailedWebhookEvent
|
|
105
|
+
from .unsafe_unwrap_webhook_event import UnsafeUnwrapWebhookEvent as UnsafeUnwrapWebhookEvent
|
|
101
106
|
from .usage_event_ingest_response import UsageEventIngestResponse as UsageEventIngestResponse
|
|
102
107
|
from .addon_update_images_response import AddonUpdateImagesResponse as AddonUpdateImagesResponse
|
|
103
108
|
from .brand_update_images_response import BrandUpdateImagesResponse as BrandUpdateImagesResponse
|
|
109
|
+
from .dispute_opened_webhook_event import DisputeOpenedWebhookEvent as DisputeOpenedWebhookEvent
|
|
104
110
|
from .on_demand_subscription_param import OnDemandSubscriptionParam as OnDemandSubscriptionParam
|
|
111
|
+
from .payment_failed_webhook_event import PaymentFailedWebhookEvent as PaymentFailedWebhookEvent
|
|
105
112
|
from .subscription_charge_response import SubscriptionChargeResponse as SubscriptionChargeResponse
|
|
106
113
|
from .subscription_create_response import SubscriptionCreateResponse as SubscriptionCreateResponse
|
|
114
|
+
from .dispute_expired_webhook_event import DisputeExpiredWebhookEvent as DisputeExpiredWebhookEvent
|
|
107
115
|
from .product_update_files_response import ProductUpdateFilesResponse as ProductUpdateFilesResponse
|
|
108
116
|
from .attach_existing_customer_param import AttachExistingCustomerParam as AttachExistingCustomerParam
|
|
109
117
|
from .checkout_session_create_params import CheckoutSessionCreateParams as CheckoutSessionCreateParams
|
|
118
|
+
from .dispute_accepted_webhook_event import DisputeAcceptedWebhookEvent as DisputeAcceptedWebhookEvent
|
|
119
|
+
from .refund_succeeded_webhook_event import RefundSucceededWebhookEvent as RefundSucceededWebhookEvent
|
|
120
|
+
from .dispute_cancelled_webhook_event import DisputeCancelledWebhookEvent as DisputeCancelledWebhookEvent
|
|
121
|
+
from .payment_cancelled_webhook_event import PaymentCancelledWebhookEvent as PaymentCancelledWebhookEvent
|
|
122
|
+
from .payment_succeeded_webhook_event import PaymentSucceededWebhookEvent as PaymentSucceededWebhookEvent
|
|
110
123
|
from .subscription_change_plan_params import SubscriptionChangePlanParams as SubscriptionChangePlanParams
|
|
124
|
+
from .dispute_challenged_webhook_event import DisputeChallengedWebhookEvent as DisputeChallengedWebhookEvent
|
|
111
125
|
from .license_key_instance_list_params import LicenseKeyInstanceListParams as LicenseKeyInstanceListParams
|
|
112
126
|
from .one_time_product_cart_item_param import OneTimeProductCartItemParam as OneTimeProductCartItemParam
|
|
127
|
+
from .payment_processing_webhook_event import PaymentProcessingWebhookEvent as PaymentProcessingWebhookEvent
|
|
113
128
|
from .webhook_retrieve_secret_response import WebhookRetrieveSecretResponse as WebhookRetrieveSecretResponse
|
|
129
|
+
from .license_key_created_webhook_event import LicenseKeyCreatedWebhookEvent as LicenseKeyCreatedWebhookEvent
|
|
130
|
+
from .subscription_active_webhook_event import SubscriptionActiveWebhookEvent as SubscriptionActiveWebhookEvent
|
|
131
|
+
from .subscription_failed_webhook_event import SubscriptionFailedWebhookEvent as SubscriptionFailedWebhookEvent
|
|
114
132
|
from .license_key_instance_update_params import LicenseKeyInstanceUpdateParams as LicenseKeyInstanceUpdateParams
|
|
133
|
+
from .subscription_expired_webhook_event import SubscriptionExpiredWebhookEvent as SubscriptionExpiredWebhookEvent
|
|
134
|
+
from .subscription_on_hold_webhook_event import SubscriptionOnHoldWebhookEvent as SubscriptionOnHoldWebhookEvent
|
|
135
|
+
from .subscription_renewed_webhook_event import SubscriptionRenewedWebhookEvent as SubscriptionRenewedWebhookEvent
|
|
115
136
|
from .payment_retrieve_line_items_response import PaymentRetrieveLineItemsResponse as PaymentRetrieveLineItemsResponse
|
|
137
|
+
from .subscription_cancelled_webhook_event import SubscriptionCancelledWebhookEvent as SubscriptionCancelledWebhookEvent
|
|
116
138
|
from .misc_list_supported_countries_response import (
|
|
117
139
|
MiscListSupportedCountriesResponse as MiscListSupportedCountriesResponse,
|
|
118
140
|
)
|
|
141
|
+
from .subscription_plan_changed_webhook_event import (
|
|
142
|
+
SubscriptionPlanChangedWebhookEvent as SubscriptionPlanChangedWebhookEvent,
|
|
143
|
+
)
|
|
119
144
|
from .subscription_retrieve_usage_history_params import (
|
|
120
145
|
SubscriptionRetrieveUsageHistoryParams as SubscriptionRetrieveUsageHistoryParams,
|
|
121
146
|
)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from .dispute import Dispute
|
|
8
|
+
from .._models import BaseModel
|
|
9
|
+
|
|
10
|
+
__all__ = ["DisputeAcceptedWebhookEvent", "Data"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Data(Dispute):
|
|
14
|
+
payload_type: Optional[Literal["Dispute"]] = None
|
|
15
|
+
"""The type of payload in the data field"""
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class DisputeAcceptedWebhookEvent(BaseModel):
|
|
19
|
+
business_id: str
|
|
20
|
+
"""The business identifier"""
|
|
21
|
+
|
|
22
|
+
data: Data
|
|
23
|
+
"""Event-specific data"""
|
|
24
|
+
|
|
25
|
+
timestamp: datetime
|
|
26
|
+
"""The timestamp of when the event occurred"""
|
|
27
|
+
|
|
28
|
+
type: Literal["dispute.accepted"]
|
|
29
|
+
"""The event type"""
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from .dispute import Dispute
|
|
8
|
+
from .._models import BaseModel
|
|
9
|
+
|
|
10
|
+
__all__ = ["DisputeAcceptedWebhookEvent", "Data"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Data(Dispute):
|
|
14
|
+
payload_type: Optional[Literal["Dispute"]] = None
|
|
15
|
+
"""The type of payload in the data field"""
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class DisputeAcceptedWebhookEvent(BaseModel):
|
|
19
|
+
business_id: str
|
|
20
|
+
"""The business identifier"""
|
|
21
|
+
|
|
22
|
+
data: Data
|
|
23
|
+
"""Event-specific data"""
|
|
24
|
+
|
|
25
|
+
timestamp: datetime
|
|
26
|
+
"""The timestamp of when the event occurred"""
|
|
27
|
+
|
|
28
|
+
type: Literal["dispute.accepted"]
|
|
29
|
+
"""The event type"""
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from .dispute import Dispute
|
|
8
|
+
from .._models import BaseModel
|
|
9
|
+
|
|
10
|
+
__all__ = ["DisputeCancelledWebhookEvent", "Data"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Data(Dispute):
|
|
14
|
+
payload_type: Optional[Literal["Dispute"]] = None
|
|
15
|
+
"""The type of payload in the data field"""
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class DisputeCancelledWebhookEvent(BaseModel):
|
|
19
|
+
business_id: str
|
|
20
|
+
"""The business identifier"""
|
|
21
|
+
|
|
22
|
+
data: Data
|
|
23
|
+
"""Event-specific data"""
|
|
24
|
+
|
|
25
|
+
timestamp: datetime
|
|
26
|
+
"""The timestamp of when the event occurred"""
|
|
27
|
+
|
|
28
|
+
type: Literal["dispute.cancelled"]
|
|
29
|
+
"""The event type"""
|