dodopayments 1.52.6__tar.gz → 1.53.2__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.

Files changed (256) hide show
  1. dodopayments-1.53.2/.release-please-manifest.json +3 -0
  2. {dodopayments-1.52.6 → dodopayments-1.53.2}/CHANGELOG.md +8 -0
  3. {dodopayments-1.52.6 → dodopayments-1.53.2}/PKG-INFO +1 -1
  4. {dodopayments-1.52.6 → dodopayments-1.53.2}/api.md +29 -4
  5. {dodopayments-1.52.6 → dodopayments-1.53.2}/pyproject.toml +1 -1
  6. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_version.py +1 -1
  7. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/customers/__init__.py +14 -0
  8. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/customers/customers.py +32 -0
  9. dodopayments-1.53.2/src/dodopayments/resources/customers/wallets/__init__.py +33 -0
  10. dodopayments-1.53.2/src/dodopayments/resources/customers/wallets/ledger_entries.py +318 -0
  11. dodopayments-1.53.2/src/dodopayments/resources/customers/wallets/wallets.py +191 -0
  12. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/licenses.py +5 -5
  13. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/refunds.py +7 -6
  14. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/subscriptions.py +8 -0
  15. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/__init__.py +2 -0
  16. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/customers/__init__.py +2 -0
  17. dodopayments-1.53.2/src/dodopayments/types/customers/customer_wallet.py +20 -0
  18. dodopayments-1.53.2/src/dodopayments/types/customers/wallet_list_response.py +15 -0
  19. dodopayments-1.53.2/src/dodopayments/types/customers/wallets/__init__.py +7 -0
  20. dodopayments-1.53.2/src/dodopayments/types/customers/wallets/customer_wallet_transaction.py +38 -0
  21. dodopayments-1.53.2/src/dodopayments/types/customers/wallets/ledger_entry_create_params.py +25 -0
  22. dodopayments-1.53.2/src/dodopayments/types/customers/wallets/ledger_entry_list_params.py +18 -0
  23. dodopayments-1.53.2/src/dodopayments/types/license_activate_response.py +40 -0
  24. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/payment.py +31 -2
  25. dodopayments-1.53.2/src/dodopayments/types/refund.py +43 -0
  26. dodopayments-1.52.6/src/dodopayments/types/refund.py → dodopayments-1.53.2/src/dodopayments/types/refund_list_response.py +2 -2
  27. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/subscription_charge_params.py +12 -1
  28. dodopayments-1.53.2/tests/api_resources/customers/test_wallets.py +100 -0
  29. dodopayments-1.53.2/tests/api_resources/customers/wallets/test_ledger_entries.py +258 -0
  30. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_licenses.py +7 -7
  31. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_refunds.py +9 -9
  32. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_subscriptions.py +8 -0
  33. dodopayments-1.53.2/tests/api_resources/webhooks/__init__.py +1 -0
  34. dodopayments-1.52.6/.release-please-manifest.json +0 -3
  35. {dodopayments-1.52.6 → dodopayments-1.53.2}/.gitignore +0 -0
  36. {dodopayments-1.52.6 → dodopayments-1.53.2}/CONTRIBUTING.md +0 -0
  37. {dodopayments-1.52.6 → dodopayments-1.53.2}/LICENSE +0 -0
  38. {dodopayments-1.52.6 → dodopayments-1.53.2}/README.md +0 -0
  39. {dodopayments-1.52.6 → dodopayments-1.53.2}/SECURITY.md +0 -0
  40. {dodopayments-1.52.6 → dodopayments-1.53.2}/bin/check-release-environment +0 -0
  41. {dodopayments-1.52.6 → dodopayments-1.53.2}/bin/publish-pypi +0 -0
  42. {dodopayments-1.52.6 → dodopayments-1.53.2}/examples/.keep +0 -0
  43. {dodopayments-1.52.6 → dodopayments-1.53.2}/noxfile.py +0 -0
  44. {dodopayments-1.52.6 → dodopayments-1.53.2}/release-please-config.json +0 -0
  45. {dodopayments-1.52.6 → dodopayments-1.53.2}/requirements-dev.lock +0 -0
  46. {dodopayments-1.52.6 → dodopayments-1.53.2}/requirements.lock +0 -0
  47. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodo_payments/lib/.keep +0 -0
  48. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/__init__.py +0 -0
  49. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_base_client.py +0 -0
  50. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_client.py +0 -0
  51. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_compat.py +0 -0
  52. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_constants.py +0 -0
  53. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_exceptions.py +0 -0
  54. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_files.py +0 -0
  55. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_models.py +0 -0
  56. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_qs.py +0 -0
  57. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_resource.py +0 -0
  58. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_response.py +0 -0
  59. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_streaming.py +0 -0
  60. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_types.py +0 -0
  61. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_utils/__init__.py +0 -0
  62. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_utils/_compat.py +0 -0
  63. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_utils/_datetime_parse.py +0 -0
  64. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_utils/_logs.py +0 -0
  65. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_utils/_proxy.py +0 -0
  66. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_utils/_reflection.py +0 -0
  67. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_utils/_resources_proxy.py +0 -0
  68. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_utils/_streams.py +0 -0
  69. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_utils/_sync.py +0 -0
  70. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_utils/_transform.py +0 -0
  71. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_utils/_typing.py +0 -0
  72. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/_utils/_utils.py +0 -0
  73. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/lib/.keep +0 -0
  74. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/pagination.py +0 -0
  75. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/py.typed +0 -0
  76. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/__init__.py +0 -0
  77. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/addons.py +0 -0
  78. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/brands.py +0 -0
  79. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/checkout_sessions.py +0 -0
  80. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/customers/customer_portal.py +0 -0
  81. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/discounts.py +0 -0
  82. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/disputes.py +0 -0
  83. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/invoices/__init__.py +0 -0
  84. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/invoices/invoices.py +0 -0
  85. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/invoices/payments.py +0 -0
  86. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/license_key_instances.py +0 -0
  87. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/license_keys.py +0 -0
  88. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/meters.py +0 -0
  89. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/misc.py +0 -0
  90. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/payments.py +0 -0
  91. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/payouts.py +0 -0
  92. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/products/__init__.py +0 -0
  93. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/products/images.py +0 -0
  94. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/products/products.py +0 -0
  95. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/usage_events.py +0 -0
  96. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/webhooks/__init__.py +0 -0
  97. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/webhooks/headers.py +0 -0
  98. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/resources/webhooks/webhooks.py +0 -0
  99. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/add_meter_to_price.py +0 -0
  100. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/add_meter_to_price_param.py +0 -0
  101. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/addon_cart_response_item.py +0 -0
  102. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/addon_create_params.py +0 -0
  103. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/addon_list_params.py +0 -0
  104. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/addon_response.py +0 -0
  105. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/addon_update_images_response.py +0 -0
  106. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/addon_update_params.py +0 -0
  107. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/attach_addon_param.py +0 -0
  108. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/attach_existing_customer_param.py +0 -0
  109. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/billing_address.py +0 -0
  110. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/billing_address_param.py +0 -0
  111. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/brand.py +0 -0
  112. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/brand_create_params.py +0 -0
  113. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/brand_list_response.py +0 -0
  114. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/brand_update_images_response.py +0 -0
  115. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/brand_update_params.py +0 -0
  116. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/checkout_session_create_params.py +0 -0
  117. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/checkout_session_response.py +0 -0
  118. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/country_code.py +0 -0
  119. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/currency.py +0 -0
  120. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/customer.py +0 -0
  121. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/customer_create_params.py +0 -0
  122. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/customer_limited_details.py +0 -0
  123. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/customer_list_params.py +0 -0
  124. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/customer_portal_session.py +0 -0
  125. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/customer_request_param.py +0 -0
  126. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/customer_update_params.py +0 -0
  127. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/customers/customer_portal_create_params.py +0 -0
  128. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/discount.py +0 -0
  129. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/discount_create_params.py +0 -0
  130. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/discount_list_params.py +0 -0
  131. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/discount_type.py +0 -0
  132. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/discount_update_params.py +0 -0
  133. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/dispute.py +0 -0
  134. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/dispute_list_params.py +0 -0
  135. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/dispute_list_response.py +0 -0
  136. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/dispute_stage.py +0 -0
  137. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/dispute_status.py +0 -0
  138. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/event.py +0 -0
  139. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/event_input_param.py +0 -0
  140. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/get_dispute.py +0 -0
  141. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/intent_status.py +0 -0
  142. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/invoices/__init__.py +0 -0
  143. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/license_activate_params.py +0 -0
  144. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/license_deactivate_params.py +0 -0
  145. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/license_key.py +0 -0
  146. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/license_key_duration.py +0 -0
  147. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/license_key_duration_param.py +0 -0
  148. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/license_key_instance.py +0 -0
  149. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/license_key_instance_list_params.py +0 -0
  150. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/license_key_instance_update_params.py +0 -0
  151. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/license_key_list_params.py +0 -0
  152. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/license_key_status.py +0 -0
  153. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/license_key_update_params.py +0 -0
  154. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/license_validate_params.py +0 -0
  155. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/license_validate_response.py +0 -0
  156. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/meter.py +0 -0
  157. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/meter_aggregation.py +0 -0
  158. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/meter_aggregation_param.py +0 -0
  159. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/meter_create_params.py +0 -0
  160. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/meter_filter.py +0 -0
  161. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/meter_filter_param.py +0 -0
  162. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/meter_list_params.py +0 -0
  163. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/misc_list_supported_countries_response.py +0 -0
  164. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/new_customer_param.py +0 -0
  165. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/on_demand_subscription_param.py +0 -0
  166. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/one_time_product_cart_item.py +0 -0
  167. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/one_time_product_cart_item_param.py +0 -0
  168. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/payment_create_params.py +0 -0
  169. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/payment_create_response.py +0 -0
  170. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/payment_list_params.py +0 -0
  171. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/payment_list_response.py +0 -0
  172. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/payment_method_types.py +0 -0
  173. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/payment_retrieve_line_items_response.py +0 -0
  174. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/payout_list_params.py +0 -0
  175. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/payout_list_response.py +0 -0
  176. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/price.py +0 -0
  177. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/price_param.py +0 -0
  178. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/product.py +0 -0
  179. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/product_create_params.py +0 -0
  180. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/product_list_params.py +0 -0
  181. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/product_list_response.py +0 -0
  182. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/product_update_files_params.py +0 -0
  183. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/product_update_files_response.py +0 -0
  184. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/product_update_params.py +0 -0
  185. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/products/__init__.py +0 -0
  186. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/products/image_update_params.py +0 -0
  187. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/products/image_update_response.py +0 -0
  188. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/refund_create_params.py +0 -0
  189. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/refund_list_params.py +0 -0
  190. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/refund_status.py +0 -0
  191. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/subscription.py +0 -0
  192. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/subscription_change_plan_params.py +0 -0
  193. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/subscription_charge_response.py +0 -0
  194. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/subscription_create_params.py +0 -0
  195. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/subscription_create_response.py +0 -0
  196. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/subscription_list_params.py +0 -0
  197. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/subscription_list_response.py +0 -0
  198. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/subscription_retrieve_usage_history_params.py +0 -0
  199. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/subscription_retrieve_usage_history_response.py +0 -0
  200. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/subscription_status.py +0 -0
  201. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/subscription_update_params.py +0 -0
  202. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/tax_category.py +0 -0
  203. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/time_interval.py +0 -0
  204. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/usage_event_ingest_params.py +0 -0
  205. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/usage_event_ingest_response.py +0 -0
  206. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/usage_event_list_params.py +0 -0
  207. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/webhook_create_params.py +0 -0
  208. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/webhook_details.py +0 -0
  209. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/webhook_event_type.py +0 -0
  210. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/webhook_list_params.py +0 -0
  211. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/webhook_retrieve_secret_response.py +0 -0
  212. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/webhook_update_params.py +0 -0
  213. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/webhooks/__init__.py +0 -0
  214. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/webhooks/header_retrieve_response.py +0 -0
  215. {dodopayments-1.52.6 → dodopayments-1.53.2}/src/dodopayments/types/webhooks/header_update_params.py +0 -0
  216. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/__init__.py +0 -0
  217. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/__init__.py +0 -0
  218. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/customers/__init__.py +0 -0
  219. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/customers/test_customer_portal.py +0 -0
  220. {dodopayments-1.52.6/tests/api_resources/invoices → dodopayments-1.53.2/tests/api_resources/customers/wallets}/__init__.py +0 -0
  221. {dodopayments-1.52.6/tests/api_resources/products → dodopayments-1.53.2/tests/api_resources/invoices}/__init__.py +0 -0
  222. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/invoices/test_payments.py +0 -0
  223. {dodopayments-1.52.6/tests/api_resources/webhooks → dodopayments-1.53.2/tests/api_resources/products}/__init__.py +0 -0
  224. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/products/test_images.py +0 -0
  225. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_addons.py +0 -0
  226. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_brands.py +0 -0
  227. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_checkout_sessions.py +0 -0
  228. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_customers.py +0 -0
  229. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_discounts.py +0 -0
  230. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_disputes.py +0 -0
  231. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_license_key_instances.py +0 -0
  232. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_license_keys.py +0 -0
  233. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_meters.py +0 -0
  234. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_misc.py +0 -0
  235. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_payments.py +0 -0
  236. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_payouts.py +0 -0
  237. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_products.py +0 -0
  238. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_usage_events.py +0 -0
  239. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/test_webhooks.py +0 -0
  240. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/api_resources/webhooks/test_headers.py +0 -0
  241. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/conftest.py +0 -0
  242. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/sample_file.txt +0 -0
  243. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/test_client.py +0 -0
  244. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/test_deepcopy.py +0 -0
  245. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/test_extract_files.py +0 -0
  246. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/test_files.py +0 -0
  247. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/test_models.py +0 -0
  248. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/test_qs.py +0 -0
  249. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/test_required_args.py +0 -0
  250. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/test_response.py +0 -0
  251. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/test_streaming.py +0 -0
  252. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/test_transform.py +0 -0
  253. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/test_utils/test_datetime_parse.py +0 -0
  254. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/test_utils/test_proxy.py +0 -0
  255. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/test_utils/test_typing.py +0 -0
  256. {dodopayments-1.52.6 → dodopayments-1.53.2}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.53.2"
