paddle-python-sdk 0.1.0__py3-none-any.whl

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 (517) hide show
  1. examples/__init__.py +0 -0
  2. examples/catalog_management.py +166 -0
  3. examples/event_polling.py +56 -0
  4. examples/get_products.py +46 -0
  5. examples/logger.py +31 -0
  6. paddle_billing/Client.py +201 -0
  7. paddle_billing/ConditionallyRemoveImportMeta.py +14 -0
  8. paddle_billing/Entities/Address.py +44 -0
  9. paddle_billing/Entities/Adjustment.py +45 -0
  10. paddle_billing/Entities/Adjustments/AdjustmentCustomerBalance.py +18 -0
  11. paddle_billing/Entities/Adjustments/AdjustmentItem.py +26 -0
  12. paddle_billing/Entities/Adjustments/__init__.py +2 -0
  13. paddle_billing/Entities/Business.py +38 -0
  14. paddle_billing/Entities/Collections/AddressCollection.py +18 -0
  15. paddle_billing/Entities/Collections/AdjustmentCollection.py +18 -0
  16. paddle_billing/Entities/Collections/BusinessCollection.py +18 -0
  17. paddle_billing/Entities/Collections/Collection.py +47 -0
  18. paddle_billing/Entities/Collections/CreditBalanceCollection.py +18 -0
  19. paddle_billing/Entities/Collections/CustomerCollection.py +18 -0
  20. paddle_billing/Entities/Collections/DiscountCollection.py +18 -0
  21. paddle_billing/Entities/Collections/EventCollection.py +18 -0
  22. paddle_billing/Entities/Collections/EventTypeCollection.py +18 -0
  23. paddle_billing/Entities/Collections/NotificationCollection.py +18 -0
  24. paddle_billing/Entities/Collections/NotificationLogCollection.py +18 -0
  25. paddle_billing/Entities/Collections/NotificationSettingCollection.py +18 -0
  26. paddle_billing/Entities/Collections/Paginator.py +29 -0
  27. paddle_billing/Entities/Collections/PriceCollection.py +18 -0
  28. paddle_billing/Entities/Collections/ProductCollection.py +18 -0
  29. paddle_billing/Entities/Collections/ReportCollection.py +18 -0
  30. paddle_billing/Entities/Collections/SubscriptionCollection.py +18 -0
  31. paddle_billing/Entities/Collections/SubscriptionPreviewCollection.py +18 -0
  32. paddle_billing/Entities/Collections/TransactionCollection.py +18 -0
  33. paddle_billing/Entities/Collections/TransactionPreviewCollection.py +18 -0
  34. paddle_billing/Entities/Collections/TransactionsDataCollection.py +18 -0
  35. paddle_billing/Entities/Collections/__init__.py +21 -0
  36. paddle_billing/Entities/CreditBalance.py +22 -0
  37. paddle_billing/Entities/Customer.py +36 -0
  38. paddle_billing/Entities/DateTime.py +43 -0
  39. paddle_billing/Entities/Discount.py +51 -0
  40. paddle_billing/Entities/Discounts/DiscountStatus.py +8 -0
  41. paddle_billing/Entities/Discounts/DiscountType.py +7 -0
  42. paddle_billing/Entities/Discounts/__init__.py +2 -0
  43. paddle_billing/Entities/Entity.py +12 -0
  44. paddle_billing/Entities/Event.py +51 -0
  45. paddle_billing/Entities/EventType.py +23 -0
  46. paddle_billing/Entities/Events/EventTypeName.py +52 -0
  47. paddle_billing/Entities/Events/__init__.py +1 -0
  48. paddle_billing/Entities/Notification.py +42 -0
  49. paddle_billing/Entities/NotificationLog.py +25 -0
  50. paddle_billing/Entities/NotificationSetting.py +34 -0
  51. paddle_billing/Entities/NotificationSettings/NotificationSettingType.py +6 -0
  52. paddle_billing/Entities/NotificationSettings/__init__.py +1 -0
  53. paddle_billing/Entities/Notifications/NotificationOrigin.py +6 -0
  54. paddle_billing/Entities/Notifications/NotificationPayout.py +24 -0
  55. paddle_billing/Entities/Notifications/NotificationPayoutStatus.py +6 -0
  56. paddle_billing/Entities/Notifications/NotificationStatus.py +8 -0
  57. paddle_billing/Entities/Notifications/__init__.py +4 -0
  58. paddle_billing/Entities/Price.py +68 -0
  59. paddle_billing/Entities/PricePreview.py +34 -0
  60. paddle_billing/Entities/PricingPreviews/PricePreviewDetails.py +15 -0
  61. paddle_billing/Entities/PricingPreviews/PricePreviewDiscounts.py +20 -0
  62. paddle_billing/Entities/PricingPreviews/PricePreviewItem.py +16 -0
  63. paddle_billing/Entities/PricingPreviews/PricePreviewLineItem.py +38 -0
  64. paddle_billing/Entities/PricingPreviews/PricePreviewTotalsFormatted.py +20 -0
  65. paddle_billing/Entities/PricingPreviews/PricePreviewUnitTotalsFormatted.py +20 -0
  66. paddle_billing/Entities/PricingPreviews/__init__.py +6 -0
  67. paddle_billing/Entities/Product.py +45 -0
  68. paddle_billing/Entities/Report.py +32 -0
  69. paddle_billing/Entities/ReportCSV.py +13 -0
  70. paddle_billing/Entities/Reports/ReportFilter.py +20 -0
  71. paddle_billing/Entities/Reports/ReportFilterName.py +17 -0
  72. paddle_billing/Entities/Reports/ReportFilterOperator.py +6 -0
  73. paddle_billing/Entities/Reports/ReportStatus.py +8 -0
  74. paddle_billing/Entities/Reports/ReportType.py +10 -0
  75. paddle_billing/Entities/Reports/__init__.py +5 -0
  76. paddle_billing/Entities/Shared/Action.py +10 -0
  77. paddle_billing/Entities/Shared/AddressPreview.py +18 -0
  78. paddle_billing/Entities/Shared/AdjustmentItemTotals.py +18 -0
  79. paddle_billing/Entities/Shared/AdjustmentProration.py +18 -0
  80. paddle_billing/Entities/Shared/AdjustmentStatus.py +8 -0
  81. paddle_billing/Entities/Shared/AdjustmentTimePeriod.py +17 -0
  82. paddle_billing/Entities/Shared/AdjustmentTotals.py +26 -0
  83. paddle_billing/Entities/Shared/AdjustmentType.py +8 -0
  84. paddle_billing/Entities/Shared/AvailablePaymentMethods.py +11 -0
  85. paddle_billing/Entities/Shared/BillingDetails.py +22 -0
  86. paddle_billing/Entities/Shared/BillingDetailsUpdate.py +22 -0
  87. paddle_billing/Entities/Shared/Card.py +24 -0
  88. paddle_billing/Entities/Shared/CatalogType.py +6 -0
  89. paddle_billing/Entities/Shared/ChargebackFee.py +18 -0
  90. paddle_billing/Entities/Shared/Checkout.py +12 -0
  91. paddle_billing/Entities/Shared/CollectionMode.py +6 -0
  92. paddle_billing/Entities/Shared/Contacts.py +16 -0
  93. paddle_billing/Entities/Shared/CountryCode.py +233 -0
  94. paddle_billing/Entities/Shared/CurrencyCode.py +34 -0
  95. paddle_billing/Entities/Shared/CurrencyCodeAdjustments.py +7 -0
  96. paddle_billing/Entities/Shared/CurrencyCodePayouts.py +17 -0
  97. paddle_billing/Entities/Shared/CustomData.py +10 -0
  98. paddle_billing/Entities/Shared/Data.py +9 -0
  99. paddle_billing/Entities/Shared/ErrorCode.py +21 -0
  100. paddle_billing/Entities/Shared/ImportMeta.py +16 -0
  101. paddle_billing/Entities/Shared/Interval.py +8 -0
  102. paddle_billing/Entities/Shared/Meta.py +7 -0
  103. paddle_billing/Entities/Shared/MetaPaginated.py +18 -0
  104. paddle_billing/Entities/Shared/MethodDetails.py +19 -0
  105. paddle_billing/Entities/Shared/Money.py +28 -0
  106. paddle_billing/Entities/Shared/Original.py +18 -0
  107. paddle_billing/Entities/Shared/Pagination.py +20 -0
  108. paddle_billing/Entities/Shared/PaymentAttemptStatus.py +13 -0
  109. paddle_billing/Entities/Shared/PaymentMethodType.py +14 -0
  110. paddle_billing/Entities/Shared/PayoutTotalsAdjustment.py +29 -0
  111. paddle_billing/Entities/Shared/PriceQuantity.py +16 -0
  112. paddle_billing/Entities/Shared/Status.py +6 -0
  113. paddle_billing/Entities/Shared/TaxCategory.py +13 -0
  114. paddle_billing/Entities/Shared/TaxMode.py +7 -0
  115. paddle_billing/Entities/Shared/TaxRatesUsed.py +18 -0
  116. paddle_billing/Entities/Shared/TimePeriod.py +18 -0
  117. paddle_billing/Entities/Shared/Totals.py +20 -0
  118. paddle_billing/Entities/Shared/TransactionDetailsPreview.py +22 -0
  119. paddle_billing/Entities/Shared/TransactionLineItemPreview.py +28 -0
  120. paddle_billing/Entities/Shared/TransactionOrigin.py +10 -0
  121. paddle_billing/Entities/Shared/TransactionPaymentAttempt.py +35 -0
  122. paddle_billing/Entities/Shared/TransactionPayoutTotals.py +36 -0
  123. paddle_billing/Entities/Shared/TransactionPayoutTotalsAdjusted.py +29 -0
  124. paddle_billing/Entities/Shared/TransactionStatus.py +11 -0
  125. paddle_billing/Entities/Shared/TransactionTotals.py +36 -0
  126. paddle_billing/Entities/Shared/TransactionTotalsAdjusted.py +28 -0
  127. paddle_billing/Entities/Shared/UnitPriceOverride.py +19 -0
  128. paddle_billing/Entities/Shared/UnitTotals.py +20 -0
  129. paddle_billing/Entities/Shared/__init__.py +56 -0
  130. paddle_billing/Entities/Subscription.py +86 -0
  131. paddle_billing/Entities/SubscriptionPreview.py +79 -0
  132. paddle_billing/Entities/Subscriptions/SubscriptionAdjustmentItem.py +24 -0
  133. paddle_billing/Entities/Subscriptions/SubscriptionAdjustmentPreview.py +22 -0
  134. paddle_billing/Entities/Subscriptions/SubscriptionCharge.py +18 -0
  135. paddle_billing/Entities/Subscriptions/SubscriptionCredit.py +18 -0
  136. paddle_billing/Entities/Subscriptions/SubscriptionDetails.py +34 -0
  137. paddle_billing/Entities/Subscriptions/SubscriptionDiscount.py +19 -0
  138. paddle_billing/Entities/Subscriptions/SubscriptionEffectiveFrom.py +6 -0
  139. paddle_billing/Entities/Subscriptions/SubscriptionItem.py +35 -0
  140. paddle_billing/Entities/Subscriptions/SubscriptionItemStatus.py +7 -0
  141. paddle_billing/Entities/Subscriptions/SubscriptionItems.py +20 -0
  142. paddle_billing/Entities/Subscriptions/SubscriptionItemsWithPrice.py +19 -0
  143. paddle_billing/Entities/Subscriptions/SubscriptionManagementUrls.py +16 -0
  144. paddle_billing/Entities/Subscriptions/SubscriptionNextTransaction.py +23 -0
  145. paddle_billing/Entities/Subscriptions/SubscriptionNonCatalogPrice.py +30 -0
  146. paddle_billing/Entities/Subscriptions/SubscriptionNonCatalogPriceWithProduct.py +32 -0
  147. paddle_billing/Entities/Subscriptions/SubscriptionNonCatalogProduct.py +26 -0
  148. paddle_billing/Entities/Subscriptions/SubscriptionOnPaymentFailure.py +6 -0
  149. paddle_billing/Entities/Subscriptions/SubscriptionPreviewSubscriptionUpdateSummary.py +22 -0
  150. paddle_billing/Entities/Subscriptions/SubscriptionPrice.py +28 -0
  151. paddle_billing/Entities/Subscriptions/SubscriptionProration.py +18 -0
  152. paddle_billing/Entities/Subscriptions/SubscriptionProrationBillingMode.py +9 -0
  153. paddle_billing/Entities/Subscriptions/SubscriptionResult.py +22 -0
  154. paddle_billing/Entities/Subscriptions/SubscriptionResultAction.py +6 -0
  155. paddle_billing/Entities/Subscriptions/SubscriptionResumeEffectiveFrom.py +5 -0
  156. paddle_billing/Entities/Subscriptions/SubscriptionScheduledChange.py +21 -0
  157. paddle_billing/Entities/Subscriptions/SubscriptionScheduledChangeAction.py +7 -0
  158. paddle_billing/Entities/Subscriptions/SubscriptionStatus.py +10 -0
  159. paddle_billing/Entities/Subscriptions/SubscriptionTimePeriod.py +17 -0
  160. paddle_billing/Entities/Subscriptions/SubscriptionTransactionItem.py +23 -0
  161. paddle_billing/Entities/Subscriptions/SubscriptionTransactionLineItem.py +33 -0
  162. paddle_billing/Entities/Subscriptions/SubscriptionUpdateItem.py +16 -0
  163. paddle_billing/Entities/Subscriptions/__init__.py +31 -0
  164. paddle_billing/Entities/Transaction.py +98 -0
  165. paddle_billing/Entities/TransactionData.py +15 -0
  166. paddle_billing/Entities/TransactionPreview.py +40 -0
  167. paddle_billing/Entities/Transactions/TransactionAdjustmentsTotals.py +30 -0
  168. paddle_billing/Entities/Transactions/TransactionBreakdown.py +18 -0
  169. paddle_billing/Entities/Transactions/TransactionCardType.py +14 -0
  170. paddle_billing/Entities/Transactions/TransactionCreateItem.py +16 -0
  171. paddle_billing/Entities/Transactions/TransactionCreateItemWithPrice.py +11 -0
  172. paddle_billing/Entities/Transactions/TransactionDetails.py +32 -0
  173. paddle_billing/Entities/Transactions/TransactionItem.py +24 -0
  174. paddle_billing/Entities/Transactions/TransactionItemPreviewWithNonCatalogPrice.py +21 -0
  175. paddle_billing/Entities/Transactions/TransactionItemPreviewWithPrice.py +24 -0
  176. paddle_billing/Entities/Transactions/TransactionItemPreviewWithPriceId.py +18 -0
  177. paddle_billing/Entities/Transactions/TransactionLineItem.py +35 -0
  178. paddle_billing/Entities/Transactions/TransactionNonCatalogPrice.py +39 -0
  179. paddle_billing/Entities/Transactions/TransactionNonCatalogPriceWithProduct.py +41 -0
  180. paddle_billing/Entities/Transactions/TransactionNonCatalogProduct.py +25 -0
  181. paddle_billing/Entities/Transactions/TransactionProration.py +18 -0
  182. paddle_billing/Entities/Transactions/TransactionTimePeriod.py +17 -0
  183. paddle_billing/Entities/Transactions/TransactionUpdateTransactionItem.py +8 -0
  184. paddle_billing/Entities/Transactions/__init__.py +20 -0
  185. paddle_billing/Entities/__init__.py +0 -0
  186. paddle_billing/EnumStringify.py +2 -0
  187. paddle_billing/Environment.py +14 -0
  188. paddle_billing/Exceptions/ApiError.py +28 -0
  189. paddle_billing/Exceptions/ApiErrors/AddressApiError.py +5 -0
  190. paddle_billing/Exceptions/ApiErrors/AdjustmentApiError.py +5 -0
  191. paddle_billing/Exceptions/ApiErrors/BusinessApiError.py +5 -0
  192. paddle_billing/Exceptions/ApiErrors/CustomerApiError.py +5 -0
  193. paddle_billing/Exceptions/ApiErrors/DiscountApiError.py +5 -0
  194. paddle_billing/Exceptions/ApiErrors/PriceApiError.py +5 -0
  195. paddle_billing/Exceptions/ApiErrors/ProductApiError.py +5 -0
  196. paddle_billing/Exceptions/ApiErrors/SubscriptionApiError.py +5 -0
  197. paddle_billing/Exceptions/ApiErrors/TransactionApiError.py +5 -0
  198. paddle_billing/Exceptions/ApiErrors/__init__.py +0 -0
  199. paddle_billing/Exceptions/FieldError.py +8 -0
  200. paddle_billing/Exceptions/SdkException.py +2 -0
  201. paddle_billing/Exceptions/SdkExceptions/InvalidArgumentException.py +8 -0
  202. paddle_billing/Exceptions/SdkExceptions/MalformedResponse.py +7 -0
  203. paddle_billing/Exceptions/SdkExceptions/__init__.py +0 -0
  204. paddle_billing/Exceptions/__init__.py +0 -0
  205. paddle_billing/FiltersNone.py +8 -0
  206. paddle_billing/FiltersUndefined.py +11 -0
  207. paddle_billing/HasParameters.py +11 -0
  208. paddle_billing/Logger/Formatter.py +18 -0
  209. paddle_billing/Logger/NullHandler.py +6 -0
  210. paddle_billing/Logger/__init__.py +30 -0
  211. paddle_billing/Notifications/Entities/Address.py +44 -0
  212. paddle_billing/Notifications/Entities/Adjustment.py +45 -0
  213. paddle_billing/Notifications/Entities/Adjustments/AdjustmentItem.py +26 -0
  214. paddle_billing/Notifications/Entities/Adjustments/__init__.py +1 -0
  215. paddle_billing/Notifications/Entities/Business.py +39 -0
  216. paddle_billing/Notifications/Entities/Businesses/BusinessesContacts.py +16 -0
  217. paddle_billing/Notifications/Entities/Businesses/__init__.py +1 -0
  218. paddle_billing/Notifications/Entities/Customer.py +36 -0
  219. paddle_billing/Notifications/Entities/DateTime.py +43 -0
  220. paddle_billing/Notifications/Entities/Discount.py +51 -0
  221. paddle_billing/Notifications/Entities/Discounts/DiscountStatus.py +8 -0
  222. paddle_billing/Notifications/Entities/Discounts/DiscountType.py +7 -0
  223. paddle_billing/Notifications/Entities/Discounts/__init__.py +2 -0
  224. paddle_billing/Notifications/Entities/Entity.py +12 -0
  225. paddle_billing/Notifications/Entities/Payout.py +24 -0
  226. paddle_billing/Notifications/Entities/Payouts/PayoutStatus.py +6 -0
  227. paddle_billing/Notifications/Entities/Payouts/__init__.py +1 -0
  228. paddle_billing/Notifications/Entities/Price.py +66 -0
  229. paddle_billing/Notifications/Entities/Product.py +45 -0
  230. paddle_billing/Notifications/Entities/Report.py +32 -0
  231. paddle_billing/Notifications/Entities/Reports/ReportFilter.py +20 -0
  232. paddle_billing/Notifications/Entities/Reports/ReportFilterName.py +17 -0
  233. paddle_billing/Notifications/Entities/Reports/ReportFilterOperator.py +6 -0
  234. paddle_billing/Notifications/Entities/Reports/ReportStatus.py +8 -0
  235. paddle_billing/Notifications/Entities/Reports/ReportType.py +10 -0
  236. paddle_billing/Notifications/Entities/Reports/__init__.py +5 -0
  237. paddle_billing/Notifications/Entities/Shared/Action.py +10 -0
  238. paddle_billing/Notifications/Entities/Shared/AddressPreview.py +18 -0
  239. paddle_billing/Notifications/Entities/Shared/AdjustmentItemTotals.py +18 -0
  240. paddle_billing/Notifications/Entities/Shared/AdjustmentProration.py +18 -0
  241. paddle_billing/Notifications/Entities/Shared/AdjustmentStatus.py +8 -0
  242. paddle_billing/Notifications/Entities/Shared/AdjustmentTimePeriod.py +17 -0
  243. paddle_billing/Notifications/Entities/Shared/AdjustmentTotals.py +26 -0
  244. paddle_billing/Notifications/Entities/Shared/AdjustmentType.py +8 -0
  245. paddle_billing/Notifications/Entities/Shared/AvailablePaymentMethods.py +11 -0
  246. paddle_billing/Notifications/Entities/Shared/BillingDetails.py +22 -0
  247. paddle_billing/Notifications/Entities/Shared/Card.py +24 -0
  248. paddle_billing/Notifications/Entities/Shared/CatalogType.py +6 -0
  249. paddle_billing/Notifications/Entities/Shared/ChargebackFee.py +18 -0
  250. paddle_billing/Notifications/Entities/Shared/Checkout.py +12 -0
  251. paddle_billing/Notifications/Entities/Shared/CollectionMode.py +6 -0
  252. paddle_billing/Notifications/Entities/Shared/CountryCode.py +233 -0
  253. paddle_billing/Notifications/Entities/Shared/CurrencyCode.py +34 -0
  254. paddle_billing/Notifications/Entities/Shared/CurrencyCodeAdjustments.py +7 -0
  255. paddle_billing/Notifications/Entities/Shared/CurrencyCodePayouts.py +17 -0
  256. paddle_billing/Notifications/Entities/Shared/CustomData.py +10 -0
  257. paddle_billing/Notifications/Entities/Shared/Data.py +9 -0
  258. paddle_billing/Notifications/Entities/Shared/ErrorCode.py +21 -0
  259. paddle_billing/Notifications/Entities/Shared/ImportMeta.py +16 -0
  260. paddle_billing/Notifications/Entities/Shared/Interval.py +8 -0
  261. paddle_billing/Notifications/Entities/Shared/MethodDetails.py +19 -0
  262. paddle_billing/Notifications/Entities/Shared/Money.py +28 -0
  263. paddle_billing/Notifications/Entities/Shared/Original.py +18 -0
  264. paddle_billing/Notifications/Entities/Shared/PaymentAttemptStatus.py +13 -0
  265. paddle_billing/Notifications/Entities/Shared/PaymentMethodType.py +15 -0
  266. paddle_billing/Notifications/Entities/Shared/PayoutTotalsAdjustment.py +29 -0
  267. paddle_billing/Notifications/Entities/Shared/PriceQuantity.py +16 -0
  268. paddle_billing/Notifications/Entities/Shared/Status.py +6 -0
  269. paddle_billing/Notifications/Entities/Shared/TaxCategory.py +13 -0
  270. paddle_billing/Notifications/Entities/Shared/TaxMode.py +7 -0
  271. paddle_billing/Notifications/Entities/Shared/TaxRatesUsed.py +18 -0
  272. paddle_billing/Notifications/Entities/Shared/TimePeriod.py +18 -0
  273. paddle_billing/Notifications/Entities/Shared/Totals.py +20 -0
  274. paddle_billing/Notifications/Entities/Shared/TransactionOrigin.py +10 -0
  275. paddle_billing/Notifications/Entities/Shared/TransactionPaymentAttempt.py +35 -0
  276. paddle_billing/Notifications/Entities/Shared/TransactionPayoutTotals.py +36 -0
  277. paddle_billing/Notifications/Entities/Shared/TransactionPayoutTotalsAdjusted.py +29 -0
  278. paddle_billing/Notifications/Entities/Shared/TransactionStatus.py +11 -0
  279. paddle_billing/Notifications/Entities/Shared/TransactionTotals.py +36 -0
  280. paddle_billing/Notifications/Entities/Shared/TransactionTotalsAdjusted.py +28 -0
  281. paddle_billing/Notifications/Entities/Shared/UnitPriceOverride.py +19 -0
  282. paddle_billing/Notifications/Entities/Shared/UnitTotals.py +20 -0
  283. paddle_billing/Notifications/Entities/Shared/__init__.py +46 -0
  284. paddle_billing/Notifications/Entities/Subscription.py +76 -0
  285. paddle_billing/Notifications/Entities/Subscriptions/SubscriptionAdjustmentItem.py +24 -0
  286. paddle_billing/Notifications/Entities/Subscriptions/SubscriptionCharge.py +18 -0
  287. paddle_billing/Notifications/Entities/Subscriptions/SubscriptionCredit.py +18 -0
  288. paddle_billing/Notifications/Entities/Subscriptions/SubscriptionDiscount.py +19 -0
  289. paddle_billing/Notifications/Entities/Subscriptions/SubscriptionEffectiveFrom.py +6 -0
  290. paddle_billing/Notifications/Entities/Subscriptions/SubscriptionItem.py +35 -0
  291. paddle_billing/Notifications/Entities/Subscriptions/SubscriptionItemStatus.py +7 -0
  292. paddle_billing/Notifications/Entities/Subscriptions/SubscriptionOnPaymentFailure.py +6 -0
  293. paddle_billing/Notifications/Entities/Subscriptions/SubscriptionPrice.py +28 -0
  294. paddle_billing/Notifications/Entities/Subscriptions/SubscriptionScheduledChange.py +21 -0
  295. paddle_billing/Notifications/Entities/Subscriptions/SubscriptionScheduledChangeAction.py +7 -0
  296. paddle_billing/Notifications/Entities/Subscriptions/SubscriptionStatus.py +10 -0
  297. paddle_billing/Notifications/Entities/Subscriptions/SubscriptionTimePeriod.py +17 -0
  298. paddle_billing/Notifications/Entities/Subscriptions/__init__.py +13 -0
  299. paddle_billing/Notifications/Entities/Transaction.py +75 -0
  300. paddle_billing/Notifications/Entities/Transactions/TransactionAdjustmentsTotals.py +30 -0
  301. paddle_billing/Notifications/Entities/Transactions/TransactionBreakdown.py +18 -0
  302. paddle_billing/Notifications/Entities/Transactions/TransactionCardType.py +14 -0
  303. paddle_billing/Notifications/Entities/Transactions/TransactionDetails.py +32 -0
  304. paddle_billing/Notifications/Entities/Transactions/TransactionItem.py +24 -0
  305. paddle_billing/Notifications/Entities/Transactions/TransactionLineItem.py +35 -0
  306. paddle_billing/Notifications/Entities/Transactions/TransactionProration.py +18 -0
  307. paddle_billing/Notifications/Entities/Transactions/TransactionTimePeriod.py +17 -0
  308. paddle_billing/Notifications/Entities/Transactions/__init__.py +11 -0
  309. paddle_billing/Notifications/Entities/__init__.py +0 -0
  310. paddle_billing/Notifications/Events/AddressCreated.py +17 -0
  311. paddle_billing/Notifications/Events/AddressUpdated.py +17 -0
  312. paddle_billing/Notifications/Events/AdjustmentCreated.py +17 -0
  313. paddle_billing/Notifications/Events/AdjustmentUpdated.py +17 -0
  314. paddle_billing/Notifications/Events/BusinessCreated.py +17 -0
  315. paddle_billing/Notifications/Events/BusinessUpdated.py +17 -0
  316. paddle_billing/Notifications/Events/CustomerCreated.py +17 -0
  317. paddle_billing/Notifications/Events/CustomerUpdated.py +17 -0
  318. paddle_billing/Notifications/Events/DiscountCreated.py +17 -0
  319. paddle_billing/Notifications/Events/DiscountImported.py +17 -0
  320. paddle_billing/Notifications/Events/DiscountUpdated.py +17 -0
  321. paddle_billing/Notifications/Events/PayoutCreated.py +17 -0
  322. paddle_billing/Notifications/Events/PayoutPaid.py +17 -0
  323. paddle_billing/Notifications/Events/PriceCreated.py +17 -0
  324. paddle_billing/Notifications/Events/PriceUpdated.py +17 -0
  325. paddle_billing/Notifications/Events/ProductCreated.py +17 -0
  326. paddle_billing/Notifications/Events/ProductUpdated.py +17 -0
  327. paddle_billing/Notifications/Events/ReportCreated.py +17 -0
  328. paddle_billing/Notifications/Events/ReportUpdated.py +17 -0
  329. paddle_billing/Notifications/Events/SubscriptionActivated.py +17 -0
  330. paddle_billing/Notifications/Events/SubscriptionCanceled.py +17 -0
  331. paddle_billing/Notifications/Events/SubscriptionCreated.py +17 -0
  332. paddle_billing/Notifications/Events/SubscriptionImported.py +17 -0
  333. paddle_billing/Notifications/Events/SubscriptionPastDue.py +17 -0
  334. paddle_billing/Notifications/Events/SubscriptionPaused.py +17 -0
  335. paddle_billing/Notifications/Events/SubscriptionResumed.py +17 -0
  336. paddle_billing/Notifications/Events/SubscriptionTrialing.py +17 -0
  337. paddle_billing/Notifications/Events/SubscriptionUpdated.py +17 -0
  338. paddle_billing/Notifications/Events/TransactionBilled.py +17 -0
  339. paddle_billing/Notifications/Events/TransactionCanceled.py +17 -0
  340. paddle_billing/Notifications/Events/TransactionCompleted.py +16 -0
  341. paddle_billing/Notifications/Events/TransactionCreated.py +17 -0
  342. paddle_billing/Notifications/Events/TransactionPaid.py +17 -0
  343. paddle_billing/Notifications/Events/TransactionPastDue.py +17 -0
  344. paddle_billing/Notifications/Events/TransactionPaymentFailed.py +17 -0
  345. paddle_billing/Notifications/Events/TransactionReady.py +17 -0
  346. paddle_billing/Notifications/Events/TransactionUpdated.py +17 -0
  347. paddle_billing/Notifications/Events/__init__.py +0 -0
  348. paddle_billing/Notifications/PaddleSignature.py +128 -0
  349. paddle_billing/Notifications/Secret.py +8 -0
  350. paddle_billing/Notifications/Verifier.py +55 -0
  351. paddle_billing/Notifications/__init__.py +3 -0
  352. paddle_billing/Options.py +10 -0
  353. paddle_billing/PaddleStrEnum.py +44 -0
  354. paddle_billing/RecursivelyRemoveKey.py +14 -0
  355. paddle_billing/Resources/Addresses/AddressesClient.py +58 -0
  356. paddle_billing/Resources/Addresses/Operations/CreateAddress.py +20 -0
  357. paddle_billing/Resources/Addresses/Operations/ListAddresses.py +42 -0
  358. paddle_billing/Resources/Addresses/Operations/UpdateAddress.py +21 -0
  359. paddle_billing/Resources/Addresses/Operations/__init__.py +3 -0
  360. paddle_billing/Resources/Addresses/__init__.py +0 -0
  361. paddle_billing/Resources/Adjustments/AdjustmentsClient.py +36 -0
  362. paddle_billing/Resources/Adjustments/Operations/Create/AdjustmentItem.py +11 -0
  363. paddle_billing/Resources/Adjustments/Operations/Create/__init__.py +0 -0
  364. paddle_billing/Resources/Adjustments/Operations/CreateAdjustment.py +28 -0
  365. paddle_billing/Resources/Adjustments/Operations/ListAdjustments.py +60 -0
  366. paddle_billing/Resources/Adjustments/Operations/__init__.py +3 -0
  367. paddle_billing/Resources/Adjustments/__init__.py +0 -0
  368. paddle_billing/Resources/Businesses/BusinessesClient.py +58 -0
  369. paddle_billing/Resources/Businesses/Operations/CreateBusiness.py +17 -0
  370. paddle_billing/Resources/Businesses/Operations/ListBusinesses.py +45 -0
  371. paddle_billing/Resources/Businesses/Operations/UpdateBusiness.py +18 -0
  372. paddle_billing/Resources/Businesses/Operations/__init__.py +3 -0
  373. paddle_billing/Resources/Businesses/__init__.py +0 -0
  374. paddle_billing/Resources/Customers/CustomersClient.py +65 -0
  375. paddle_billing/Resources/Customers/Operations/CreateCustomer.py +16 -0
  376. paddle_billing/Resources/Customers/Operations/ListCreditBalances.py +28 -0
  377. paddle_billing/Resources/Customers/Operations/ListCustomers.py +50 -0
  378. paddle_billing/Resources/Customers/Operations/UpdateCustomer.py +17 -0
  379. paddle_billing/Resources/Customers/Operations/__init__.py +4 -0
  380. paddle_billing/Resources/Customers/__init__.py +0 -0
  381. paddle_billing/Resources/Discounts/DiscountsClient.py +55 -0
  382. paddle_billing/Resources/Discounts/Operations/CreateDiscount.py +24 -0
  383. paddle_billing/Resources/Discounts/Operations/ListDiscounts.py +46 -0
  384. paddle_billing/Resources/Discounts/Operations/UpdateDiscount.py +25 -0
  385. paddle_billing/Resources/Discounts/Operations/__init__.py +3 -0
  386. paddle_billing/Resources/Discounts/__init__.py +0 -0
  387. paddle_billing/Resources/EventTypes/EventTypesClient.py +22 -0
  388. paddle_billing/Resources/EventTypes/__init__.py +0 -0
  389. paddle_billing/Resources/Events/EventsClient.py +26 -0
  390. paddle_billing/Resources/Events/Operations/ListEvents.py +12 -0
  391. paddle_billing/Resources/Events/Operations/__init__.py +1 -0
  392. paddle_billing/Resources/Events/__init__.py +0 -0
  393. paddle_billing/Resources/NotificationLogs/NotificationLogsClient.py +26 -0
  394. paddle_billing/Resources/NotificationLogs/Operations/ListNotificationLogs.py +11 -0
  395. paddle_billing/Resources/NotificationLogs/Operations/__init__.py +1 -0
  396. paddle_billing/Resources/NotificationLogs/__init__.py +0 -0
  397. paddle_billing/Resources/NotificationSettings/NotificationSettingsClient.py +54 -0
  398. paddle_billing/Resources/NotificationSettings/Operations/CreateNotificationSetting.py +21 -0
  399. paddle_billing/Resources/NotificationSettings/Operations/UpdateNotificationSetting.py +20 -0
  400. paddle_billing/Resources/NotificationSettings/Operations/__init__.py +2 -0
  401. paddle_billing/Resources/NotificationSettings/__init__.py +0 -0
  402. paddle_billing/Resources/Notifications/NotificationsClient.py +44 -0
  403. paddle_billing/Resources/Notifications/Operations/ListNotifications.py +58 -0
  404. paddle_billing/Resources/Notifications/Operations/__init__.py +1 -0
  405. paddle_billing/Resources/Notifications/__init__.py +0 -0
  406. paddle_billing/Resources/Prices/Operations/CreatePrice.py +23 -0
  407. paddle_billing/Resources/Prices/Operations/List/Includes.py +5 -0
  408. paddle_billing/Resources/Prices/Operations/List/__init__.py +0 -0
  409. paddle_billing/Resources/Prices/Operations/ListPrices.py +62 -0
  410. paddle_billing/Resources/Prices/Operations/UpdatePrice.py +23 -0
  411. paddle_billing/Resources/Prices/Operations/__init__.py +4 -0
  412. paddle_billing/Resources/Prices/PricesClient.py +65 -0
  413. paddle_billing/Resources/Prices/__init__.py +0 -0
  414. paddle_billing/Resources/PricingPreviews/Operations/PreviewPrice.py +20 -0
  415. paddle_billing/Resources/PricingPreviews/Operations/__init__.py +1 -0
  416. paddle_billing/Resources/PricingPreviews/PricingPreviewsClient.py +20 -0
  417. paddle_billing/Resources/PricingPreviews/__init__.py +0 -0
  418. paddle_billing/Resources/Products/Operations/CreateProduct.py +18 -0
  419. paddle_billing/Resources/Products/Operations/List/Includes.py +5 -0
  420. paddle_billing/Resources/Products/Operations/List/__init__.py +0 -0
  421. paddle_billing/Resources/Products/Operations/ListProducts.py +59 -0
  422. paddle_billing/Resources/Products/Operations/UpdateProduct.py +19 -0
  423. paddle_billing/Resources/Products/Operations/__init__.py +4 -0
  424. paddle_billing/Resources/Products/ProductsClient.py +70 -0
  425. paddle_billing/Resources/Products/__init__.py +0 -0
  426. paddle_billing/Resources/Reports/Operations/CreateReport.py +27 -0
  427. paddle_billing/Resources/Reports/Operations/ListReports.py +35 -0
  428. paddle_billing/Resources/Reports/Operations/__init__.py +2 -0
  429. paddle_billing/Resources/Reports/ReportsClient.py +51 -0
  430. paddle_billing/Resources/Reports/__init__.py +0 -0
  431. paddle_billing/Resources/Shared/Operations/List/Comparator.py +8 -0
  432. paddle_billing/Resources/Shared/Operations/List/DateComparison.py +31 -0
  433. paddle_billing/Resources/Shared/Operations/List/OrderBy.py +21 -0
  434. paddle_billing/Resources/Shared/Operations/List/Pager.py +24 -0
  435. paddle_billing/Resources/Shared/Operations/List/__init__.py +0 -0
  436. paddle_billing/Resources/Shared/Operations/__init__.py +4 -0
  437. paddle_billing/Resources/Shared/__init__.py +0 -0
  438. paddle_billing/Resources/Subscriptions/Operations/CancelSubscription.py +12 -0
  439. paddle_billing/Resources/Subscriptions/Operations/CreateOneTimeCharge.py +22 -0
  440. paddle_billing/Resources/Subscriptions/Operations/Get/Includes.py +6 -0
  441. paddle_billing/Resources/Subscriptions/Operations/Get/__init__.py +0 -0
  442. paddle_billing/Resources/Subscriptions/Operations/ListSubscriptions.py +59 -0
  443. paddle_billing/Resources/Subscriptions/Operations/PauseSubscription.py +19 -0
  444. paddle_billing/Resources/Subscriptions/Operations/PreviewOneTimeCharge.py +22 -0
  445. paddle_billing/Resources/Subscriptions/Operations/PreviewUpdateSubscription.py +37 -0
  446. paddle_billing/Resources/Subscriptions/Operations/ResumeSubscription.py +17 -0
  447. paddle_billing/Resources/Subscriptions/Operations/Update/SubscriptionDiscount.py +9 -0
  448. paddle_billing/Resources/Subscriptions/Operations/Update/__init__.py +0 -0
  449. paddle_billing/Resources/Subscriptions/Operations/UpdateSubscription.py +37 -0
  450. paddle_billing/Resources/Subscriptions/Operations/__init__.py +10 -0
  451. paddle_billing/Resources/Subscriptions/SubscriptionsClient.py +121 -0
  452. paddle_billing/Resources/Subscriptions/__init__.py +0 -0
  453. paddle_billing/Resources/Transactions/Operations/CreateTransaction.py +25 -0
  454. paddle_billing/Resources/Transactions/Operations/List/Includes.py +11 -0
  455. paddle_billing/Resources/Transactions/Operations/List/Origin.py +10 -0
  456. paddle_billing/Resources/Transactions/Operations/List/__init__.py +0 -0
  457. paddle_billing/Resources/Transactions/Operations/ListTransactions.py +86 -0
  458. paddle_billing/Resources/Transactions/Operations/PreviewTransaction.py +24 -0
  459. paddle_billing/Resources/Transactions/Operations/UpdateTransaction.py +25 -0
  460. paddle_billing/Resources/Transactions/Operations/__init__.py +6 -0
  461. paddle_billing/Resources/Transactions/TransactionsClient.py +90 -0
  462. paddle_billing/Resources/Transactions/__init__.py +0 -0
  463. paddle_billing/Resources/__init__.py +0 -0
  464. paddle_billing/ResponseParser.py +65 -0
  465. paddle_billing/Undefined.py +2 -0
  466. paddle_billing/__init__.py +4 -0
  467. paddle_python_sdk-0.1.0.dist-info/LICENSE +190 -0
  468. paddle_python_sdk-0.1.0.dist-info/METADATA +184 -0
  469. paddle_python_sdk-0.1.0.dist-info/RECORD +517 -0
  470. paddle_python_sdk-0.1.0.dist-info/WHEEL +5 -0
  471. paddle_python_sdk-0.1.0.dist-info/top_level.txt +3 -0
  472. tests/Functional/Resources/Addresses/__init__.py +0 -0
  473. tests/Functional/Resources/Addresses/test_AddressesClient.py +274 -0
  474. tests/Functional/Resources/Adjustments/__init__.py +0 -0
  475. tests/Functional/Resources/Adjustments/test_AdjustmentsClient.py +188 -0
  476. tests/Functional/Resources/Businesses/__init__.py +0 -0
  477. tests/Functional/Resources/Businesses/test_BusinessesClient.py +279 -0
  478. tests/Functional/Resources/Customers/__init__.py +0 -0
  479. tests/Functional/Resources/Customers/test_CustomersClient.py +291 -0
  480. tests/Functional/Resources/Discounts/__init__.py +0 -0
  481. tests/Functional/Resources/Discounts/test_DiscountsClient.py +280 -0
  482. tests/Functional/Resources/EventTypes/__init__.py +0 -0
  483. tests/Functional/Resources/EventTypes/test_EventTypesClient.py +43 -0
  484. tests/Functional/Resources/Events/__init__.py +0 -0
  485. tests/Functional/Resources/Events/test_EventsClient.py +64 -0
  486. tests/Functional/Resources/NotificationLogs/__init__.py +0 -0
  487. tests/Functional/Resources/NotificationLogs/test_NotificationLogsClient.py +68 -0
  488. tests/Functional/Resources/NotificationSettings/__init__.py +0 -0
  489. tests/Functional/Resources/NotificationSettings/test_NotificationSettingsClient.py +287 -0
  490. tests/Functional/Resources/Notifications/__init__.py +0 -0
  491. tests/Functional/Resources/Notifications/test_NotificationsClient.py +202 -0
  492. tests/Functional/Resources/Prices/__init__.py +0 -0
  493. tests/Functional/Resources/Prices/test_PricesClient.py +307 -0
  494. tests/Functional/Resources/PricingPreviews/__init__.py +0 -0
  495. tests/Functional/Resources/PricingPreviews/test_PricingPreviewsClient.py +92 -0
  496. tests/Functional/Resources/Products/__init__.py +0 -0
  497. tests/Functional/Resources/Products/test_ProductsClient.py +271 -0
  498. tests/Functional/Resources/Reports/__init__.py +0 -0
  499. tests/Functional/Resources/Reports/test_ReportsClient.py +197 -0
  500. tests/Functional/Resources/Subscriptions/__init__.py +0 -0
  501. tests/Functional/Resources/Subscriptions/test_SubscriptionsClient.py +758 -0
  502. tests/Functional/Resources/Transactions/__init__.py +0 -0
  503. tests/Functional/Resources/Transactions/test_TransactionsClient.py +585 -0
  504. tests/Functional/Resources/__init__.py +0 -0
  505. tests/Functional/__init__.py +0 -0
  506. tests/Unit/Logger/__init__.py +0 -0
  507. tests/Unit/Logger/test_Logger.py +10 -0
  508. tests/Unit/Notification/__init__.py +0 -0
  509. tests/Unit/Notification/test_Verifier.py +63 -0
  510. tests/Unit/PaddleStrEnum/__init__.py +0 -0
  511. tests/Unit/PaddleStrEnum/test_PaddleStrEnum.py +52 -0
  512. tests/Unit/__init__.py +0 -0
  513. tests/Utils/FakeResponse.py +6 -0
  514. tests/Utils/ReadsFixture.py +33 -0
  515. tests/Utils/TestClient.py +48 -0
  516. tests/Utils/__init__.py +1 -0
  517. tests/__init__.py +0 -0
