paddle-python-sdk 0.1.1__tar.gz → 0.1.3__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 (526) hide show
  1. {paddle_python_sdk-0.1.1/paddle_python_sdk.egg-info → paddle_python_sdk-0.1.3}/PKG-INFO +1 -1
  2. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Client.py +12 -2
  3. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/NotificationSettingCollection.py +2 -2
  4. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/ApiError.py +7 -5
  5. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/ResponseParser.py +11 -5
  6. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3/paddle_python_sdk.egg-info}/PKG-INFO +1 -1
  7. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_python_sdk.egg-info/SOURCES.txt +4 -0
  8. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/setup.py +1 -1
  9. paddle_python_sdk-0.1.3/tests/Functional/Client/test_Client.py +138 -0
  10. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/Addresses/test_AddressesClient.py +99 -2
  11. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/NotificationSettings/test_NotificationSettingsClient.py +5 -1
  12. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Utils/TestClient.py +10 -5
  13. paddle_python_sdk-0.1.3/tests/Utils/TestLogger.py +28 -0
  14. paddle_python_sdk-0.1.3/tests/__init__.py +0 -0
  15. paddle_python_sdk-0.1.3/tests/conftest.py +2 -0
  16. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/LICENSE +0 -0
  17. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/README.md +0 -0
  18. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/examples/__init__.py +0 -0
  19. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/examples/catalog_management.py +0 -0
  20. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/examples/event_polling.py +0 -0
  21. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/examples/get_products.py +0 -0
  22. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/examples/logger.py +0 -0
  23. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/ConditionallyRemoveImportMeta.py +0 -0
  24. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Address.py +0 -0
  25. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Adjustment.py +0 -0
  26. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Adjustments/AdjustmentCustomerBalance.py +0 -0
  27. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Adjustments/AdjustmentItem.py +0 -0
  28. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Adjustments/__init__.py +0 -0
  29. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Business.py +0 -0
  30. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/AddressCollection.py +0 -0
  31. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/AdjustmentCollection.py +0 -0
  32. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/BusinessCollection.py +0 -0
  33. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/Collection.py +0 -0
  34. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/CreditBalanceCollection.py +0 -0
  35. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/CustomerCollection.py +0 -0
  36. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/DiscountCollection.py +0 -0
  37. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/EventCollection.py +0 -0
  38. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/EventTypeCollection.py +0 -0
  39. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/NotificationCollection.py +0 -0
  40. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/NotificationLogCollection.py +0 -0
  41. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/Paginator.py +0 -0
  42. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/PriceCollection.py +0 -0
  43. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/ProductCollection.py +0 -0
  44. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/ReportCollection.py +0 -0
  45. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/SubscriptionCollection.py +0 -0
  46. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/SubscriptionPreviewCollection.py +0 -0
  47. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/TransactionCollection.py +0 -0
  48. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/TransactionPreviewCollection.py +0 -0
  49. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/TransactionsDataCollection.py +0 -0
  50. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Collections/__init__.py +0 -0
  51. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/CreditBalance.py +0 -0
  52. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Customer.py +0 -0
  53. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/DateTime.py +0 -0
  54. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Discount.py +0 -0
  55. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Discounts/DiscountStatus.py +0 -0
  56. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Discounts/DiscountType.py +0 -0
  57. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Discounts/__init__.py +0 -0
  58. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Entity.py +0 -0
  59. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Event.py +0 -0
  60. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/EventType.py +0 -0
  61. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Events/EventTypeName.py +0 -0
  62. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Events/__init__.py +0 -0
  63. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Notification.py +0 -0
  64. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/NotificationLog.py +0 -0
  65. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/NotificationSetting.py +0 -0
  66. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/NotificationSettings/NotificationSettingType.py +0 -0
  67. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/NotificationSettings/__init__.py +0 -0
  68. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Notifications/NotificationOrigin.py +0 -0
  69. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Notifications/NotificationPayout.py +0 -0
  70. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Notifications/NotificationPayoutStatus.py +0 -0
  71. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Notifications/NotificationStatus.py +0 -0
  72. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Notifications/__init__.py +0 -0
  73. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Price.py +0 -0
  74. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/PricePreview.py +0 -0
  75. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/PricingPreviews/PricePreviewDetails.py +0 -0
  76. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/PricingPreviews/PricePreviewDiscounts.py +0 -0
  77. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/PricingPreviews/PricePreviewItem.py +0 -0
  78. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/PricingPreviews/PricePreviewLineItem.py +0 -0
  79. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/PricingPreviews/PricePreviewTotalsFormatted.py +0 -0
  80. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/PricingPreviews/PricePreviewUnitTotalsFormatted.py +0 -0
  81. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/PricingPreviews/__init__.py +0 -0
  82. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Product.py +0 -0
  83. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Report.py +0 -0
  84. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/ReportCSV.py +0 -0
  85. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Reports/ReportFilter.py +0 -0
  86. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Reports/ReportFilterName.py +0 -0
  87. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Reports/ReportFilterOperator.py +0 -0
  88. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Reports/ReportStatus.py +0 -0
  89. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Reports/ReportType.py +0 -0
  90. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Reports/__init__.py +0 -0
  91. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/Action.py +0 -0
  92. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/AddressPreview.py +0 -0
  93. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/AdjustmentItemTotals.py +0 -0
  94. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/AdjustmentProration.py +0 -0
  95. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/AdjustmentStatus.py +0 -0
  96. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/AdjustmentTimePeriod.py +0 -0
  97. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/AdjustmentTotals.py +0 -0
  98. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/AdjustmentType.py +0 -0
  99. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/AvailablePaymentMethods.py +0 -0
  100. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/BillingDetails.py +0 -0
  101. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/BillingDetailsUpdate.py +0 -0
  102. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/Card.py +0 -0
  103. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/CatalogType.py +0 -0
  104. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/ChargebackFee.py +0 -0
  105. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/Checkout.py +0 -0
  106. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/CollectionMode.py +0 -0
  107. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/Contacts.py +0 -0
  108. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/CountryCode.py +0 -0
  109. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/CurrencyCode.py +0 -0
  110. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/CurrencyCodeAdjustments.py +0 -0
  111. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/CurrencyCodePayouts.py +0 -0
  112. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/CustomData.py +0 -0
  113. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/Data.py +0 -0
  114. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/ErrorCode.py +0 -0
  115. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/ImportMeta.py +0 -0
  116. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/Interval.py +0 -0
  117. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/Meta.py +0 -0
  118. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/MetaPaginated.py +0 -0
  119. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/MethodDetails.py +0 -0
  120. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/Money.py +0 -0
  121. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/Original.py +0 -0
  122. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/Pagination.py +0 -0
  123. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/PaymentAttemptStatus.py +0 -0
  124. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/PaymentMethodType.py +0 -0
  125. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/PayoutTotalsAdjustment.py +0 -0
  126. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/PriceQuantity.py +0 -0
  127. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/Status.py +0 -0
  128. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/TaxCategory.py +0 -0
  129. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/TaxMode.py +0 -0
  130. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/TaxRatesUsed.py +0 -0
  131. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/TimePeriod.py +0 -0
  132. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/Totals.py +0 -0
  133. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/TransactionDetailsPreview.py +0 -0
  134. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/TransactionLineItemPreview.py +0 -0
  135. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/TransactionOrigin.py +0 -0
  136. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/TransactionPaymentAttempt.py +0 -0
  137. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/TransactionPayoutTotals.py +0 -0
  138. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/TransactionPayoutTotalsAdjusted.py +0 -0
  139. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/TransactionStatus.py +0 -0
  140. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/TransactionTotals.py +0 -0
  141. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/TransactionTotalsAdjusted.py +0 -0
  142. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/UnitPriceOverride.py +0 -0
  143. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/UnitTotals.py +0 -0
  144. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Shared/__init__.py +0 -0
  145. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscription.py +0 -0
  146. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/SubscriptionPreview.py +0 -0
  147. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionAdjustmentItem.py +0 -0
  148. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionAdjustmentPreview.py +0 -0
  149. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionCharge.py +0 -0
  150. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionCredit.py +0 -0
  151. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionDetails.py +0 -0
  152. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionDiscount.py +0 -0
  153. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionEffectiveFrom.py +0 -0
  154. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionItem.py +0 -0
  155. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionItemStatus.py +0 -0
  156. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionItems.py +0 -0
  157. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionItemsWithPrice.py +0 -0
  158. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionManagementUrls.py +0 -0
  159. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionNextTransaction.py +0 -0
  160. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionNonCatalogPrice.py +0 -0
  161. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionNonCatalogPriceWithProduct.py +0 -0
  162. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionNonCatalogProduct.py +0 -0
  163. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionOnPaymentFailure.py +0 -0
  164. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionPreviewSubscriptionUpdateSummary.py +0 -0
  165. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionPrice.py +0 -0
  166. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionProration.py +0 -0
  167. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionProrationBillingMode.py +0 -0
  168. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionResult.py +0 -0
  169. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionResultAction.py +0 -0
  170. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionResumeEffectiveFrom.py +0 -0
  171. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionScheduledChange.py +0 -0
  172. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionScheduledChangeAction.py +0 -0
  173. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionStatus.py +0 -0
  174. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionTimePeriod.py +0 -0
  175. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionTransactionItem.py +0 -0
  176. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionTransactionLineItem.py +0 -0
  177. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/SubscriptionUpdateItem.py +0 -0
  178. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Subscriptions/__init__.py +0 -0
  179. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transaction.py +0 -0
  180. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/TransactionData.py +0 -0
  181. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/TransactionPreview.py +0 -0
  182. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionAdjustmentsTotals.py +0 -0
  183. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionBreakdown.py +0 -0
  184. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionCardType.py +0 -0
  185. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionCreateItem.py +0 -0
  186. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionCreateItemWithPrice.py +0 -0
  187. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionDetails.py +0 -0
  188. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionItem.py +0 -0
  189. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionItemPreviewWithNonCatalogPrice.py +0 -0
  190. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionItemPreviewWithPrice.py +0 -0
  191. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionItemPreviewWithPriceId.py +0 -0
  192. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionLineItem.py +0 -0
  193. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionNonCatalogPrice.py +0 -0
  194. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionNonCatalogPriceWithProduct.py +0 -0
  195. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionNonCatalogProduct.py +0 -0
  196. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionProration.py +0 -0
  197. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionTimePeriod.py +0 -0
  198. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/TransactionUpdateTransactionItem.py +0 -0
  199. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/Transactions/__init__.py +0 -0
  200. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Entities/__init__.py +0 -0
  201. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/EnumStringify.py +0 -0
  202. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Environment.py +0 -0
  203. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/ApiErrors/AddressApiError.py +0 -0
  204. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/ApiErrors/AdjustmentApiError.py +0 -0
  205. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/ApiErrors/BusinessApiError.py +0 -0
  206. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/ApiErrors/CustomerApiError.py +0 -0
  207. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/ApiErrors/DiscountApiError.py +0 -0
  208. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/ApiErrors/PriceApiError.py +0 -0
  209. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/ApiErrors/ProductApiError.py +0 -0
  210. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/ApiErrors/SubscriptionApiError.py +0 -0
  211. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/ApiErrors/TransactionApiError.py +0 -0
  212. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/ApiErrors/__init__.py +0 -0
  213. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/FieldError.py +0 -0
  214. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/SdkException.py +0 -0
  215. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/SdkExceptions/InvalidArgumentException.py +0 -0
  216. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/SdkExceptions/MalformedResponse.py +0 -0
  217. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/SdkExceptions/__init__.py +0 -0
  218. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Exceptions/__init__.py +0 -0
  219. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/FiltersNone.py +0 -0
  220. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/FiltersUndefined.py +0 -0
  221. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/HasParameters.py +0 -0
  222. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Logger/Formatter.py +0 -0
  223. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Logger/NullHandler.py +0 -0
  224. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Logger/__init__.py +0 -0
  225. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Address.py +0 -0
  226. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Adjustment.py +0 -0
  227. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Adjustments/AdjustmentItem.py +0 -0
  228. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Adjustments/__init__.py +0 -0
  229. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Business.py +0 -0
  230. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Businesses/BusinessesContacts.py +0 -0
  231. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Businesses/__init__.py +0 -0
  232. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Customer.py +0 -0
  233. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/DateTime.py +0 -0
  234. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Discount.py +0 -0
  235. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Discounts/DiscountStatus.py +0 -0
  236. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Discounts/DiscountType.py +0 -0
  237. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Discounts/__init__.py +0 -0
  238. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Entity.py +0 -0
  239. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Payout.py +0 -0
  240. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Payouts/PayoutStatus.py +0 -0
  241. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Payouts/__init__.py +0 -0
  242. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Price.py +0 -0
  243. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Product.py +0 -0
  244. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Report.py +0 -0
  245. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Reports/ReportFilter.py +0 -0
  246. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Reports/ReportFilterName.py +0 -0
  247. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Reports/ReportFilterOperator.py +0 -0
  248. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Reports/ReportStatus.py +0 -0
  249. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Reports/ReportType.py +0 -0
  250. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Reports/__init__.py +0 -0
  251. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/Action.py +0 -0
  252. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/AddressPreview.py +0 -0
  253. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/AdjustmentItemTotals.py +0 -0
  254. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/AdjustmentProration.py +0 -0
  255. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/AdjustmentStatus.py +0 -0
  256. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/AdjustmentTimePeriod.py +0 -0
  257. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/AdjustmentTotals.py +0 -0
  258. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/AdjustmentType.py +0 -0
  259. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/AvailablePaymentMethods.py +0 -0
  260. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/BillingDetails.py +0 -0
  261. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/Card.py +0 -0
  262. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/CatalogType.py +0 -0
  263. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/ChargebackFee.py +0 -0
  264. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/Checkout.py +0 -0
  265. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/CollectionMode.py +0 -0
  266. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/CountryCode.py +0 -0
  267. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/CurrencyCode.py +0 -0
  268. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/CurrencyCodeAdjustments.py +0 -0
  269. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/CurrencyCodePayouts.py +0 -0
  270. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/CustomData.py +0 -0
  271. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/Data.py +0 -0
  272. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/ErrorCode.py +0 -0
  273. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/ImportMeta.py +0 -0
  274. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/Interval.py +0 -0
  275. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/MethodDetails.py +0 -0
  276. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/Money.py +0 -0
  277. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/Original.py +0 -0
  278. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/PaymentAttemptStatus.py +0 -0
  279. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/PaymentMethodType.py +0 -0
  280. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/PayoutTotalsAdjustment.py +0 -0
  281. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/PriceQuantity.py +0 -0
  282. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/Status.py +0 -0
  283. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/TaxCategory.py +0 -0
  284. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/TaxMode.py +0 -0
  285. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/TaxRatesUsed.py +0 -0
  286. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/TimePeriod.py +0 -0
  287. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/Totals.py +0 -0
  288. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/TransactionOrigin.py +0 -0
  289. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/TransactionPaymentAttempt.py +0 -0
  290. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/TransactionPayoutTotals.py +0 -0
  291. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/TransactionPayoutTotalsAdjusted.py +0 -0
  292. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/TransactionStatus.py +0 -0
  293. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/TransactionTotals.py +0 -0
  294. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/TransactionTotalsAdjusted.py +0 -0
  295. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/UnitPriceOverride.py +0 -0
  296. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/UnitTotals.py +0 -0
  297. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Shared/__init__.py +0 -0
  298. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscription.py +0 -0
  299. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscriptions/SubscriptionAdjustmentItem.py +0 -0
  300. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscriptions/SubscriptionCharge.py +0 -0
  301. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscriptions/SubscriptionCredit.py +0 -0
  302. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscriptions/SubscriptionDiscount.py +0 -0
  303. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscriptions/SubscriptionEffectiveFrom.py +0 -0
  304. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscriptions/SubscriptionItem.py +0 -0
  305. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscriptions/SubscriptionItemStatus.py +0 -0
  306. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscriptions/SubscriptionOnPaymentFailure.py +0 -0
  307. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscriptions/SubscriptionPrice.py +0 -0
  308. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscriptions/SubscriptionScheduledChange.py +0 -0
  309. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscriptions/SubscriptionScheduledChangeAction.py +0 -0
  310. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscriptions/SubscriptionStatus.py +0 -0
  311. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscriptions/SubscriptionTimePeriod.py +0 -0
  312. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Subscriptions/__init__.py +0 -0
  313. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Transaction.py +0 -0
  314. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Transactions/TransactionAdjustmentsTotals.py +0 -0
  315. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Transactions/TransactionBreakdown.py +0 -0
  316. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Transactions/TransactionCardType.py +0 -0
  317. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Transactions/TransactionDetails.py +0 -0
  318. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Transactions/TransactionItem.py +0 -0
  319. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Transactions/TransactionLineItem.py +0 -0
  320. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Transactions/TransactionProration.py +0 -0
  321. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Transactions/TransactionTimePeriod.py +0 -0
  322. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/Transactions/__init__.py +0 -0
  323. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Entities/__init__.py +0 -0
  324. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/AddressCreated.py +0 -0
  325. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/AddressUpdated.py +0 -0
  326. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/AdjustmentCreated.py +0 -0
  327. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/AdjustmentUpdated.py +0 -0
  328. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/BusinessCreated.py +0 -0
  329. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/BusinessUpdated.py +0 -0
  330. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/CustomerCreated.py +0 -0
  331. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/CustomerUpdated.py +0 -0
  332. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/DiscountCreated.py +0 -0
  333. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/DiscountImported.py +0 -0
  334. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/DiscountUpdated.py +0 -0
  335. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/PayoutCreated.py +0 -0
  336. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/PayoutPaid.py +0 -0
  337. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/PriceCreated.py +0 -0
  338. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/PriceUpdated.py +0 -0
  339. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/ProductCreated.py +0 -0
  340. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/ProductUpdated.py +0 -0
  341. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/ReportCreated.py +0 -0
  342. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/ReportUpdated.py +0 -0
  343. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/SubscriptionActivated.py +0 -0
  344. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/SubscriptionCanceled.py +0 -0
  345. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/SubscriptionCreated.py +0 -0
  346. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/SubscriptionImported.py +0 -0
  347. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/SubscriptionPastDue.py +0 -0
  348. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/SubscriptionPaused.py +0 -0
  349. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/SubscriptionResumed.py +0 -0
  350. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/SubscriptionTrialing.py +0 -0
  351. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/SubscriptionUpdated.py +0 -0
  352. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/TransactionBilled.py +0 -0
  353. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/TransactionCanceled.py +0 -0
  354. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/TransactionCompleted.py +0 -0
  355. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/TransactionCreated.py +0 -0
  356. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/TransactionPaid.py +0 -0
  357. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/TransactionPastDue.py +0 -0
  358. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/TransactionPaymentFailed.py +0 -0
  359. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/TransactionReady.py +0 -0
  360. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/TransactionUpdated.py +0 -0
  361. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Events/__init__.py +0 -0
  362. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/PaddleSignature.py +0 -0
  363. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Secret.py +0 -0
  364. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/Verifier.py +0 -0
  365. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Notifications/__init__.py +0 -0
  366. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Options.py +0 -0
  367. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/PaddleStrEnum.py +0 -0
  368. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/RecursivelyRemoveKey.py +0 -0
  369. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Addresses/AddressesClient.py +0 -0
  370. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Addresses/Operations/CreateAddress.py +0 -0
  371. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Addresses/Operations/ListAddresses.py +0 -0
  372. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Addresses/Operations/UpdateAddress.py +0 -0
  373. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Addresses/Operations/__init__.py +0 -0
  374. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Addresses/__init__.py +0 -0
  375. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Adjustments/AdjustmentsClient.py +0 -0
  376. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Adjustments/Operations/Create/AdjustmentItem.py +0 -0
  377. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Adjustments/Operations/Create/__init__.py +0 -0
  378. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Adjustments/Operations/CreateAdjustment.py +0 -0
  379. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Adjustments/Operations/ListAdjustments.py +0 -0
  380. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Adjustments/Operations/__init__.py +0 -0
  381. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Adjustments/__init__.py +0 -0
  382. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Businesses/BusinessesClient.py +0 -0
  383. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Businesses/Operations/CreateBusiness.py +0 -0
  384. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Businesses/Operations/ListBusinesses.py +0 -0
  385. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Businesses/Operations/UpdateBusiness.py +0 -0
  386. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Businesses/Operations/__init__.py +0 -0
  387. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Businesses/__init__.py +0 -0
  388. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Customers/CustomersClient.py +0 -0
  389. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Customers/Operations/CreateCustomer.py +0 -0
  390. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Customers/Operations/ListCreditBalances.py +0 -0
  391. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Customers/Operations/ListCustomers.py +0 -0
  392. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Customers/Operations/UpdateCustomer.py +0 -0
  393. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Customers/Operations/__init__.py +0 -0
  394. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Customers/__init__.py +0 -0
  395. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Discounts/DiscountsClient.py +0 -0
  396. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Discounts/Operations/CreateDiscount.py +0 -0
  397. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Discounts/Operations/ListDiscounts.py +0 -0
  398. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Discounts/Operations/UpdateDiscount.py +0 -0
  399. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Discounts/Operations/__init__.py +0 -0
  400. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Discounts/__init__.py +0 -0
  401. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/EventTypes/EventTypesClient.py +0 -0
  402. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/EventTypes/__init__.py +0 -0
  403. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Events/EventsClient.py +0 -0
  404. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Events/Operations/ListEvents.py +0 -0
  405. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Events/Operations/__init__.py +0 -0
  406. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Events/__init__.py +0 -0
  407. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/NotificationLogs/NotificationLogsClient.py +0 -0
  408. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/NotificationLogs/Operations/ListNotificationLogs.py +0 -0
  409. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/NotificationLogs/Operations/__init__.py +0 -0
  410. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/NotificationLogs/__init__.py +0 -0
  411. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/NotificationSettings/NotificationSettingsClient.py +0 -0
  412. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/NotificationSettings/Operations/CreateNotificationSetting.py +0 -0
  413. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/NotificationSettings/Operations/UpdateNotificationSetting.py +0 -0
  414. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/NotificationSettings/Operations/__init__.py +0 -0
  415. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/NotificationSettings/__init__.py +0 -0
  416. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Notifications/NotificationsClient.py +0 -0
  417. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Notifications/Operations/ListNotifications.py +0 -0
  418. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Notifications/Operations/__init__.py +0 -0
  419. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Notifications/__init__.py +0 -0
  420. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Prices/Operations/CreatePrice.py +0 -0
  421. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Prices/Operations/List/Includes.py +0 -0
  422. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Prices/Operations/List/__init__.py +0 -0
  423. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Prices/Operations/ListPrices.py +0 -0
  424. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Prices/Operations/UpdatePrice.py +0 -0
  425. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Prices/Operations/__init__.py +0 -0
  426. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Prices/PricesClient.py +0 -0
  427. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Prices/__init__.py +0 -0
  428. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/PricingPreviews/Operations/PreviewPrice.py +0 -0
  429. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/PricingPreviews/Operations/__init__.py +0 -0
  430. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/PricingPreviews/PricingPreviewsClient.py +0 -0
  431. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/PricingPreviews/__init__.py +0 -0
  432. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Products/Operations/CreateProduct.py +0 -0
  433. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Products/Operations/List/Includes.py +0 -0
  434. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Products/Operations/List/__init__.py +0 -0
  435. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Products/Operations/ListProducts.py +0 -0
  436. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Products/Operations/UpdateProduct.py +0 -0
  437. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Products/Operations/__init__.py +0 -0
  438. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Products/ProductsClient.py +0 -0
  439. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Products/__init__.py +0 -0
  440. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Reports/Operations/CreateReport.py +0 -0
  441. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Reports/Operations/ListReports.py +0 -0
  442. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Reports/Operations/__init__.py +0 -0
  443. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Reports/ReportsClient.py +0 -0
  444. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Reports/__init__.py +0 -0
  445. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Shared/Operations/List/Comparator.py +0 -0
  446. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Shared/Operations/List/DateComparison.py +0 -0
  447. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Shared/Operations/List/OrderBy.py +0 -0
  448. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Shared/Operations/List/Pager.py +0 -0
  449. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Shared/Operations/List/__init__.py +0 -0
  450. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Shared/Operations/__init__.py +0 -0
  451. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Shared/__init__.py +0 -0
  452. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/Operations/CancelSubscription.py +0 -0
  453. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/Operations/CreateOneTimeCharge.py +0 -0
  454. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/Operations/Get/Includes.py +0 -0
  455. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/Operations/Get/__init__.py +0 -0
  456. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/Operations/ListSubscriptions.py +0 -0
  457. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/Operations/PauseSubscription.py +0 -0
  458. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/Operations/PreviewOneTimeCharge.py +0 -0
  459. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/Operations/PreviewUpdateSubscription.py +0 -0
  460. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/Operations/ResumeSubscription.py +0 -0
  461. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/Operations/Update/SubscriptionDiscount.py +0 -0
  462. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/Operations/Update/__init__.py +0 -0
  463. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/Operations/UpdateSubscription.py +0 -0
  464. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/Operations/__init__.py +0 -0
  465. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/SubscriptionsClient.py +0 -0
  466. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Subscriptions/__init__.py +0 -0
  467. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Transactions/Operations/CreateTransaction.py +0 -0
  468. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Transactions/Operations/List/Includes.py +0 -0
  469. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Transactions/Operations/List/Origin.py +0 -0
  470. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Transactions/Operations/List/__init__.py +0 -0
  471. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Transactions/Operations/ListTransactions.py +0 -0
  472. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Transactions/Operations/PreviewTransaction.py +0 -0
  473. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Transactions/Operations/UpdateTransaction.py +0 -0
  474. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Transactions/Operations/__init__.py +0 -0
  475. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Transactions/TransactionsClient.py +0 -0
  476. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/Transactions/__init__.py +0 -0
  477. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Resources/__init__.py +0 -0
  478. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/Undefined.py +0 -0
  479. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_billing/__init__.py +0 -0
  480. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_python_sdk.egg-info/dependency_links.txt +0 -0
  481. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_python_sdk.egg-info/requires.txt +0 -0
  482. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/paddle_python_sdk.egg-info/top_level.txt +0 -0
  483. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/setup.cfg +0 -0
  484. {paddle_python_sdk-0.1.1/tests/Functional/Resources/Addresses → paddle_python_sdk-0.1.3/tests/Functional/Client}/__init__.py +0 -0
  485. {paddle_python_sdk-0.1.1/tests/Functional/Resources/Adjustments → paddle_python_sdk-0.1.3/tests/Functional/Resources/Addresses}/__init__.py +0 -0
  486. {paddle_python_sdk-0.1.1/tests/Functional/Resources/Businesses → paddle_python_sdk-0.1.3/tests/Functional/Resources/Adjustments}/__init__.py +0 -0
  487. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/Adjustments/test_AdjustmentsClient.py +0 -0
  488. {paddle_python_sdk-0.1.1/tests/Functional/Resources/Customers → paddle_python_sdk-0.1.3/tests/Functional/Resources/Businesses}/__init__.py +0 -0
  489. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/Businesses/test_BusinessesClient.py +0 -0
  490. {paddle_python_sdk-0.1.1/tests/Functional/Resources/Discounts → paddle_python_sdk-0.1.3/tests/Functional/Resources/Customers}/__init__.py +0 -0
  491. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/Customers/test_CustomersClient.py +0 -0
  492. {paddle_python_sdk-0.1.1/tests/Functional/Resources/EventTypes → paddle_python_sdk-0.1.3/tests/Functional/Resources/Discounts}/__init__.py +0 -0
  493. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/Discounts/test_DiscountsClient.py +0 -0
  494. {paddle_python_sdk-0.1.1/tests/Functional/Resources/Events → paddle_python_sdk-0.1.3/tests/Functional/Resources/EventTypes}/__init__.py +0 -0
  495. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/EventTypes/test_EventTypesClient.py +0 -0
  496. {paddle_python_sdk-0.1.1/tests/Functional/Resources/NotificationLogs → paddle_python_sdk-0.1.3/tests/Functional/Resources/Events}/__init__.py +0 -0
  497. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/Events/test_EventsClient.py +0 -0
  498. {paddle_python_sdk-0.1.1/tests/Functional/Resources/NotificationSettings → paddle_python_sdk-0.1.3/tests/Functional/Resources/NotificationLogs}/__init__.py +0 -0
  499. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/NotificationLogs/test_NotificationLogsClient.py +0 -0
  500. {paddle_python_sdk-0.1.1/tests/Functional/Resources/Notifications → paddle_python_sdk-0.1.3/tests/Functional/Resources/NotificationSettings}/__init__.py +0 -0
  501. {paddle_python_sdk-0.1.1/tests/Functional/Resources/Prices → paddle_python_sdk-0.1.3/tests/Functional/Resources/Notifications}/__init__.py +0 -0
  502. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/Notifications/test_NotificationsClient.py +0 -0
  503. {paddle_python_sdk-0.1.1/tests/Functional/Resources/PricingPreviews → paddle_python_sdk-0.1.3/tests/Functional/Resources/Prices}/__init__.py +0 -0
  504. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/Prices/test_PricesClient.py +0 -0
  505. {paddle_python_sdk-0.1.1/tests/Functional/Resources/Products → paddle_python_sdk-0.1.3/tests/Functional/Resources/PricingPreviews}/__init__.py +0 -0
  506. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/PricingPreviews/test_PricingPreviewsClient.py +0 -0
  507. {paddle_python_sdk-0.1.1/tests/Functional/Resources/Reports → paddle_python_sdk-0.1.3/tests/Functional/Resources/Products}/__init__.py +0 -0
  508. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/Products/test_ProductsClient.py +0 -0
  509. {paddle_python_sdk-0.1.1/tests/Functional/Resources/Subscriptions → paddle_python_sdk-0.1.3/tests/Functional/Resources/Reports}/__init__.py +0 -0
  510. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/Reports/test_ReportsClient.py +0 -0
  511. {paddle_python_sdk-0.1.1/tests/Functional/Resources/Transactions → paddle_python_sdk-0.1.3/tests/Functional/Resources/Subscriptions}/__init__.py +0 -0
  512. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/Subscriptions/test_SubscriptionsClient.py +0 -0
  513. {paddle_python_sdk-0.1.1/tests/Functional/Resources → paddle_python_sdk-0.1.3/tests/Functional/Resources/Transactions}/__init__.py +0 -0
  514. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Functional/Resources/Transactions/test_TransactionsClient.py +0 -0
  515. {paddle_python_sdk-0.1.1/tests/Functional → paddle_python_sdk-0.1.3/tests/Functional/Resources}/__init__.py +0 -0
  516. {paddle_python_sdk-0.1.1/tests/Unit/Logger → paddle_python_sdk-0.1.3/tests/Functional}/__init__.py +0 -0
  517. {paddle_python_sdk-0.1.1/tests/Unit/Notification → paddle_python_sdk-0.1.3/tests/Unit/Logger}/__init__.py +0 -0
  518. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Unit/Logger/test_Logger.py +0 -0
  519. {paddle_python_sdk-0.1.1/tests/Unit/PaddleStrEnum → paddle_python_sdk-0.1.3/tests/Unit/Notification}/__init__.py +0 -0
  520. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Unit/Notification/test_Verifier.py +0 -0
  521. {paddle_python_sdk-0.1.1/tests/Unit → paddle_python_sdk-0.1.3/tests/Unit/PaddleStrEnum}/__init__.py +0 -0
  522. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Unit/PaddleStrEnum/test_PaddleStrEnum.py +0 -0
  523. {paddle_python_sdk-0.1.1/tests → paddle_python_sdk-0.1.3/tests/Unit}/__init__.py +0 -0
  524. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Utils/FakeResponse.py +0 -0
  525. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Utils/ReadsFixture.py +0 -0
  526. {paddle_python_sdk-0.1.1 → paddle_python_sdk-0.1.3}/tests/Utils/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: paddle-python-sdk
