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,17 @@
1
+ from paddle_billing.PaddleStrEnum import PaddleStrEnum
2
+
3
+
4
+ class CurrencyCodePayouts(PaddleStrEnum):
5
+ AUD = 'AUD'
6
+ CAD = 'CAD'
7
+ CHF = 'CHF'
8
+ CNY = 'CNY'
9
+ CZK = 'CZK'
10
+ DKK = 'DKK'
11
+ EUR = 'EUR'
12
+ GBP = 'GBP'
13
+ HUF = 'HUF'
14
+ PLN = 'PLN'
15
+ SEK = 'SEK'
16
+ USD = 'USD'
17
+ ZAR = 'ZAR'
@@ -0,0 +1,10 @@
1
+ from dataclasses import dataclass
2
+
3
+
4
+ @dataclass
5
+ class CustomData:
6
+ data: dict | list # JSON serializable Python types
7
+
8
+
9
+ def get_parameters(self):
10
+ return self.data
@@ -0,0 +1,9 @@
1
+ from dataclasses import dataclass
2
+ from typing import Any
3
+
4
+
5
+ @dataclass
6
+ class Data:
7
+ data: dict | list | Any # TODO Any? Should be JSON serializable Python types though
8
+
9
+ # from_dict method isn't needed, unless specific processing of 'data' is required.
@@ -0,0 +1,21 @@
1
+ from paddle_billing.PaddleStrEnum import PaddleStrEnum
2
+
3
+
4
+ class ErrorCode(PaddleStrEnum):
5
+ AlreadyCanceled = 'already_canceled'
6
+ AlreadyRefunded = 'already_refunded'
7
+ AuthenticationFailed = 'authentication_failed'
8
+ BlockedCard = 'blocked_card'
9
+ Canceled = 'canceled'
10
+ Declined = 'declined'
11
+ ExpiredCard = 'expired_card'
12
+ Fraud = 'fraud'
13
+ InvalidAmount = 'invalid_amount'
14
+ InvalidPaymentDetails = 'invalid_payment_details'
15
+ IssuerUnavailable = 'issuer_unavailable'
16
+ NotEnoughBalance = 'not_enough_balance'
17
+ PspError = 'psp_error'
18
+ RedactedPaymentMethod = 'redacted_payment_method'
19
+ SystemError = 'system_error'
20
+ TransactionNotPermitted = 'transaction_not_permitted'
21
+ Unknown = 'unknown'
@@ -0,0 +1,16 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass(frozen=True)
6
+ class ImportMeta:
7
+ external_id: str | None
8
+ imported_from: str
9
+
10
+
11
+ @classmethod
12
+ def from_dict(cls, data: dict) -> ImportMeta:
13
+ return ImportMeta(
14
+ external_id = data.get('external_id'),
15
+ imported_from = data['imported_from'],
16
+ )
@@ -0,0 +1,8 @@
1
+ from paddle_billing.PaddleStrEnum import PaddleStrEnum
2
+
3
+
4
+ class Interval(PaddleStrEnum):
5
+ Day = 'day'
6
+ Week = 'week'
7
+ Month = 'month'
8
+ Year = 'year'
@@ -0,0 +1,7 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class Meta:
7
+ request_id: str
@@ -0,0 +1,18 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Entities.Shared.Pagination import Pagination
5
+
6
+
7
+ @dataclass
8
+ class MetaPaginated:
9
+ request_id: str
10
+ pagination: Pagination
11
+
12
+
13
+ @staticmethod
14
+ def from_dict(data: dict) -> MetaPaginated:
15
+ return MetaPaginated(
16
+ request_id = data['request_id'],
17
+ pagination = Pagination.from_dict(data['pagination']),
18
+ )
@@ -0,0 +1,19 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Entities.Shared.Card import Card
5
+ from paddle_billing.Entities.Shared.PaymentMethodType import PaymentMethodType
6
+
7
+
8
+ @dataclass
9
+ class MethodDetails:
10
+ type: PaymentMethodType
11
+ card: Card | None
12
+
13
+
14
+ @classmethod
15
+ def from_dict(cls, data: dict) -> MethodDetails:
16
+ return MethodDetails(
17
+ PaymentMethodType(data['type']),
18
+ Card.from_dict(data['card']) if data.get('card') else None,
19
+ )
@@ -0,0 +1,28 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Entities.Shared.CurrencyCode import CurrencyCode
5
+
6
+
7
+ @dataclass
8
+ class Money:
9
+ """
10
+ https://developer.paddle.com/api-reference/about/data-types#money
11
+ When specifying the amount, specify it with the lowest denomination of the currency included. For example,
12
+ $420.69USD would be called with Money('42069', CurrencyCode('USD'))
13
+ """
14
+ amount: str
15
+ currency_code: CurrencyCode | None
16
+
17
+
18
+ def __post_init__(self):
19
+ if any(substring in self.amount for substring in [',', '.']):
20
+ raise ValueError('Money amount should not contain decimals or commas')
21
+
22
+
23
+ @staticmethod
24
+ def from_dict(data: dict) -> Money:
25
+ return Money(
26
+ amount = data['amount'],
27
+ currency_code = CurrencyCode(data['currency_code']) if data.get('currency_code') else None,
28
+ )
@@ -0,0 +1,18 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Entities.Shared.CurrencyCodeAdjustments import CurrencyCodeAdjustments
5
+
6
+
7
+ @dataclass
8
+ class Original:
9
+ amount: str
10
+ currency_code: CurrencyCodeAdjustments
11
+
12
+
13
+ @staticmethod
14
+ def from_dict(data: dict) -> Original:
15
+ return Original(
16
+ amount = data['amount'],
17
+ currency_code = CurrencyCodeAdjustments(data['currency_code']),
18
+ )
@@ -0,0 +1,20 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class Pagination:
7
+ per_page: int
8
+ next: str
9
+ has_more: bool
10
+ estimated_total: int
11
+
12
+
13
+ @staticmethod
14
+ def from_dict(data: dict) -> Pagination:
15
+ return Pagination(
16
+ per_page = data['per_page'],
17
+ next = data['next'],
18
+ has_more = data['has_more'],
19
+ estimated_total = data['estimated_total'],
20
+ )
@@ -0,0 +1,13 @@
1
+ from paddle_billing.PaddleStrEnum import PaddleStrEnum
2
+
3
+
4
+ class PaymentAttemptStatus(PaddleStrEnum):
5
+ Authorized = 'authorized'
6
+ AuthorizedFlagged = 'authorized_flagged'
7
+ Canceled = 'canceled'
8
+ Captured = 'captured'
9
+ Error = 'error'
10
+ ActionRequired = 'action_required'
11
+ PendingNoActionRequired = 'pending_no_action_required'
12
+ Created = 'created'
13
+ Unknown = 'unknown'
@@ -0,0 +1,14 @@
1
+ from paddle_billing.PaddleStrEnum import PaddleStrEnum
2
+
3
+
4
+ class PaymentMethodType(PaddleStrEnum):
5
+ Alipay = 'alipay'
6
+ ApplePay = 'apple_pay'
7
+ Bancontact = 'bancontact'
8
+ Card = 'card'
9
+ GooglePay = 'google_pay'
10
+ Ideal = 'ideal'
11
+ Offline = 'offline'
12
+ Paypal = 'paypal'
13
+ Unknown = 'unknown'
14
+ WireTransfer = 'wire_transfer'
@@ -0,0 +1,29 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Entities.Shared.ChargebackFee import ChargebackFee
5
+ from paddle_billing.Entities.Shared.CurrencyCodePayouts import CurrencyCodePayouts
6
+
7
+
8
+ @dataclass
9
+ class PayoutTotalsAdjustment:
10
+ subtotal: str
11
+ tax: str
12
+ total: str
13
+ fee: str
14
+ chargeback_fee: ChargebackFee | None
15
+ earnings: str
16
+ currency_code: CurrencyCodePayouts
17
+
18
+
19
+ @staticmethod
20
+ def from_dict(data: dict) -> PayoutTotalsAdjustment:
21
+ return PayoutTotalsAdjustment(
22
+ subtotal = data['subtotal'],
23
+ tax = data['tax'],
24
+ total = data['total'],
25
+ fee = data['fee'],
26
+ chargeback_fee = ChargebackFee.from_dict(data['chargeback_fee']) if data.get('chargeback_fee') else None,
27
+ earnings = data['earnings'],
28
+ currency_code = CurrencyCodePayouts(data['currency_code']),
29
+ )
@@ -0,0 +1,16 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class PriceQuantity:
7
+ minimum: int
8
+ maximum: int
9
+
10
+
11
+ @staticmethod
12
+ def from_dict(data: dict) -> PriceQuantity:
13
+ return PriceQuantity(
14
+ minimum = data['minimum'],
15
+ maximum = data['maximum'],
16
+ )
@@ -0,0 +1,6 @@
1
+ from paddle_billing.PaddleStrEnum import PaddleStrEnum
2
+
3
+
4
+ class Status(PaddleStrEnum):
5
+ Active = 'active'
6
+ Archived = 'archived'
@@ -0,0 +1,13 @@
1
+ from paddle_billing.PaddleStrEnum import PaddleStrEnum
2
+
3
+
4
+ class TaxCategory(PaddleStrEnum):
5
+ DigitalGoods = 'digital-goods'
6
+ Ebooks = 'ebooks'
7
+ ImplementationServices = 'implementation-services'
8
+ ProfessionalServices = 'professional-services'
9
+ Saas = 'saas'
10
+ SoftwareProgrammingServices = 'software-programming-services'
11
+ Standard = 'standard'
12
+ TrainingServices = 'training-services'
13
+ WebsiteHosting = 'website-hosting'
@@ -0,0 +1,7 @@
1
+ from paddle_billing.PaddleStrEnum import PaddleStrEnum
2
+
3
+
4
+ class TaxMode(PaddleStrEnum):
5
+ AccountSetting = 'account_setting'
6
+ External = 'external'
7
+ Internal = 'internal'
@@ -0,0 +1,18 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Entities.Shared.Totals import Totals
5
+
6
+
7
+ @dataclass
8
+ class TaxRatesUsed:
9
+ tax_rate: str
10
+ totals: Totals
11
+
12
+
13
+ @staticmethod
14
+ def from_dict(data: dict) -> TaxRatesUsed:
15
+ return TaxRatesUsed(
16
+ tax_rate = data['tax_rate'],
17
+ totals = Totals.from_dict(data['totals']),
18
+ )
@@ -0,0 +1,18 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Entities.Shared.Interval import Interval
5
+
6
+
7
+ @dataclass
8
+ class TimePeriod:
9
+ interval: Interval
10
+ frequency: int
11
+
12
+
13
+ @staticmethod
14
+ def from_dict(data: dict) -> TimePeriod:
15
+ return TimePeriod(
16
+ interval = Interval(data['interval']),
17
+ frequency = data['frequency'],
18
+ )
@@ -0,0 +1,20 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class Totals:
7
+ subtotal: str
8
+ discount: str
9
+ tax: str
10
+ total: str
11
+
12
+
13
+ @staticmethod
14
+ def from_dict(data: dict) -> Totals:
15
+ return Totals(
16
+ subtotal = data['subtotal'],
17
+ discount = data['discount'],
18
+ tax = data['tax'],
19
+ total = data['total'],
20
+ )
@@ -0,0 +1,22 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Entities.Shared.TaxRatesUsed import TaxRatesUsed
5
+ from paddle_billing.Entities.Shared.TransactionLineItemPreview import TransactionLineItemPreview
6
+ from paddle_billing.Entities.Shared.TransactionTotals import TransactionTotals
7
+
8
+
9
+ @dataclass
10
+ class TransactionDetailsPreview:
11
+ tax_rates_used: list[TaxRatesUsed]
12
+ totals: TransactionTotals
13
+ line_items: list[TransactionLineItemPreview]
14
+
15
+
16
+ @staticmethod
17
+ def from_dict(data: dict) -> TransactionDetailsPreview:
18
+ return TransactionDetailsPreview(
19
+ totals = TransactionTotals.from_dict(data['totals']),
20
+ tax_rates_used = [TaxRatesUsed.from_dict(rate) for rate in data['tax_rates_used']],
21
+ line_items = [TransactionLineItemPreview.from_dict(item) for item in data['line_items']],
22
+ )
@@ -0,0 +1,28 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Entities.Product import Product
5
+ from paddle_billing.Entities.Shared.Totals import Totals
6
+ from paddle_billing.Entities.Shared.UnitTotals import UnitTotals
7
+
8
+
9
+ @dataclass
10
+ class TransactionLineItemPreview:
11
+ price_id: str
12
+ quantity: int
13
+ tax_rate: str
14
+ unit_totals: UnitTotals
15
+ totals: Totals
16
+ product: Product
17
+
18
+
19
+ @staticmethod
20
+ def from_dict(data: dict) -> TransactionLineItemPreview:
21
+ return TransactionLineItemPreview(
22
+ price_id = data['price_id'],
23
+ quantity = data['quantity'],
24
+ tax_rate = data['tax_rate'],
25
+ unit_totals = UnitTotals.from_dict(data['unit_totals']),
26
+ totals = Totals.from_dict(data['totals']),
27
+ product = Product.from_dict(data['product']),
28
+ )
@@ -0,0 +1,10 @@
1
+ from paddle_billing.PaddleStrEnum import PaddleStrEnum
2
+
3
+
4
+ class TransactionOrigin(PaddleStrEnum):
5
+ Api = 'api'
6
+ SubscriptionCharge = 'subscription_charge'
7
+ SubscriptionPaymentMethodChange = 'subscription_payment_method_change'
8
+ SubscriptionRecurring = 'subscription_recurring'
9
+ SubscriptionUpdate = 'subscription_update'
10
+ Web = 'web'
@@ -0,0 +1,35 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+ from datetime import datetime
4
+
5
+ from paddle_billing.Entities.Shared.ErrorCode import ErrorCode
6
+ from paddle_billing.Entities.Shared.MethodDetails import MethodDetails
7
+ from paddle_billing.Entities.Shared.PaymentAttemptStatus import PaymentAttemptStatus
8
+
9
+
10
+ @dataclass
11
+ class TransactionPaymentAttempt:
12
+ payment_attempt_id: str
13
+ payment_method_id: str
14
+ stored_payment_method_id: str
15
+ amount: str
16
+ status: PaymentAttemptStatus
17
+ error_code: ErrorCode | None
18
+ method_details: MethodDetails
19
+ created_at: datetime
20
+ captured_at: datetime | None
21
+
22
+
23
+ @staticmethod
24
+ def from_dict(data: dict) -> TransactionPaymentAttempt:
25
+ return TransactionPaymentAttempt(
26
+ payment_attempt_id = data['payment_attempt_id'],
27
+ payment_method_id = data['payment_method_id'],
28
+ stored_payment_method_id = data['stored_payment_method_id'],
29
+ amount = data['amount'],
30
+ status = PaymentAttemptStatus(data['status']),
31
+ method_details = MethodDetails.from_dict(data['method_details']),
32
+ created_at = datetime.fromisoformat(data['created_at']),
33
+ error_code = ErrorCode(data['error_code']) if data.get('error_code') else None,
34
+ captured_at = datetime.fromisoformat(data['captured_at']) if data.get('captured_at') else None,
35
+ )
@@ -0,0 +1,36 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Entities.Shared.CurrencyCodePayouts import CurrencyCodePayouts
5
+
6
+
7
+ @dataclass
8
+ class TransactionPayoutTotals:
9
+ subtotal: str
10
+ discount: str
11
+ tax: str
12
+ total: str
13
+ credit: str
14
+ balance: str
15
+ grand_total: str
16
+ fee: str | None
17
+ earnings: str | None
18
+ currency_code: CurrencyCodePayouts
19
+ credit_to_balance: str
20
+
21
+
22
+ @staticmethod
23
+ def from_dict(data: dict) -> TransactionPayoutTotals:
24
+ return TransactionPayoutTotals(
25
+ subtotal = data['subtotal'],
26
+ discount = data['discount'],
27
+ tax = data['tax'],
28
+ total = data['total'],
29
+ credit = data['credit'],
30
+ balance = data['balance'],
31
+ grand_total = data['grand_total'],
32
+ fee = data.get('fee'),
33
+ earnings = data.get('earnings'),
34
+ currency_code = CurrencyCodePayouts(data['currency_code']),
35
+ credit_to_balance = data['credit_to_balance'],
36
+ )
@@ -0,0 +1,29 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Entities.Shared.ChargebackFee import ChargebackFee
5
+ from paddle_billing.Entities.Shared.CurrencyCodePayouts import CurrencyCodePayouts
6
+
7
+
8
+ @dataclass
9
+ class TransactionPayoutTotalsAdjusted:
10
+ subtotal: str
11
+ tax: str
12
+ total: str
13
+ fee: str
14
+ chargeback_fee: ChargebackFee
15
+ earnings: str
16
+ currency_code: CurrencyCodePayouts
17
+
18
+
19
+ @staticmethod
20
+ def from_dict(data: dict) -> TransactionPayoutTotalsAdjusted:
21
+ return TransactionPayoutTotalsAdjusted(
22
+ subtotal = data['subtotal'],
23
+ tax = data['tax'],
24
+ total = data['total'],
25
+ fee = data['fee'],
26
+ chargeback_fee = ChargebackFee.from_dict(data['chargeback_fee']),
27
+ earnings = data['earnings'],
28
+ currency_code = CurrencyCodePayouts(data['currency_code']),
29
+ )
@@ -0,0 +1,11 @@
1
+ from paddle_billing.PaddleStrEnum import PaddleStrEnum
2
+
3
+
4
+ class TransactionStatus(PaddleStrEnum):
5
+ Draft = 'draft'
6
+ Ready = 'ready'
7
+ Billed = 'billed'
8
+ Paid = 'paid'
9
+ Completed = 'completed'
10
+ Canceled = 'canceled'
11
+ PastDue = 'past_due'
@@ -0,0 +1,36 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Entities.Shared.CurrencyCode import CurrencyCode
5
+
6
+
7
+ @dataclass
8
+ class TransactionTotals:
9
+ subtotal: str
10
+ discount: str
11
+ tax: str
12
+ total: str
13
+ credit: str
14
+ balance: str
15
+ grand_total: str | None
16
+ fee: str | None
17
+ earnings: str | None
18
+ currency_code: CurrencyCode
19
+ credit_to_balance: str
20
+
21
+
22
+ @staticmethod
23
+ def from_dict(data: dict) -> TransactionTotals:
24
+ return TransactionTotals(
25
+ subtotal = data['subtotal'],
26
+ discount = data['discount'],
27
+ tax = data['tax'],
28
+ total = data['total'],
29
+ credit = data['credit'],
30
+ balance = data['balance'],
31
+ grand_total = data.get('grand_total'),
32
+ fee = data.get('fee'),
33
+ earnings = data.get('earnings'),
34
+ currency_code = CurrencyCode(data['currency_code']),
35
+ credit_to_balance = data['credit_to_balance'],
36
+ )
@@ -0,0 +1,28 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Entities.Shared.CurrencyCode import CurrencyCode
5
+
6
+
7
+ @dataclass
8
+ class TransactionTotalsAdjusted:
9
+ subtotal: str
10
+ tax: str
11
+ total: str
12
+ grand_total: str
13
+ fee: str | None
14
+ earnings: str | None
15
+ currency_code: CurrencyCode
16
+
17
+
18
+ @staticmethod
19
+ def from_dict(data: dict) -> TransactionTotalsAdjusted:
20
+ return TransactionTotalsAdjusted(
21
+ subtotal = data['subtotal'],
22
+ tax = data['tax'],
23
+ total = data['total'],
24
+ grand_total = data['grand_total'],
25
+ fee = data.get('fee'),
26
+ earnings = data.get('earnings'),
27
+ currency_code = CurrencyCode(data['currency_code']),
28
+ )
@@ -0,0 +1,19 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+ from paddle_billing.Entities.Shared.CountryCode import CountryCode
5
+ from paddle_billing.Entities.Shared.Money import Money
6
+
7
+
8
+ @dataclass
9
+ class UnitPriceOverride:
10
+ country_codes: list[CountryCode]
11
+ unit_price: Money
12
+
13
+
14
+ @staticmethod
15
+ def from_dict(data: dict) -> UnitPriceOverride:
16
+ return UnitPriceOverride(
17
+ country_codes = [CountryCode(code) for code in data['country_codes']],
18
+ unit_price = Money.from_dict(data['unit_price'])
19
+ )
@@ -0,0 +1,20 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class UnitTotals:
7
+ subtotal: str
8
+ discount: str
9
+ tax: str
10
+ total: str
11
+
12
+
13
+ @staticmethod
14
+ def from_dict(data: dict) -> UnitTotals:
15
+ return UnitTotals(
16
+ subtotal = data['subtotal'],
17
+ discount = data['discount'],
18
+ tax = data['tax'],
19
+ total = data['total'],
20
+ )