3
+ }
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.53.2 (2025-09-13)
4
+
5
+ Full Changelog: [v1.52.6...v1.53.2](https://github.com/dodopayments/dodopayments-python/compare/v1.52.6...v1.53.2)
6
+
7
+ ### Features
8
+
9
+ * **api:** updated openapi spec to v1.53.2 with customer credits. ([92216ca](https://github.com/dodopayments/dodopayments-python/commit/92216ca3284a2f901e2977e2cc47ea9489da8d85))
10
+
3
11
  ## 1.52.6 (2025-09-06)
4
12
 
5
13
  Full Changelog: [v1.52.5...v1.52.6](https://github.com/dodopayments/dodopayments-python/compare/v1.52.5...v1.52.6)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dodopayments
3
- Version: 1.52.6
3
+ Version: 1.53.2
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
@@ -82,12 +82,12 @@ Methods:
82
82
  Types:
83
83
 
84
84
  ```python
85
- from dodopayments.types import LicenseValidateResponse
85
+ from dodopayments.types import LicenseActivateResponse, LicenseValidateResponse
86
86
  ```
87
87
 
88
88
  Methods:
89
89
 
90
- - <code title="post /licenses/activate">client.licenses.<a href="./src/dodopayments/resources/licenses.py">activate</a>(\*\*<a href="src/dodopayments/types/license_activate_params.py">params</a>) -> <a href="./src/dodopayments/types/license_key_instance.py">LicenseKeyInstance</a></code>
90
+ - <code title="post /licenses/activate">client.licenses.<a href="./src/dodopayments/resources/licenses.py">activate</a>(\*\*<a href="src/dodopayments/types/license_activate_params.py">params</a>) -> <a href="./src/dodopayments/types/license_activate_response.py">LicenseActivateResponse</a></code>
91
91
  - <code title="post /licenses/deactivate">client.licenses.<a href="./src/dodopayments/resources/licenses.py">deactivate</a>(\*\*<a href="src/dodopayments/types/license_deactivate_params.py">params</a>) -> None</code>
92
92
  - <code title="post /licenses/validate">client.licenses.<a href="./src/dodopayments/resources/licenses.py">validate</a>(\*\*<a href="src/dodopayments/types/license_validate_params.py">params</a>) -> <a href="./src/dodopayments/types/license_validate_response.py">LicenseValidateResponse</a></code>
93
93
 
@@ -140,19 +140,44 @@ Methods:
140
140
 
141
141
  - <code title="post /customers/{customer_id}/customer-portal/session">client.customers.customer_portal.<a href="./src/dodopayments/resources/customers/customer_portal.py">create</a>(customer_id, \*\*<a href="src/dodopayments/types/customers/customer_portal_create_params.py">params</a>) -> <a href="./src/dodopayments/types/customer_portal_session.py">CustomerPortalSession</a></code>
142
142
 
143
+ ## Wallets
144
+
145
+ Types:
146
+
147
+ ```python
148
+ from dodopayments.types.customers import CustomerWallet, WalletListResponse
149
+ ```
150
+
151
+ Methods:
152
+
153
+ - <code title="get /customers/{customer_id}/wallets">client.customers.wallets.<a href="./src/dodopayments/resources/customers/wallets/wallets.py">list</a>(customer_id) -> <a href="./src/dodopayments/types/customers/wallet_list_response.py">WalletListResponse</a></code>
154
+
155
+ ### LedgerEntries
156
+
157
+ Types:
158
+
159
+ ```python
160
+ from dodopayments.types.customers.wallets import CustomerWalletTransaction
161
+ ```
162
+
163
+ Methods:
164
+
165
+ - <code title="post /customers/{customer_id}/wallets/ledger-entries">client.customers.wallets.ledger_entries.<a href="./src/dodopayments/resources/customers/wallets/ledger_entries.py">create</a>(customer_id, \*\*<a href="src/dodopayments/types/customers/wallets/ledger_entry_create_params.py">params</a>) -> <a href="./src/dodopayments/types/customers/customer_wallet.py">CustomerWallet</a></code>
166
+ - <code title="get /customers/{customer_id}/wallets/ledger-entries">client.customers.wallets.ledger_entries.<a href="./src/dodopayments/resources/customers/wallets/ledger_entries.py">list</a>(customer_id, \*\*<a href="src/dodopayments/types/customers/wallets/ledger_entry_list_params.py">params</a>) -> <a href="./src/dodopayments/types/customers/wallets/customer_wallet_transaction.py">SyncDefaultPageNumberPagination[CustomerWalletTransaction]</a></code>
167
+
143
168
  # Refunds
144
169
 
145
170
  Types:
146
171
 
147
172
  ```python
148
- from dodopayments.types import Refund, RefundStatus
173
+ from dodopayments.types import Refund, RefundStatus, RefundListResponse
149
174
  ```
150
175
 
151
176
  Methods:
152
177
 
153
178
  - <code title="post /refunds">client.refunds.<a href="./src/dodopayments/resources/refunds.py">create</a>(\*\*<a href="src/dodopayments/types/refund_create_params.py">params</a>) -> <a href="./src/dodopayments/types/refund.py">Refund</a></code>
154
179
  - <code title="get /refunds/{refund_id}">client.refunds.<a href="./src/dodopayments/resources/refunds.py">retrieve</a>(refund_id) -> <a href="./src/dodopayments/types/refund.py">Refund</a></code>
155
- - <code title="get /refunds">client.refunds.<a href="./src/dodopayments/resources/refunds.py">list</a>(\*\*<a href="src/dodopayments/types/refund_list_params.py">params</a>) -> <a href="./src/dodopayments/types/refund.py">SyncDefaultPageNumberPagination[Refund]</a></code>
180
+ - <code title="get /refunds">client.refunds.<a href="./src/dodopayments/resources/refunds.py">list</a>(\*\*<a href="src/dodopayments/types/refund_list_params.py">params</a>) -> <a href="./src/dodopayments/types/refund_list_response.py">SyncDefaultPageNumberPagination[RefundListResponse]</a></code>
156
181
 
157
182
  # Disputes
158
183
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dodopayments"
3
- version = "1.52.6"
3
+ version = "1.53.2"
4
4
  description = "The official Python library for the Dodo Payments API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "dodopayments"
4
- __version__ = "1.52.6" # x-release-please-version
4
+ __version__ = "1.53.2" # x-release-please-version
@@ -1,5 +1,13 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ from .wallets import (
4
+ WalletsResource,
5
+ AsyncWalletsResource,
6
+ WalletsResourceWithRawResponse,
7
+ AsyncWalletsResourceWithRawResponse,
8
+ WalletsResourceWithStreamingResponse,
9
+ AsyncWalletsResourceWithStreamingResponse,
10
+ )
3
11
  from .customers import (
4
12
  CustomersResource,
5
13
  AsyncCustomersResource,
@@ -24,6 +32,12 @@ __all__ = [
24
32
  "AsyncCustomerPortalResourceWithRawResponse",
25
33
  "CustomerPortalResourceWithStreamingResponse",
26
34
  "AsyncCustomerPortalResourceWithStreamingResponse",
35
+ "WalletsResource",
36
+ "AsyncWalletsResource",
37
+ "WalletsResourceWithRawResponse",
38
+ "AsyncWalletsResourceWithRawResponse",
39
+ "WalletsResourceWithStreamingResponse",
40
+ "AsyncWalletsResourceWithStreamingResponse",
27
41
  "CustomersResource",
28
42
  "AsyncCustomersResource",
29
43
  "CustomersResourceWithRawResponse",
@@ -27,6 +27,14 @@ from .customer_portal import (
27
27
  CustomerPortalResourceWithStreamingResponse,
28
28
  AsyncCustomerPortalResourceWithStreamingResponse,
29
29
  )
30
+ from .wallets.wallets import (
31
+ WalletsResource,
32
+ AsyncWalletsResource,
33
+ WalletsResourceWithRawResponse,
34
+ AsyncWalletsResourceWithRawResponse,
35
+ WalletsResourceWithStreamingResponse,
36
+ AsyncWalletsResourceWithStreamingResponse,
37
+ )
30
38
  from ...types.customer import Customer
31
39
 
32
40
  __all__ = ["CustomersResource", "AsyncCustomersResource"]
@@ -37,6 +45,10 @@ class CustomersResource(SyncAPIResource):
37
45
  def customer_portal(self) -> CustomerPortalResource:
38
46
  return CustomerPortalResource(self._client)
39
47
 
48
+ @cached_property
49
+ def wallets(self) -> WalletsResource:
50
+ return WalletsResource(self._client)
51
+
40
52
  @cached_property
41
53
  def with_raw_response(self) -> CustomersResourceWithRawResponse:
42
54
  """
@@ -221,6 +233,10 @@ class AsyncCustomersResource(AsyncAPIResource):
221
233
  def customer_portal(self) -> AsyncCustomerPortalResource:
222
234
  return AsyncCustomerPortalResource(self._client)
223
235
 
236
+ @cached_property
237
+ def wallets(self) -> AsyncWalletsResource:
238
+ return AsyncWalletsResource(self._client)
239
+
224
240
  @cached_property
225
241
  def with_raw_response(self) -> AsyncCustomersResourceWithRawResponse:
226
242
  """
@@ -421,6 +437,10 @@ class CustomersResourceWithRawResponse:
421
437
  def customer_portal(self) -> CustomerPortalResourceWithRawResponse:
422
438
  return CustomerPortalResourceWithRawResponse(self._customers.customer_portal)
423
439
 
440
+ @cached_property
441
+ def wallets(self) -> WalletsResourceWithRawResponse:
442
+ return WalletsResourceWithRawResponse(self._customers.wallets)
443
+
424
444
 
425
445
  class AsyncCustomersResourceWithRawResponse:
426
446
  def __init__(self, customers: AsyncCustomersResource) -> None:
@@ -443,6 +463,10 @@ class AsyncCustomersResourceWithRawResponse:
443
463
  def customer_portal(self) -> AsyncCustomerPortalResourceWithRawResponse:
444
464
  return AsyncCustomerPortalResourceWithRawResponse(self._customers.customer_portal)
445
465
 
466
+ @cached_property
467
+ def wallets(self) -> AsyncWalletsResourceWithRawResponse:
468
+ return AsyncWalletsResourceWithRawResponse(self._customers.wallets)
469
+
446
470
 
447
471
  class CustomersResourceWithStreamingResponse:
448
472
  def __init__(self, customers: CustomersResource) -> None:
@@ -465,6 +489,10 @@ class CustomersResourceWithStreamingResponse:
465
489
  def customer_portal(self) -> CustomerPortalResourceWithStreamingResponse:
466
490
  return CustomerPortalResourceWithStreamingResponse(self._customers.customer_portal)
467
491
 
492
+ @cached_property
493
+ def wallets(self) -> WalletsResourceWithStreamingResponse:
494
+ return WalletsResourceWithStreamingResponse(self._customers.wallets)
495
+
468
496
 
469
497
  class AsyncCustomersResourceWithStreamingResponse:
470
498
  def __init__(self, customers: AsyncCustomersResource) -> None:
@@ -486,3 +514,7 @@ class AsyncCustomersResourceWithStreamingResponse:
486
514
  @cached_property
487
515
  def customer_portal(self) -> AsyncCustomerPortalResourceWithStreamingResponse:
488
516
  return AsyncCustomerPortalResourceWithStreamingResponse(self._customers.customer_portal)
517
+
518
+ @cached_property
519
+ def wallets(self) -> AsyncWalletsResourceWithStreamingResponse:
520
+ return AsyncWalletsResourceWithStreamingResponse(self._customers.wallets)
@@ -0,0 +1,33 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .wallets import (
4
+ WalletsResource,
5
+ AsyncWalletsResource,
6
+ WalletsResourceWithRawResponse,
7
+ AsyncWalletsResourceWithRawResponse,
8
+ WalletsResourceWithStreamingResponse,
9
+ AsyncWalletsResourceWithStreamingResponse,
10
+ )
11
+ from .ledger_entries import (
12
+ LedgerEntriesResource,
13
+ AsyncLedgerEntriesResource,
14
+ LedgerEntriesResourceWithRawResponse,
15
+ AsyncLedgerEntriesResourceWithRawResponse,
16
+ LedgerEntriesResourceWithStreamingResponse,
17
+ AsyncLedgerEntriesResourceWithStreamingResponse,
18
+ )
19
+
20
+ __all__ = [
21
+ "LedgerEntriesResource",
22
+ "AsyncLedgerEntriesResource",
23
+ "LedgerEntriesResourceWithRawResponse",
24
+ "AsyncLedgerEntriesResourceWithRawResponse",
25
+ "LedgerEntriesResourceWithStreamingResponse",
26
+ "AsyncLedgerEntriesResourceWithStreamingResponse",
27
+ "WalletsResource",
28
+ "AsyncWalletsResource",
29
+ "WalletsResourceWithRawResponse",
30
+ "AsyncWalletsResourceWithRawResponse",
31
+ "WalletsResourceWithStreamingResponse",
32
+ "AsyncWalletsResourceWithStreamingResponse",
33
+ ]
@@ -0,0 +1,318 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Optional
6
+ from typing_extensions import Literal
7
+
8
+ import httpx
9
+
10
+ from ....types import Currency
11
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
12
+ from ...._utils import maybe_transform, async_maybe_transform
13
+ from ...._compat import cached_property
14
+ from ...._resource import SyncAPIResource, AsyncAPIResource
15
+ from ...._response import (
16
+ to_raw_response_wrapper,
17
+ to_streamed_response_wrapper,
18
+ async_to_raw_response_wrapper,
19
+ async_to_streamed_response_wrapper,
20
+ )
21
+ from ....pagination import SyncDefaultPageNumberPagination, AsyncDefaultPageNumberPagination
22
+ from ...._base_client import AsyncPaginator, make_request_options
23
+ from ....types.currency import Currency
24
+ from ....types.customers.wallets import ledger_entry_list_params, ledger_entry_create_params
25
+ from ....types.customers.customer_wallet import CustomerWallet
26
+ from ....types.customers.wallets.customer_wallet_transaction import CustomerWalletTransaction
27
+
28
+ __all__ = ["LedgerEntriesResource", "AsyncLedgerEntriesResource"]
29
+
30
+
31
+ class LedgerEntriesResource(SyncAPIResource):
32
+ @cached_property
33
+ def with_raw_response(self) -> LedgerEntriesResourceWithRawResponse:
34
+ """
35
+ This property can be used as a prefix for any HTTP method call to return
36
+ the raw response object instead of the parsed content.
37
+
38
+ For more information, see https://www.github.com/dodopayments/dodopayments-python#accessing-raw-response-data-eg-headers
39
+ """
40
+ return LedgerEntriesResourceWithRawResponse(self)
41
+
42
+ @cached_property
43
+ def with_streaming_response(self) -> LedgerEntriesResourceWithStreamingResponse:
44
+ """
45
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
46
+
47
+ For more information, see https://www.github.com/dodopayments/dodopayments-python#with_streaming_response
48
+ """
49
+ return LedgerEntriesResourceWithStreamingResponse(self)
50
+
51
+ def create(
52
+ self,
53
+ customer_id: str,
54
+ *,
55
+ amount: int,
56
+ currency: Currency,
57
+ entry_type: Literal["credit", "debit"],
58
+ idempotency_key: Optional[str] | NotGiven = NOT_GIVEN,
59
+ reason: Optional[str] | NotGiven = NOT_GIVEN,
60
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
61
+ # The extra values given here take precedence over values defined on the client or passed to this method.
62
+ extra_headers: Headers | None = None,
63
+ extra_query: Query | None = None,
64
+ extra_body: Body | None = None,
65
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
66
+ ) -> CustomerWallet:
67
+ """
68
+ Args:
69
+ currency: Currency of the wallet to adjust
70
+
71
+ entry_type: Type of ledger entry - credit or debit
72
+
73
+ idempotency_key: Optional idempotency key to prevent duplicate entries
74
+
75
+ extra_headers: Send extra headers
76
+
77
+ extra_query: Add additional query parameters to the request
78
+
79
+ extra_body: Add additional JSON properties to the request
80
+
81
+ timeout: Override the client-level default timeout for this request, in seconds
82
+ """
83
+ if not customer_id:
84
+ raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
85
+ return self._post(
86
+ f"/customers/{customer_id}/wallets/ledger-entries",
87
+ body=maybe_transform(
88
+ {
89
+ "amount": amount,
90
+ "currency": currency,
91
+ "entry_type": entry_type,
92
+ "idempotency_key": idempotency_key,
93
+ "reason": reason,
94
+ },
95
+ ledger_entry_create_params.LedgerEntryCreateParams,
96
+ ),
97
+ options=make_request_options(
98
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
99
+ ),
100
+ cast_to=CustomerWallet,
101
+ )
102
+
103
+ def list(
104
+ self,
105
+ customer_id: str,
106
+ *,
107
+ currency: Currency | NotGiven = NOT_GIVEN,
108
+ page_number: int | NotGiven = NOT_GIVEN,
109
+ page_size: int | NotGiven = NOT_GIVEN,
110
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
111
+ # The extra values given here take precedence over values defined on the client or passed to this method.
112
+ extra_headers: Headers | None = None,
113
+ extra_query: Query | None = None,
114
+ extra_body: Body | None = None,
115
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
116
+ ) -> SyncDefaultPageNumberPagination[CustomerWalletTransaction]:
117
+ """
118
+ Args:
119
+ currency: Optional currency filter
120
+
121
+ extra_headers: Send extra headers
122
+
123
+ extra_query: Add additional query parameters to the request
124
+
125
+ extra_body: Add additional JSON properties to the request
126
+
127
+ timeout: Override the client-level default timeout for this request, in seconds
128
+ """
129
+ if not customer_id:
130
+ raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
131
+ return self._get_api_list(
132
+ f"/customers/{customer_id}/wallets/ledger-entries",
133
+ page=SyncDefaultPageNumberPagination[CustomerWalletTransaction],
134
+ options=make_request_options(
135
+ extra_headers=extra_headers,
136
+ extra_query=extra_query,
137
+ extra_body=extra_body,
138
+ timeout=timeout,
139
+ query=maybe_transform(
140
+ {
141
+ "currency": currency,
142
+ "page_number": page_number,
143
+ "page_size": page_size,
144
+ },
145
+ ledger_entry_list_params.LedgerEntryListParams,
146
+ ),
147
+ ),
148
+ model=CustomerWalletTransaction,
149
+ )
150
+
151
+
152
+ class AsyncLedgerEntriesResource(AsyncAPIResource):
153
+ @cached_property
154
+ def with_raw_response(self) -> AsyncLedgerEntriesResourceWithRawResponse:
155
+ """
156
+ This property can be used as a prefix for any HTTP method call to return
157
+ the raw response object instead of the parsed content.
158
+
159
+ For more information, see https://www.github.com/dodopayments/dodopayments-python#accessing-raw-response-data-eg-headers
160
+ """
161
+ return AsyncLedgerEntriesResourceWithRawResponse(self)
162
+
163
+ @cached_property
164
+ def with_streaming_response(self) -> AsyncLedgerEntriesResourceWithStreamingResponse:
165
+ """
166
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
167
+
168
+ For more information, see https://www.github.com/dodopayments/dodopayments-python#with_streaming_response
169
+ """
170
+ return AsyncLedgerEntriesResourceWithStreamingResponse(self)
171
+
172
+ async def create(
173
+ self,
174
+ customer_id: str,
175
+ *,
176
+ amount: int,
177
+ currency: Currency,
178
+ entry_type: Literal["credit", "debit"],
179
+ idempotency_key: Optional[str] | NotGiven = NOT_GIVEN,
180
+ reason: Optional[str] | NotGiven = NOT_GIVEN,
181
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
182
+ # The extra values given here take precedence over values defined on the client or passed to this method.
183
+ extra_headers: Headers | None = None,
184
+ extra_query: Query | None = None,
185
+ extra_body: Body | None = None,
186
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
187
+ ) -> CustomerWallet:
188
+ """
189
+ Args:
190
+ currency: Currency of the wallet to adjust
191
+
192
+ entry_type: Type of ledger entry - credit or debit
193
+
194
+ idempotency_key: Optional idempotency key to prevent duplicate entries
195
+
196
+ extra_headers: Send extra headers
197
+
198
+ extra_query: Add additional query parameters to the request
199
+
200
+ extra_body: Add additional JSON properties to the request
201
+
202
+ timeout: Override the client-level default timeout for this request, in seconds
203
+ """
204
+ if not customer_id:
205
+ raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
206
+ return await self._post(
207
+ f"/customers/{customer_id}/wallets/ledger-entries",
208
+ body=await async_maybe_transform(
209
+ {
210
+ "amount": amount,
211
+ "currency": currency,
212
+ "entry_type": entry_type,
213
+ "idempotency_key": idempotency_key,
214
+ "reason": reason,
215
+ },
216
+ ledger_entry_create_params.LedgerEntryCreateParams,
217
+ ),
218
+ options=make_request_options(
219
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
220
+ ),
221
+ cast_to=CustomerWallet,
222
+ )
223
+
224
+ def list(
225
+ self,
226
+ customer_id: str,
227
+ *,
228
+ currency: Currency | NotGiven = NOT_GIVEN,
229
+ page_number: int | NotGiven = NOT_GIVEN,
230
+ page_size: int | NotGiven = NOT_GIVEN,
231
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
232
+ # The extra values given here take precedence over values defined on the client or passed to this method.
233
+ extra_headers: Headers | None = None,
234
+ extra_query: Query | None = None,
235
+ extra_body: Body | None = None,
236
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
237
+ ) -> AsyncPaginator[CustomerWalletTransaction, AsyncDefaultPageNumberPagination[CustomerWalletTransaction]]:
238
+ """
239
+ Args:
240
+ currency: Optional currency filter
241
+
242
+ extra_headers: Send extra headers
243
+
244
+ extra_query: Add additional query parameters to the request
245
+
246
+ extra_body: Add additional JSON properties to the request
247
+
248
+ timeout: Override the client-level default timeout for this request, in seconds
249
+ """
250
+ if not customer_id:
251
+ raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
252
+ return self._get_api_list(
253
+ f"/customers/{customer_id}/wallets/ledger-entries",
254
+ page=AsyncDefaultPageNumberPagination[CustomerWalletTransaction],
255
+ options=make_request_options(
256
+ extra_headers=extra_headers,
257
+ extra_query=extra_query,
258
+ extra_body=extra_body,
259
+ timeout=timeout,
260
+ query=maybe_transform(
261
+ {
262
+ "currency": currency,
263
+ "page_number": page_number,
264
+ "page_size": page_size,
265
+ },
266
+ ledger_entry_list_params.LedgerEntryListParams,
267
+ ),
268
+ ),
269
+ model=CustomerWalletTransaction,
270
+ )
271
+
272
+
273
+ class LedgerEntriesResourceWithRawResponse:
274
+ def __init__(self, ledger_entries: LedgerEntriesResource) -> None:
275
+ self._ledger_entries = ledger_entries
276
+
277
+ self.create = to_raw_response_wrapper(
278
+ ledger_entries.create,
279
+ )
280
+ self.list = to_raw_response_wrapper(
281
+ ledger_entries.list,
282
+ )
283
+
284
+
285
+ class AsyncLedgerEntriesResourceWithRawResponse:
286
+ def __init__(self, ledger_entries: AsyncLedgerEntriesResource) -> None:
287
+ self._ledger_entries = ledger_entries
288
+
289
+ self.create = async_to_raw_response_wrapper(
290
+ ledger_entries.create,
291
+ )
292
+ self.list = async_to_raw_response_wrapper(
293
+ ledger_entries.list,
294
+ )
295
+
296
+
297
+ class LedgerEntriesResourceWithStreamingResponse:
298
+ def __init__(self, ledger_entries: LedgerEntriesResource) -> None:
299
+ self._ledger_entries = ledger_entries
300
+
301
+ self.create = to_streamed_response_wrapper(
302
+ ledger_entries.create,
303
+ )
304
+ self.list = to_streamed_response_wrapper(
305
+ ledger_entries.list,
306
+ )
307
+
308
+
309
+ class AsyncLedgerEntriesResourceWithStreamingResponse:
310
+ def __init__(self, ledger_entries: AsyncLedgerEntriesResource) -> None:
311
+ self._ledger_entries = ledger_entries
312
+
313
+ self.create = async_to_streamed_response_wrapper(
314
+ ledger_entries.create,
315
+ )
316
+ self.list = async_to_streamed_response_wrapper(
317
+ ledger_entries.list,
318
+ )