3
- Version: 0.1.1
3
+ Version: 0.1.3
4
4
  Summary: Paddle's Python SDK for Paddle Billing
5
5
  Home-page: https://developer.paddle.com/api-reference/overview
6
6
  Author: Paddle and contributors
@@ -9,6 +9,7 @@ from uuid import uuid4
9
9
  from paddle_billing.FiltersUndefined import FiltersUndefined
10
10
  from paddle_billing.HasParameters import HasParameters
11
11
  from paddle_billing.Options import Options
12
+ from paddle_billing.ResponseParser import ResponseParser
12
13
 
13
14
  from paddle_billing.Logger.NullHandler import NullHandler
14
15
 
@@ -133,8 +134,17 @@ class Client:
133
134
  except RequestException as e:
134
135
  self.status_code = e.response.status_code
135
136
 
137
+ api_error = None
138
+ if e.response is not None:
139
+ response_parser = ResponseParser(e.response)
140
+ api_error = response_parser.get_error()
141
+
136
142
  if self.log:
137
- self.log.error(f"Request failed: {e}")
143
+ self.log.error(f"Request failed: {e}.{' ' + api_error.detail if api_error is not None else ''}")
144
+
145
+ if api_error is not None:
146
+ raise api_error
147
+
138
148
  raise
139
149
 
