pypaystack2 3.0.0__tar.gz → 3.0.1__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.
Files changed (165) hide show
  1. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/CHANGELOG.md +7 -1
  2. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/PKG-INFO +1 -1
  3. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/pyproject.toml +3 -2
  4. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/_metadata.py +1 -1
  5. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/plans.py +4 -0
  6. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/plans.py +4 -0
  7. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/uv.lock +440 -363
  8. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/.gitattributes +0 -0
  9. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/.github/FUNDING.yml +0 -0
  10. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/.github/workflows/documentation-release.yml +0 -0
  11. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/.github/workflows/publish.yml +0 -0
  12. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/.github/workflows/python-package.yml +0 -0
  13. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/.gitignore +0 -0
  14. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/.nojekyll +0 -0
  15. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/.pre-commit-config.yaml +0 -0
  16. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/.python-version +0 -0
  17. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/LICENSE +0 -0
  18. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/Makefile +0 -0
  19. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/README.md +0 -0
  20. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/assets/illustration-0.png +0 -0
  21. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/assets/illustration-1.png +0 -0
  22. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/assets/pypaystack2.svg +0 -0
  23. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/explanation.md +0 -0
  24. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/how-to-guides.md +0 -0
  25. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/index.md +0 -0
  26. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/apple_pay.md +0 -0
  27. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/bulk_charges.md +0 -0
  28. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/charge.md +0 -0
  29. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/customer.md +0 -0
  30. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/dedicated_accounts.md +0 -0
  31. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/disputes.md +0 -0
  32. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/index.md +0 -0
  33. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/integration.md +0 -0
  34. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/miscellaneous.md +0 -0
  35. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/payment_pages.md +0 -0
  36. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/payment_requests.md +0 -0
  37. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/plans.md +0 -0
  38. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/products.md +0 -0
  39. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/refunds.md +0 -0
  40. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/settlements.md +0 -0
  41. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/splits.md +0 -0
  42. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/subaccounts.md +0 -0
  43. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/subscriptions.md +0 -0
  44. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/terminals.md +0 -0
  45. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/transactions.md +0 -0
  46. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/transfer_recipients.md +0 -0
  47. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/transfers.md +0 -0
  48. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/transfers_control.md +0 -0
  49. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/reference/verification.md +0 -0
  50. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/stylesheets/extra.css +0 -0
  51. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/docs/tutorials/tutorial-00.md +0 -0
  52. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/mkdocs.yml +0 -0
  53. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/__init__.py +0 -0
  54. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/base_clients.py +0 -0
  55. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/enums.py +0 -0
  56. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/exceptions.py +0 -0
  57. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/fees_calculation_mixin.py +0 -0
  58. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/main_clients.py +0 -0
  59. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/models/__init__.py +0 -0
  60. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/models/payload_models.py +0 -0
  61. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/models/response_models.py +0 -0
  62. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/py.typed +0 -0
  63. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/__init__.py +0 -0
  64. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/__init__.py +0 -0
  65. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/apple_pay.py +0 -0
  66. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/bulk_charges.py +0 -0
  67. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/charge.py +0 -0
  68. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/customers.py +0 -0
  69. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/dedicated_accounts.py +0 -0
  70. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/disputes.py +0 -0
  71. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/integration.py +0 -0
  72. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/miscellaneous.py +0 -0
  73. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/payment_pages.py +0 -0
  74. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/payment_requests.py +0 -0
  75. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/products.py +0 -0
  76. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/refunds.py +0 -0
  77. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/settlements.py +0 -0
  78. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/splits.py +0 -0
  79. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/subaccounts.py +0 -0
  80. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/subscriptions.py +0 -0
  81. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/terminals.py +0 -0
  82. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/transactions.py +0 -0
  83. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/transfer_recipients.py +0 -0
  84. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/transfers.py +0 -0
  85. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/transfers_control.py +0 -0
  86. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/async_clients/verification.py +0 -0
  87. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/__init__.py +0 -0
  88. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/apple_pay.py +0 -0
  89. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/bulk_charges.py +0 -0
  90. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/charge.py +0 -0
  91. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/customers.py +0 -0
  92. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/dedicated_accounts.py +0 -0
  93. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/disputes.py +0 -0
  94. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/integration.py +0 -0
  95. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/miscellaneous.py +0 -0
  96. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/payment_pages.py +0 -0
  97. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/payment_requests.py +0 -0
  98. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/products.py +0 -0
  99. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/refunds.py +0 -0
  100. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/settlements.py +0 -0
  101. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/splits.py +0 -0
  102. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/subaccounts.py +0 -0
  103. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/subscriptions.py +0 -0
  104. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/terminals.py +0 -0
  105. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/transactions.py +0 -0
  106. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/transfer_recipients.py +0 -0
  107. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/transfers.py +0 -0
  108. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/transfers_control.py +0 -0
  109. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/sub_clients/sync_clients/verification.py +0 -0
  110. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/src/pypaystack2/types.py +0 -0
  111. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/__init__.py +0 -0
  112. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test__metadata.py +0 -0
  113. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_baseapi.py +0 -0
  114. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_paystack.py +0 -0
  115. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_paystack_fees_calculation.py +0 -0
  116. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/__init__.py +0 -0
  117. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/mocked_api_testcase.py +0 -0
  118. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/__init__.py +0 -0
  119. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_apple_pay.py +0 -0
  120. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_bulk_charges.py +0 -0
  121. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_charge.py +0 -0
  122. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_customers.py +0 -0
  123. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_dedicated_accounts.py +0 -0
  124. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_disputes.py +0 -0
  125. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_integration.py +0 -0
  126. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_miscellaneous.py +0 -0
  127. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_payment_pages.py +0 -0
  128. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_payment_requests.py +0 -0
  129. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_plans.py +0 -0
  130. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_products.py +0 -0
  131. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_refunds.py +0 -0
  132. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_settlements.py +0 -0
  133. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_splits.py +0 -0
  134. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_subaccounts.py +0 -0
  135. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_subscriptions.py +0 -0
  136. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_terminals.py +0 -0
  137. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_transactions.py +0 -0
  138. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_transfer_recipients.py +0 -0
  139. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_transfers.py +0 -0
  140. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_transfers_control.py +0 -0
  141. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_async_clients/test_verification.py +0 -0
  142. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/__init__.py +0 -0
  143. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_apple_pay.py +0 -0
  144. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_bulk_charges.py +0 -0
  145. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_charge.py +0 -0
  146. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_customers.py +0 -0
  147. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_dedicated_accounts.py +0 -0
  148. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_disputes.py +0 -0
  149. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_integration.py +0 -0
  150. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_miscellaneous.py +0 -0
  151. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_payment_pages.py +0 -0
  152. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_payment_requests.py +0 -0
  153. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_plans.py +0 -0
  154. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_products.py +0 -0
  155. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_refunds.py +0 -0
  156. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_settlements.py +0 -0
  157. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_splits.py +0 -0
  158. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_subaccounts.py +0 -0
  159. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_subscriptions.py +0 -0
  160. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_terminals.py +0 -0
  161. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_transactions.py +0 -0
  162. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_transfer_recipients.py +0 -0
  163. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_transfers.py +0 -0
  164. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_transfers_control.py +0 -0
  165. {pypaystack2-3.0.0 → pypaystack2-3.0.1}/tests/test_sub_clients/test_sync_clients/test_verification.py +0 -0