@@ -0,0 +1,30 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Notifications.Entities.Shared.CurrencyCode import CurrencyCode
5
+
6
+ from paddle_billing.Notifications.Entities.Transactions.TransactionBreakdown import TransactionBreakdown
7
+
8
+
9
+ @dataclass
10
+ class TransactionAdjustmentsTotals:
11
+ subtotal: str
12
+ tax: str
13
+ total: str
14
+ fee: str
15
+ earnings: str
16
+ breakdown: TransactionBreakdown
17
+ currency_code: CurrencyCode
18
+
19
+
20
+ @staticmethod
21
+ def from_dict(data: dict) -> TransactionAdjustmentsTotals:
22
+ return TransactionAdjustmentsTotals(
23
+ subtotal = data['subtotal'],
24
+ tax = data['tax'],
25
+ total = data['total'],
26
+ fee = data['fee'],
27
+ earnings = data['earnings'],
28
+ breakdown = TransactionBreakdown.from_dict(data['breakdown']),
29
+ currency_code = CurrencyCode(data['currency_code']),
30
+ )
@@ -0,0 +1,18 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class TransactionBreakdown:
7
+ credit: str
8
+ refund: str
9
+ chargeback: str
10
+
11
+
12
+ @staticmethod
13
+ def from_dict(data: dict) -> TransactionBreakdown:
14
+ return TransactionBreakdown(
15
+ credit = data['credit'],
16
+ refund = data['refund'],
17
+ chargeback = data['chargeback'],
18
+ )
@@ -0,0 +1,14 @@
1
+ from paddle_billing.PaddleStrEnum import PaddleStrEnum
2
+
3
+
4
+ class TransactionCardType(PaddleStrEnum):
5
+ AmericanExpress = 'american_express'
6
+ DinersClub = 'diners_club'
7
+ Discover = 'discover'
8
+ Jcb = 'jcb'
9
+ Mada = 'mada'
10
+ Maestro = 'maestro'
11
+ Mastercard = 'mastercard'
12
+ UnionPay = 'union_pay'
13
+ Unknown = 'unknown'
14
+ Visa = 'visa'
@@ -0,0 +1,32 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Notifications.Entities.Shared.TaxRatesUsed import TaxRatesUsed
5
+ from paddle_billing.Notifications.Entities.Shared.TransactionPayoutTotals import TransactionPayoutTotals
6
+ from paddle_billing.Notifications.Entities.Shared.TransactionPayoutTotalsAdjusted import TransactionPayoutTotalsAdjusted
7
+ from paddle_billing.Notifications.Entities.Shared.TransactionTotals import TransactionTotals
8
+ from paddle_billing.Notifications.Entities.Shared.TransactionTotalsAdjusted import TransactionTotalsAdjusted
9
+
10
+ from paddle_billing.Notifications.Entities.Transactions.TransactionLineItem import TransactionLineItem
11
+
12
+
13
+ @dataclass
14
+ class TransactionDetails:
15
+ tax_rates_used: list[TaxRatesUsed]
16
+ totals: TransactionTotals
17
+ adjusted_totals: TransactionTotalsAdjusted | None
18
+ payout_totals: TransactionPayoutTotals | None
19
+ adjusted_payout_totals: TransactionPayoutTotalsAdjusted | None
20
+ lineItems: list[TransactionLineItem]
21
+
22
+
23
+ @staticmethod
24
+ def from_dict(data: dict) -> TransactionDetails:
25
+ return TransactionDetails(
26
+ totals = TransactionTotals.from_dict(data['totals']),
27
+ tax_rates_used = [TaxRatesUsed.from_dict(tax_rate_used) for tax_rate_used in data['tax_rates_used']],
28
+ lineItems = [TransactionLineItem.from_dict(line_item) for line_item in data['line_items']],
29
+ adjusted_totals = TransactionTotalsAdjusted.from_dict(data['adjusted_totals']) if data.get('adjusted_totals') else None,
30
+ payout_totals = TransactionPayoutTotals.from_dict(data['payout_totals']) if data.get('payout_totals') else None,
31
+ adjusted_payout_totals = TransactionPayoutTotalsAdjusted.from_dict(data['adjusted_payout_totals']) if data.get('adjusted_payout_totals') else None,
32
+ )
@@ -0,0 +1,24 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Notifications.Entities.Price import Price
5
+
6
+ from paddle_billing.Notifications.Entities.Transactions.TransactionProration import TransactionProration
7
+
8
+
9
+ @dataclass
10
+ class TransactionItem:
11
+ price_id: str | None
12
+ price: Price
13
+ quantity: int
14
+ proration: TransactionProration | None
15
+
16
+
17
+ @staticmethod
18
+ def from_dict(data: dict) -> TransactionItem:
19
+ return TransactionItem(
20
+ price_id = data.get('price_id'),
21
+ price = Price.from_dict(data['price']),
22
+ quantity = data['quantity'],
23
+ proration = TransactionProration.from_dict(data['proration']) if data.get('proration') else None,
24
+ )
@@ -0,0 +1,35 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Notifications.Entities.Product import Product
5
+
6
+ from paddle_billing.Notifications.Entities.Transactions.TransactionProration import TransactionProration
7
+
8
+ from paddle_billing.Notifications.Entities.Shared.Totals import Totals
9
+ from paddle_billing.Notifications.Entities.Shared.UnitTotals import UnitTotals
10
+
11
+
12
+ @dataclass
13
+ class TransactionLineItem:
14
+ id: str
15
+ price_id: str
16
+ quantity: int
17
+ proration: TransactionProration | None
18
+ tax_rate: str
19
+ unit_totals: UnitTotals
20
+ totals: Totals
21
+ product: Product
22
+
23
+
24
+ @staticmethod
25
+ def from_dict(data: dict) -> TransactionLineItem:
26
+ return TransactionLineItem(
27
+ id = data['id'],
28
+ price_id = data['price_id'],
29
+ quantity = data['quantity'],
30
+ proration = TransactionProration.from_dict(data['proration']) if data.get('proration') else None,
31
+ tax_rate = data['tax_rate'],
32
+ unit_totals = UnitTotals.from_dict(data['unit_totals']),
33
+ totals = Totals.from_dict(data['totals']),
34
+ product = Product.from_dict(data['product']),
35
+ )
@@ -0,0 +1,18 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Notifications.Entities.Transactions.TransactionTimePeriod import TransactionTimePeriod
5
+
6
+
7
+ @dataclass
8
+ class TransactionProration:
9
+ rate: str
10
+ billing_period: TransactionTimePeriod | None
11
+
12
+
13
+ @staticmethod
14
+ def from_dict(data: dict) -> TransactionProration:
15
+ return TransactionProration(
16
+ rate = data['rate'],
17
+ billing_period = TransactionTimePeriod.from_dict(data['billing_period']) if data.get('billing_period') else None,
18
+ )
@@ -0,0 +1,17 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+ from datetime import datetime
4
+
5
+
6
+ @dataclass
7
+ class TransactionTimePeriod:
8
+ starts_at: datetime
9
+ ends_at: datetime
10
+
11
+
12
+ @staticmethod
13
+ def from_dict(data: dict) -> TransactionTimePeriod:
14
+ return TransactionTimePeriod(
15
+ starts_at = datetime.fromisoformat(data['starts_at']),
16
+ ends_at = datetime.fromisoformat(data['ends_at']),
17
+ )
@@ -0,0 +1,11 @@
1
+ from paddle_billing.Notifications.Entities.Transactions.TransactionAdjustmentsTotals import TransactionAdjustmentsTotals
2
+ from paddle_billing.Notifications.Entities.Transactions.TransactionBreakdown import TransactionBreakdown
3
+ from paddle_billing.Notifications.Entities.Transactions.TransactionCardType import TransactionCardType
4
+ from paddle_billing.Notifications.Entities.Transactions.TransactionProration import TransactionProration
5
+ from paddle_billing.Notifications.Entities.Transactions.TransactionTimePeriod import TransactionTimePeriod
6
+
7
+
8
+ # These cause circular imports
9
+ # from paddle_billing.Notifications.Entities.Transactions.TransactionDetails import TransactionDetails
10
+ # from paddle_billing.Notifications.Entities.Transactions.TransactionItem import TransactionItem
11
+ # from paddle_billing.Notifications.Entities.Transactions.TransactionLineItem import TransactionLineItem
File without changes
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Address import Address
7
+
8
+
9
+ class AddressCreated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Address,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Address import Address
7
+
8
+
9
+ class AddressUpdated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Address,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Adjustment import Adjustment
7
+
8
+
9
+ class AdjustmentCreated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Adjustment,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Adjustment import Adjustment
7
+
8
+
9
+ class AdjustmentUpdated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Adjustment,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Business import Business
7
+
8
+
9
+ class BusinessCreated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Business,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Business import Business
7
+
8
+
9
+ class BusinessUpdated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Business,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Customer import Customer
7
+
8
+
9
+ class CustomerCreated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Customer,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Customer import Customer
7
+
8
+
9
+ class CustomerUpdated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Customer,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Discount import Discount
7
+
8
+
9
+ class DiscountCreated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Discount,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Discount import Discount
7
+
8
+
9
+ class DiscountImported(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Discount,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Discount import Discount
7
+
8
+
9
+ class DiscountUpdated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Discount,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Payout import Payout
7
+
8
+
9
+ class PayoutCreated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Payout,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Payout import Payout
7
+
8
+
9
+ class PayoutPaid(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Payout,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Price import Price
7
+
8
+
9
+ class PriceCreated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Price,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Price import Price
7
+
8
+
9
+ class PriceUpdated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Price,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Product import Product
7
+
8
+
9
+ class ProductCreated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Product,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Product import Product
7
+
8
+
9
+ class ProductUpdated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Product,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Report import Report
7
+
8
+
9
+ class ProductCreated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Report,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Report import Report
7
+
8
+
9
+ class ProductUpdated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Report,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Subscription import Subscription
7
+
8
+
9
+ class SubscriptionActivated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Subscription,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Subscription import Subscription
7
+
8
+
9
+ class SubscriptionCanceled(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Subscription,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Subscription import Subscription
7
+
8
+
9
+ class SubscriptionCreated(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Subscription,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Subscription import Subscription
7
+
8
+
9
+ class SubscriptionImported(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Subscription,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)
@@ -0,0 +1,17 @@
1
+ from datetime import datetime
2
+
3
+ from paddle_billing.Entities.Event import Event
4
+ from paddle_billing.Entities.Events import EventTypeName
5
+
6
+ from paddle_billing.Notifications.Entities.Subscription import Subscription
7
+
8
+
9
+ class SubscriptionPastDue(Event):
10
+ def __init__(
11
+ self,
12
+ event_id: str,
13
+ event_type: EventTypeName,
14
+ occurred_at: datetime,
15
+ data: Subscription,
16
+ ):
17
+ super().__init__(event_id, event_type, occurred_at, data)