140
150
 
@@ -187,7 +197,7 @@ class Client:
187
197
  'Authorization': f"Bearer {self.__api_key}",
188
198
  'Content-Type': 'application/json',
189
199
  'Paddle-Version': str(self.use_api_version),
190
- 'User-Agent': 'PaddleSDK/python 0.1.1',
200
+ 'User-Agent': 'PaddleSDK/python 0.1.3',
191
201
  })
192
202
 
193
203
  # Configure retries
@@ -7,9 +7,9 @@ from paddle_billing.Entities.Collections.Paginator import Paginator
7
7
  class NotificationSettingCollection(Collection):
8
8
  @classmethod
9
9
  def from_list(cls, items_data: list, paginator: Paginator | None = None) -> NotificationSettingCollection:
10
- from paddle_billing.Entities.Notification import Notification
10
+ from paddle_billing.Entities.NotificationSetting import NotificationSetting
11
11
 
12
- items: list[Notification] = [Notification.from_dict(item) for item in items_data]
12
+ items: list[NotificationSetting] = [NotificationSetting.from_dict(item) for item in items_data]
13
13
 
14
14
  return NotificationSettingCollection(items, paginator)
15
15
 
@@ -1,25 +1,27 @@
1
1
  from paddle_billing.Exceptions.FieldError import FieldError