@@ -7,7 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## unreleased
9
9
 
10
- ## [3.0.0] - 2025-03-
10
+ ## [3.0.1] - (4th October 2025)
11
+
12
+ ### Fixed
13
+
14
+ - Missing `update_existing_subscriptions` parameter in `AsyncPlanClient.update` and `PlanClient.update`
15
+
16
+ ## [3.0.0] - (9th March 2025)
11
17
 
12
18
  ### Added
13
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pypaystack2
3
- Version: 3.0.0
3
+ Version: 3.0.1
4
4
  Summary: A developer-friendly client library for Paystack
5
5
  Author-email: Gbenga Adeyi <adeyigbenga005@gmail.com>
6
6
  License-Expression: MIT
@@ -30,14 +30,15 @@ source = "code"
30
30
  path = "./src/pypaystack2/_metadata.py"
31
31
  attribute = "__version__"
32
32
 
33
- [tool.uv]
34
- dev-dependencies = [
33
+ [dependency-groups]
34
+ dev = [
35
35
  "mike>=2.1.3",
36
36
  "mkdocs>=1.6.1",
37
37
  "mkdocs-glightbox>=0.4.0",
38
38
  "mkdocs-material>=9.5.39",
39
39
  "mkdocstrings[python]>=0.26.1",
40
40
  "mypy>=1.14.1",
41
+ "pre-commit>=4.3.0",
41
42
  "pytest>=8.3.3",
42
43
  "python-dotenv>=1.0.1",
43
44
  "ruff>=0.8.6",
@@ -1,5 +1,5 @@
1
1
  __title__ = "pypaystack2"
2
- __version__ = "3.0.0"
2
+ __version__ = "3.0.1"
3
3
  __author__ = [{"name": "Gbenga Adeyi", "email": "adeyigbenga005@gmail.com"}]
4
4
  __license__ = "MIT"
5
5
  __copyright__ = "Copyright 2025."
@@ -178,6 +178,7 @@ class AsyncPlanClient(BaseAsyncAPIClient):
178
178
  invoice_limit: int | None = None,
179
179
  send_invoices: bool = False,
180
180
  send_sms: bool = False,
181
+ update_existing_subscriptions: bool = True,
181
182
  alternate_model_class: type[PaystackDataModel] | None = None,
182
183
  ) -> Response[None] | Response[PaystackDataModel]:
183
184
  """Update a plan details on your integration
@@ -196,6 +197,8 @@ class AsyncPlanClient(BaseAsyncAPIClient):
196
197
  to be sent to your customers
197
198
  send_sms: Set to ``False`` if you don't want text messages to
198
199
  be sent to your customers
200
+ update_existing_subscriptions: Flag to determine whether to update existing subscriptions based on the new
201
+ changes made to the plan.
199
202
  alternate_model_class: A pydantic model class to use instead of the
200
203
  default pydantic model used by the library to present the data in
201
204
  the `Response.data`. The default behaviour of the library is to
@@ -226,6 +229,7 @@ class AsyncPlanClient(BaseAsyncAPIClient):
226
229
  ("description", description),
227
230
  ("currency", currency),
228
231
  ("invoice_limit", invoice_limit),
232
+ ("update_existing_subscriptions", update_existing_subscriptions),
229
233
  ]
230
234
  payload = add_to_payload(optional_params, payload)
231
235
  return await self._handle_request( # type: ignore
@@ -178,6 +178,7 @@ class PlanClient(BaseAPIClient):
178
178
  invoice_limit: int | None = None,
179
179
  send_invoices: bool = False,
180
180
  send_sms: bool = False,
181
+ update_existing_subscriptions: bool = True,
181
182
  alternate_model_class: type[PaystackDataModel] | None = None,
182
183
  ) -> Response[None] | Response[PaystackDataModel]:
183
184
  """update a plan details on your integration
@@ -196,6 +197,8 @@ class PlanClient(BaseAPIClient):
196
197
  to be sent to your customers
197
198
  send_sms: Set to ``False`` if you don't want text messages to
198
199
  be sent to your customers
200
+ update_existing_subscriptions: Flag to determine whether to update existing subscriptions based on the new
201
+ changes made to the plan.
199
202
  alternate_model_class: A pydantic model class to use instead of the
200
203
  default pydantic model used by the library to present the data in
201
204
  the `Response.data`. The default behaviour of the library is to
@@ -226,6 +229,7 @@ class PlanClient(BaseAPIClient):
226
229
  ("description", description),
227
230
  ("currency", currency),
228
231
  ("invoice_limit", invoice_limit),
232
+ ("update_existing_subscriptions", update_existing_subscriptions),
229
233
  ]
230
234
  payload = add_to_payload(optional_params, payload)
231
235
  return self._handle_request( # type: ignore