2
2
 
3
+ from requests import HTTPError
3
4
 
4
- class ApiError(Exception):
5
- def __init__(self, error_type, error_code, detail, docs_url, *field_errors):
5
+ class ApiError(HTTPError):
6
+ def __init__(self, response, error_type, error_code, detail, docs_url, *field_errors):
7
+ super().__init__(detail, response=response)
6
8
  self.error_type = error_type
7
9
  self.error_code = error_code
8
10
  self.detail = detail
9
11
  self.docs_url = docs_url
10
12
  self.field_errors = field_errors
11
- super().__init__(self.detail)
12
13
 
13
14
 
14
15
  def __repr__(self):
15
- return (f"ApiError(type='{self.error_type}', error_code='{self.error_code}', detail='{self.detail}', "
16
+ return (f"ApiError(error_type='{self.error_type}', error_code='{self.error_code}', detail='{self.detail}', "
16
17
  f"docs_url='{self.docs_url}', field_errors={self.field_errors})")
17
18
 
18
19
 
19
20
  @classmethod
20
- def from_error_data(cls, error):
21
+ def from_error_data(cls, response, error):
21
22
  field_errors = [FieldError(fe['field'], fe['message']) for fe in error.get('errors', [])]
22
23
  return cls(
24
+ response,
23
25
  error['type'],
24
26
  error['code'],
25
27
  error['detail'],
@@ -9,6 +9,8 @@ from paddle_billing.Exceptions.ApiError import ApiError
9
9
  class ResponseParser:
10
10
  def __init__(self, response: Response):
11
11
  self.body = None
12
+ self.error = None
13
+ self.response = response
12
14
 
13
15
  if not hasattr(response, 'text'):
14
16
  return
@@ -19,13 +21,17 @@ class ResponseParser:
19
21
  self.body = None
20
22
 
21
23
  if self.body and 'error' in self.body:
22
- self.parse_errors()
24
+ self.error = self.parse_errors()
23
25
 
24
26
 
25
27
  def get_data(self) -> list | dict:
26
28
  return self.body.get('data', []) if self.body else []
27
29
 
28
30
 
31
+ def get_error(self) -> ApiError | None:
32
+ return self.error
33
+
34
+
29
35
  def get_pagination(self) -> Pagination:
30
36
  meta = self.body.get('meta', {}) if self.body else {}
31
37
  pagination = meta.get('pagination', {}) if meta else {}
@@ -38,15 +44,15 @@ class ResponseParser:
38
44
  )
39
45
 
40
46
 
41
- def parse_errors(self):
47
+ def parse_errors(self) -> ApiError | None:
42
48
  if not self.body or 'error' not in self.body:
43
- return
49
+ return None
44
50
 
45
51
  error = self.body['error']
46
52
  code = error.get('code', 'shared_error')
47
53
  exception_class = self.find_exception_class_from_code(code)
48
54
 
49
- raise exception_class(error)
55
+ return exception_class.from_error_data(self.response, error)
50
56
 
51
57
 
52
58
  @staticmethod
@@ -57,7 +63,7 @@ class ResponseParser:
57
63
  if not resource:
58
64
  return ApiError
59
65
 
60
- class_name = f"api_error.{resource}ApiError"
66
+ class_name = f"paddle_billing.Exceptions.ApiErrors.{resource}ApiError"
61
67
  try:
62
68
  module = __import__(class_name, fromlist=[''])
63
69
  return getattr(module, f'{resource}ApiError')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: paddle-python-sdk
3
- Version: 0.1.1
3
+ Version: 0.1.3
4
4
  Summary: Paddle's Python SDK for Paddle Billing
5
5
  Home-page: https://developer.paddle.com/api-reference/overview
6
6
  Author: Paddle and contributors
@@ -473,7 +473,10 @@ paddle_python_sdk.egg-info/dependency_links.txt
473
473
  paddle_python_sdk.egg-info/requires.txt
474
474
  paddle_python_sdk.egg-info/top_level.txt
475
475
  tests/__init__.py
476
+ tests/conftest.py
476
477
  tests/Functional/__init__.py
478
+ tests/Functional/Client/__init__.py
479
+ tests/Functional/Client/test_Client.py
477
480
  tests/Functional/Resources/__init__.py
478
481
  tests/Functional/Resources/Addresses/__init__.py
479
482
  tests/Functional/Resources/Addresses/test_AddressesClient.py
@@ -517,4 +520,5 @@ tests/Unit/PaddleStrEnum/test_PaddleStrEnum.py
517
520
  tests/Utils/FakeResponse.py
518
521
  tests/Utils/ReadsFixture.py
519
522
  tests/Utils/TestClient.py
523
+ tests/Utils/TestLogger.py
520
524
  tests/Utils/__init__.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
 
4
4
  setup(
5
- version = '0.1.1',
5
+ version = '0.1.3',
6
6
 
7
7
  author = 'Paddle and contributors',
8
8
  author_email = 'team-dx@paddle.com',
@@ -0,0 +1,138 @@
1
+ from json import loads, dumps
2
+ from pytest import mark, raises
3
+ from urllib.parse import unquote
4
+
5
+ from paddle_billing.Exceptions.ApiError import ApiError
6
+ from paddle_billing.Exceptions.ApiErrors.AddressApiError import AddressApiError
7
+
8
+ from requests.exceptions import RequestException, HTTPError
9
+
10
+ from tests.Utils.TestLogger import test_log_handler, LogHandler
11
+
12
+
13
+ class TestClient:
14
+ @mark.parametrize(
15
+ [
16
+ 'expected_response_status',
17
+ 'expected_reason',
18
+ 'expected_response_body',
19
+ 'expected_exception',
20
+ ],
21
+ [
22
+ (
23
+ 400,
24
+ 'Bad Request',
25
+ {
26
+ "error": {
27
+ "type": "request_error",
28
+ "code": "bad_request",
29
+ "detail": "Invalid request",
30
+ "documentation_url": "https://developer.paddle.com/v1/errors/shared/bad_request",
31
+ "errors": [
32
+ {
33
+ "field": "some_field",
34
+ "message": "Some error message"
35
+ }
36
+ ]
37
+ },
38
+ "meta": {
39
+ "request_id": "f00bb3ca-399d-4686-889c-50b028f4c912"
40
+ }
41
+ },
42
+ ApiError
43
+ ),
44
+ (
45
+ 404,
46
+ 'Not Found',
47
+ {
48
+ "error": {
49
+ "type": "request_error",
50
+ "code": "not_found",
51
+ "detail": "Entity not found",
52
+ "documentation_url": "https://developer.paddle.com/v1/errors/shared/not_found"
53
+ },
54
+ "meta": {
55
+ "request_id": "f00bb3ca-399d-4686-889c-50b028f4c912"
56
+ }
57
+ },
58
+ ApiError
59
+ ),
60
+ (
61
+ 400,
62
+ 'Bad Request',
63
+ {
64
+ "error": {
65
+ "type": "request_error",
66
+ "code": "address_location_not_allowed",
67
+ "detail": "Cannot create address with an unsupported location",
68
+ "documentation_url": "https://developer.paddle.com/errors/addresses/address_location_not_allowed"
69
+ },
70
+ "meta": {
71
+ "request_id": "f00bb3ca-399d-4686-889c-50b028f4c912"
72
+ }
73
+ },
74
+ AddressApiError
75
+ ),
76
+ ],
77
+ ids=[
78
+ "Returns bad_request response",
79
+ "Returns not_found response",
80
+ "Returns address_location_not_allowed response",
81
+ ],
82
+ )
83
+ def test_post_raw_returns_error_response(
84
+ self,
85
+ test_client,
86
+ test_log_handler: LogHandler,
87
+ mock_requests,
88
+ expected_response_status,
89
+ expected_reason,
90
+ expected_response_body,
91
+ expected_exception
92
+ ):
93
+ expected_request_url = f"{test_client.base_url}/some/url"
94
+ expected_request_body = { "some_property": "some value" }
95
+ mock_requests.post(expected_request_url, status_code=expected_response_status, text=dumps(expected_response_body), reason=expected_reason)
96
+
97
+ with raises(expected_exception) as exception_info:
98
+ test_client.client.post_raw(expected_request_url, expected_request_body)
99
+
100
+ request_json = test_client.client.payload
101
+ last_request = mock_requests.last_request
102
+ api_error = exception_info.value
103
+
104
+ assert unquote(last_request.url) == expected_request_url, \
105
+ "The URL does not match the expected URL, verify the query string is correct"
106
+
107
+ assert loads(request_json) == expected_request_body, \
108
+ "The request JSON doesn't match the expected fixture JSON"
109
+
110
+ assert isinstance(api_error, ApiError)
111
+ assert isinstance(api_error, HTTPError)
112
+ assert isinstance(api_error, RequestException)
113
+ assert api_error.response.status_code == expected_response_status, 'Unexpected status code'
114
+ assert api_error.error_type == expected_response_body['error']['type']
115
+ assert api_error.error_code == expected_response_body['error']['code']
116
+ assert api_error.detail == expected_response_body['error']['detail']
117
+ assert api_error.docs_url == expected_response_body['error']['documentation_url']
118
+
119
+ if 'errors' in expected_response_body['error']:
120
+ assert len(api_error.field_errors) == len(expected_response_body['error']['errors'])
121
+
122
+ for i, expected_field_error in enumerate(expected_response_body['error']['errors']):
123
+ assert api_error.field_errors[i].field == expected_field_error['field']
124
+ assert api_error.field_errors[i].error == expected_field_error['message']
125
+ else:
126
+ assert len(api_error.field_errors) == 0
127
+
128
+ assert str(api_error) == expected_response_body['error']['detail']
129
+ assert repr(api_error) == ("ApiError("
130
+ f"error_type='{api_error.error_type}', "
131
+ f"error_code='{api_error.error_code}', "
132
+ f"detail='{api_error.detail}', "
133
+ f"docs_url='{api_error.docs_url}', "
134
+ f"field_errors={api_error.field_errors}"
135
+ ")")
136
+
137
+ assert test_log_handler.get_logs()[0].message == \
138
+ f"Request failed: {expected_response_status} Client Error: {expected_reason} for url: {expected_request_url}. {api_error.detail}"
@@ -1,14 +1,17 @@
1
- from json import loads
2
- from pytest import mark
1
+ from json import loads, dumps
2
+ from pytest import mark, raises
3
3
  from urllib.parse import unquote
4
4
 
5
5
  from paddle_billing.Entities.Address import Address
6
6
  from paddle_billing.Entities.Collections import AddressCollection
7
7
  from paddle_billing.Entities.Shared import CountryCode, CustomData, Status
8
+ from paddle_billing.Exceptions.ApiError import ApiError
8
9
 
9
10
  from paddle_billing.Resources.Addresses.Operations import CreateAddress, ListAddresses, UpdateAddress
10
11
  from paddle_billing.Resources.Shared.Operations import Pager
11
12
 
13
+ from requests.exceptions import RequestException, HTTPError
14
+
12
15
  from tests.Utils.TestClient import mock_requests, test_client
13
16
  from tests.Utils.ReadsFixture import ReadsFixtures
14
17
 
@@ -78,6 +81,100 @@ class TestAddressesClient:
78
81
  "The response JSON doesn't match the expected fixture JSON"
79
82
 
80
83
 
84
+ @mark.parametrize(
85
+ [
86
+ 'customer_id',
87
+ 'operation',
88
+ 'expected_request_body',
89
+ 'expected_response_status',
90
+ 'expected_reason',
91
+ 'expected_response_body',
92
+ 'expected_url_path',
93
+ ],
94
+ [
95
+ (
96
+ 'ctm_01h844p3h41s12zs5mn4axja51',
97
+ CreateAddress(CountryCode.AG),
98
+ ReadsFixtures.read_raw_json_fixture('request/create_basic'),
99
+ 400,
100
+ 'Bad Request',
101
+ {
102
+ "error": {
103
+ "type": "request_error",
104
+ "code": "bad_request",
105
+ "detail": "Invalid request",
106
+ "documentation_url": "https://developer.paddle.com/v1/errors/shared/bad_request",
107
+ "errors": [
108
+ {
109
+ "field": "postal_code",
110
+ "message": "US postal_code must be 5 digits only"
111
+ }
112
+ ]
113
+ },
114
+ "meta": {
115
+ "request_id": "f00bb3ca-399d-4686-889c-50b028f4c911"
116
+ }
117
+ },
118
+ '/customers/ctm_01h844p3h41s12zs5mn4axja51/addresses'
119
+ ),
120
+ ],
121
+ ids=[
122
+ "Returns 400 response for postal code",
123
+ ],
124
+ )
125
+ def test_create_address_returns_error_response(
126
+ self,
127
+ test_client,
128
+ mock_requests,
129
+ customer_id,
130
+ operation,
131
+ expected_request_body,
132
+ expected_response_status,
133
+ expected_reason,
134
+ expected_response_body,
135
+ expected_url_path,
136
+ ):
137
+ expected_url = f"{test_client.base_url}{expected_url_path}"
138
+ mock_requests.post(expected_url, status_code=expected_response_status, text=dumps(expected_response_body), reason=expected_reason)
139
+
140
+ with raises(ApiError) as exception_info:
141
+ test_client.client.addresses.create(customer_id, operation)
142
+
143
+ request_json = test_client.client.payload
144
+ last_request = mock_requests.last_request
145
+ api_error = exception_info.value
146
+
147
+ assert unquote(last_request.url) == expected_url, \
148
+ "The URL does not match the expected URL, verify the query string is correct"
149
+
150
+ assert loads(request_json) == loads(expected_request_body), \
151
+ "The request JSON doesn't match the expected fixture JSON"
152
+
153
+ assert isinstance(api_error, ApiError)
154
+ assert isinstance(api_error, HTTPError)
155
+ assert isinstance(api_error, RequestException)
156
+ assert api_error.response.status_code == expected_response_status, 'Unexpected status code'
157
+ assert api_error.error_type == expected_response_body['error']['type']
158
+ assert api_error.error_code == expected_response_body['error']['code']
159
+ assert api_error.detail == expected_response_body['error']['detail']
160
+ assert api_error.docs_url == expected_response_body['error']['documentation_url']
161
+
162
+ assert len(api_error.field_errors) == len(expected_response_body['error']['errors'])
163
+
164
+ for i, expected_field_error in enumerate(expected_response_body['error']['errors']):
165
+ assert api_error.field_errors[i].field == expected_field_error['field']
166
+ assert api_error.field_errors[i].error == expected_field_error['message']
167
+
168
+ assert str(api_error) == api_error.detail
169
+ assert repr(api_error) == ("ApiError("
170
+ f"error_type='{api_error.error_type}', "
171
+ f"error_code='{api_error.error_code}', "
172
+ f"detail='{api_error.detail}', "
173
+ f"docs_url='{api_error.docs_url}', "
174
+ f"field_errors={api_error.field_errors}"
175
+ ")")
176
+
177
+
81
178
  @mark.parametrize(
82
179
  'customer_id, address_id, operation, expected_request_body, expected_response_status, expected_response_body, expected_url',
83
180
  [
@@ -200,13 +200,17 @@ class TestNotificationSettingsClient:
200
200
  expected_url,
201
201
  ):
202
202
  expected_url = f"{test_client.base_url}{expected_url}"
203
- mock_requests.get(expected_url, status_code=expected_response_status)
203
+ mock_requests.get(expected_url, status_code=expected_response_status, text=expected_response_body)
204
204
 
205
205
  response = test_client.client.notification_settings.list()
206
206
  last_request = mock_requests.last_request
207
207
 
208
208
  assert isinstance(response, NotificationSettingCollection)
209
+ assert all(
210
+ isinstance(item, NotificationSetting) for item in response.items
211
+ ), "Not all items are NotificationSetting"
209
212
  assert last_request is not None
213
+
210
214
  assert last_request.method == 'GET'
211
215
  assert test_client.client.status_code == expected_response_status
212
216
  assert unquote(last_request.url) == expected_url, \
@@ -1,20 +1,24 @@
1
1
  from os import getenv
2
2
  from pytest import fixture
3
3
  from requests_mock import Mocker
4
+ from logging import Logger
4
5
 
5
6
  from paddle_billing import Client, Environment, Options
6
7
 
8
+ from tests.Utils.TestLogger import test_logger
9
+
7
10
 
8
11
  class TestClient:
9
12
  def __init__(
10
13
  self,
11
14
  client: Client | None = None,
12
15
  api_secret_key: str | None = None,
13
- environment: Environment = Environment.SANDBOX
16
+ environment: Environment = Environment.SANDBOX,
17
+ logger: Logger | None = None,
14
18
  ):
15
19
  self._environment = environment
16
20
  self._base_url = self._environment.base_url
17
- self._client = client or self.create_client(api_secret_key)
21
+ self._client = client or self.create_client(api_secret_key, logger)
18
22
 
19
23
 
20
24
  @property
@@ -30,16 +34,17 @@ class TestClient:
30
34
  return self._environment
31
35
 
32
36
 
33
- def create_client(self, api_secret_key: str | None = None):
37
+ def create_client(self, api_secret_key: str | None = None, logger: Logger | None = None):
34
38
  return Client(
35
39
  getenv('PADDLE_API_SECRET_KEY') if api_secret_key is None else api_secret_key,
36
40
  options = Options(self._environment),
41
+ logger=logger
37
42
  )
38
43
 
39
44
 
40
45
  @fixture(autouse=True)
41
- def test_client():
42
- return TestClient(environment=Environment.SANDBOX)
46
+ def test_client(test_logger):
47
+ return TestClient(environment=Environment.SANDBOX, logger=test_logger)
43
48
 
44
49
 
45
50
  @fixture
@@ -0,0 +1,28 @@
1
+ from pytest import fixture
2
+ from logging import getLogger, Logger, Handler, LogRecord
3
+
4
+
5
+ class LogHandler(Handler):
6
+ def __init__(self):
7
+ super().__init__()
8
+ self._logs = []
9
+
10
+
11
+ def emit(self, record):
12
+ self._logs.append(record)
13
+
14
+
15
+ def get_logs(self) -> list[LogRecord]:
16
+ return self._logs
17
+
18
+
19
+ @fixture
20
+ def test_log_handler() -> LogHandler:
21
+ return LogHandler()
22
+
23
+
24
+ @fixture
25
+ def test_logger(test_log_handler) -> Logger:
26
+ logger = getLogger('paddle_test_logger')
27
+ logger.addHandler(test_log_handler)
28
+ return logger
File without changes
@@ -0,0 +1,2 @@
1
+ from tests.Utils.TestClient import mock_requests, test_client
2
+ from tests.Utils.TestLogger import test_log_handler, test_logger