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.
- examples/__init__.py +0 -0
- examples/catalog_management.py +166 -0
- examples/event_polling.py +56 -0
- examples/get_products.py +46 -0
- examples/logger.py +31 -0
- paddle_billing/Client.py +201 -0
- paddle_billing/ConditionallyRemoveImportMeta.py +14 -0
- paddle_billing/Entities/Address.py +44 -0
- paddle_billing/Entities/Adjustment.py +45 -0
- paddle_billing/Entities/Adjustments/AdjustmentCustomerBalance.py +18 -0
- paddle_billing/Entities/Adjustments/AdjustmentItem.py +26 -0
- paddle_billing/Entities/Adjustments/__init__.py +2 -0
- paddle_billing/Entities/Business.py +38 -0
- paddle_billing/Entities/Collections/AddressCollection.py +18 -0
- paddle_billing/Entities/Collections/AdjustmentCollection.py +18 -0
- paddle_billing/Entities/Collections/BusinessCollection.py +18 -0
- paddle_billing/Entities/Collections/Collection.py +47 -0
- paddle_billing/Entities/Collections/CreditBalanceCollection.py +18 -0
- paddle_billing/Entities/Collections/CustomerCollection.py +18 -0
- paddle_billing/Entities/Collections/DiscountCollection.py +18 -0
- paddle_billing/Entities/Collections/EventCollection.py +18 -0
- paddle_billing/Entities/Collections/EventTypeCollection.py +18 -0
- paddle_billing/Entities/Collections/NotificationCollection.py +18 -0
- paddle_billing/Entities/Collections/NotificationLogCollection.py +18 -0
- paddle_billing/Entities/Collections/NotificationSettingCollection.py +18 -0
- paddle_billing/Entities/Collections/Paginator.py +29 -0
- paddle_billing/Entities/Collections/PriceCollection.py +18 -0
- paddle_billing/Entities/Collections/ProductCollection.py +18 -0
- paddle_billing/Entities/Collections/ReportCollection.py +18 -0
- paddle_billing/Entities/Collections/SubscriptionCollection.py +18 -0
- paddle_billing/Entities/Collections/SubscriptionPreviewCollection.py +18 -0
- paddle_billing/Entities/Collections/TransactionCollection.py +18 -0
- paddle_billing/Entities/Collections/TransactionPreviewCollection.py +18 -0
- paddle_billing/Entities/Collections/TransactionsDataCollection.py +18 -0
- paddle_billing/Entities/Collections/__init__.py +21 -0
- paddle_billing/Entities/CreditBalance.py +22 -0
- paddle_billing/Entities/Customer.py +36 -0
- paddle_billing/Entities/DateTime.py +43 -0
- paddle_billing/Entities/Discount.py +51 -0
- paddle_billing/Entities/Discounts/DiscountStatus.py +8 -0
- paddle_billing/Entities/Discounts/DiscountType.py +7 -0
- paddle_billing/Entities/Discounts/__init__.py +2 -0
- paddle_billing/Entities/Entity.py +12 -0
- paddle_billing/Entities/Event.py +51 -0
- paddle_billing/Entities/EventType.py +23 -0
- paddle_billing/Entities/Events/EventTypeName.py +52 -0
- paddle_billing/Entities/Events/__init__.py +1 -0
- paddle_billing/Entities/Notification.py +42 -0
- paddle_billing/Entities/NotificationLog.py +25 -0
- paddle_billing/Entities/NotificationSetting.py +34 -0
- paddle_billing/Entities/NotificationSettings/NotificationSettingType.py +6 -0
- paddle_billing/Entities/NotificationSettings/__init__.py +1 -0
- paddle_billing/Entities/Notifications/NotificationOrigin.py +6 -0
- paddle_billing/Entities/Notifications/NotificationPayout.py +24 -0
- paddle_billing/Entities/Notifications/NotificationPayoutStatus.py +6 -0
- paddle_billing/Entities/Notifications/NotificationStatus.py +8 -0
- paddle_billing/Entities/Notifications/__init__.py +4 -0
- paddle_billing/Entities/Price.py +68 -0
- paddle_billing/Entities/PricePreview.py +34 -0
- paddle_billing/Entities/PricingPreviews/PricePreviewDetails.py +15 -0
- paddle_billing/Entities/PricingPreviews/PricePreviewDiscounts.py +20 -0
- paddle_billing/Entities/PricingPreviews/PricePreviewItem.py +16 -0
- paddle_billing/Entities/PricingPreviews/PricePreviewLineItem.py +38 -0
- paddle_billing/Entities/PricingPreviews/PricePreviewTotalsFormatted.py +20 -0
- paddle_billing/Entities/PricingPreviews/PricePreviewUnitTotalsFormatted.py +20 -0
- paddle_billing/Entities/PricingPreviews/__init__.py +6 -0
- paddle_billing/Entities/Product.py +45 -0
- paddle_billing/Entities/Report.py +32 -0
- paddle_billing/Entities/ReportCSV.py +13 -0
- paddle_billing/Entities/Reports/ReportFilter.py +20 -0
- paddle_billing/Entities/Reports/ReportFilterName.py +17 -0
- paddle_billing/Entities/Reports/ReportFilterOperator.py +6 -0
- paddle_billing/Entities/Reports/ReportStatus.py +8 -0
- paddle_billing/Entities/Reports/ReportType.py +10 -0
- paddle_billing/Entities/Reports/__init__.py +5 -0
- paddle_billing/Entities/Shared/Action.py +10 -0
- paddle_billing/Entities/Shared/AddressPreview.py +18 -0
- paddle_billing/Entities/Shared/AdjustmentItemTotals.py +18 -0
- paddle_billing/Entities/Shared/AdjustmentProration.py +18 -0
- paddle_billing/Entities/Shared/AdjustmentStatus.py +8 -0
- paddle_billing/Entities/Shared/AdjustmentTimePeriod.py +17 -0
- paddle_billing/Entities/Shared/AdjustmentTotals.py +26 -0
- paddle_billing/Entities/Shared/AdjustmentType.py +8 -0
- paddle_billing/Entities/Shared/AvailablePaymentMethods.py +11 -0
- paddle_billing/Entities/Shared/BillingDetails.py +22 -0
- paddle_billing/Entities/Shared/BillingDetailsUpdate.py +22 -0
- paddle_billing/Entities/Shared/Card.py +24 -0
- paddle_billing/Entities/Shared/CatalogType.py +6 -0
- paddle_billing/Entities/Shared/ChargebackFee.py +18 -0
- paddle_billing/Entities/Shared/Checkout.py +12 -0
- paddle_billing/Entities/Shared/CollectionMode.py +6 -0
- paddle_billing/Entities/Shared/Contacts.py +16 -0
- paddle_billing/Entities/Shared/CountryCode.py +233 -0
- paddle_billing/Entities/Shared/CurrencyCode.py +34 -0
- paddle_billing/Entities/Shared/CurrencyCodeAdjustments.py +7 -0
- paddle_billing/Entities/Shared/CurrencyCodePayouts.py +17 -0
- paddle_billing/Entities/Shared/CustomData.py +10 -0
- paddle_billing/Entities/Shared/Data.py +9 -0
- paddle_billing/Entities/Shared/ErrorCode.py +21 -0
- paddle_billing/Entities/Shared/ImportMeta.py +16 -0
- paddle_billing/Entities/Shared/Interval.py +8 -0
- paddle_billing/Entities/Shared/Meta.py +7 -0
- paddle_billing/Entities/Shared/MetaPaginated.py +18 -0
- paddle_billing/Entities/Shared/MethodDetails.py +19 -0
- paddle_billing/Entities/Shared/Money.py +28 -0
- paddle_billing/Entities/Shared/Original.py +18 -0
- paddle_billing/Entities/Shared/Pagination.py +20 -0
- paddle_billing/Entities/Shared/PaymentAttemptStatus.py +13 -0
- paddle_billing/Entities/Shared/PaymentMethodType.py +14 -0
- paddle_billing/Entities/Shared/PayoutTotalsAdjustment.py +29 -0
- paddle_billing/Entities/Shared/PriceQuantity.py +16 -0
- paddle_billing/Entities/Shared/Status.py +6 -0
- paddle_billing/Entities/Shared/TaxCategory.py +13 -0
- paddle_billing/Entities/Shared/TaxMode.py +7 -0
- paddle_billing/Entities/Shared/TaxRatesUsed.py +18 -0
- paddle_billing/Entities/Shared/TimePeriod.py +18 -0
- paddle_billing/Entities/Shared/Totals.py +20 -0
- paddle_billing/Entities/Shared/TransactionDetailsPreview.py +22 -0
- paddle_billing/Entities/Shared/TransactionLineItemPreview.py +28 -0
- paddle_billing/Entities/Shared/TransactionOrigin.py +10 -0
- paddle_billing/Entities/Shared/TransactionPaymentAttempt.py +35 -0
- paddle_billing/Entities/Shared/TransactionPayoutTotals.py +36 -0
- paddle_billing/Entities/Shared/TransactionPayoutTotalsAdjusted.py +29 -0
- paddle_billing/Entities/Shared/TransactionStatus.py +11 -0
- paddle_billing/Entities/Shared/TransactionTotals.py +36 -0
- paddle_billing/Entities/Shared/TransactionTotalsAdjusted.py +28 -0
- paddle_billing/Entities/Shared/UnitPriceOverride.py +19 -0
- paddle_billing/Entities/Shared/UnitTotals.py +20 -0
- paddle_billing/Entities/Shared/__init__.py +56 -0
- paddle_billing/Entities/Subscription.py +86 -0
- paddle_billing/Entities/SubscriptionPreview.py +79 -0
- paddle_billing/Entities/Subscriptions/SubscriptionAdjustmentItem.py +24 -0
- paddle_billing/Entities/Subscriptions/SubscriptionAdjustmentPreview.py +22 -0
- paddle_billing/Entities/Subscriptions/SubscriptionCharge.py +18 -0
- paddle_billing/Entities/Subscriptions/SubscriptionCredit.py +18 -0
- paddle_billing/Entities/Subscriptions/SubscriptionDetails.py +34 -0
- paddle_billing/Entities/Subscriptions/SubscriptionDiscount.py +19 -0
- paddle_billing/Entities/Subscriptions/SubscriptionEffectiveFrom.py +6 -0
- paddle_billing/Entities/Subscriptions/SubscriptionItem.py +35 -0
- paddle_billing/Entities/Subscriptions/SubscriptionItemStatus.py +7 -0
- paddle_billing/Entities/Subscriptions/SubscriptionItems.py +20 -0
- paddle_billing/Entities/Subscriptions/SubscriptionItemsWithPrice.py +19 -0
- paddle_billing/Entities/Subscriptions/SubscriptionManagementUrls.py +16 -0
- paddle_billing/Entities/Subscriptions/SubscriptionNextTransaction.py +23 -0
- paddle_billing/Entities/Subscriptions/SubscriptionNonCatalogPrice.py +30 -0
- paddle_billing/Entities/Subscriptions/SubscriptionNonCatalogPriceWithProduct.py +32 -0
- paddle_billing/Entities/Subscriptions/SubscriptionNonCatalogProduct.py +26 -0
- paddle_billing/Entities/Subscriptions/SubscriptionOnPaymentFailure.py +6 -0
- paddle_billing/Entities/Subscriptions/SubscriptionPreviewSubscriptionUpdateSummary.py +22 -0
- paddle_billing/Entities/Subscriptions/SubscriptionPrice.py +28 -0
- paddle_billing/Entities/Subscriptions/SubscriptionProration.py +18 -0
- paddle_billing/Entities/Subscriptions/SubscriptionProrationBillingMode.py +9 -0
- paddle_billing/Entities/Subscriptions/SubscriptionResult.py +22 -0
- paddle_billing/Entities/Subscriptions/SubscriptionResultAction.py +6 -0
- paddle_billing/Entities/Subscriptions/SubscriptionResumeEffectiveFrom.py +5 -0
- paddle_billing/Entities/Subscriptions/SubscriptionScheduledChange.py +21 -0
- paddle_billing/Entities/Subscriptions/SubscriptionScheduledChangeAction.py +7 -0
- paddle_billing/Entities/Subscriptions/SubscriptionStatus.py +10 -0
- paddle_billing/Entities/Subscriptions/SubscriptionTimePeriod.py +17 -0
- paddle_billing/Entities/Subscriptions/SubscriptionTransactionItem.py +23 -0
- paddle_billing/Entities/Subscriptions/SubscriptionTransactionLineItem.py +33 -0
- paddle_billing/Entities/Subscriptions/SubscriptionUpdateItem.py +16 -0
- paddle_billing/Entities/Subscriptions/__init__.py +31 -0
- paddle_billing/Entities/Transaction.py +98 -0
- paddle_billing/Entities/TransactionData.py +15 -0
- paddle_billing/Entities/TransactionPreview.py +40 -0
- paddle_billing/Entities/Transactions/TransactionAdjustmentsTotals.py +30 -0
- paddle_billing/Entities/Transactions/TransactionBreakdown.py +18 -0
- paddle_billing/Entities/Transactions/TransactionCardType.py +14 -0
- paddle_billing/Entities/Transactions/TransactionCreateItem.py +16 -0
- paddle_billing/Entities/Transactions/TransactionCreateItemWithPrice.py +11 -0
- paddle_billing/Entities/Transactions/TransactionDetails.py +32 -0
- paddle_billing/Entities/Transactions/TransactionItem.py +24 -0
- paddle_billing/Entities/Transactions/TransactionItemPreviewWithNonCatalogPrice.py +21 -0
- paddle_billing/Entities/Transactions/TransactionItemPreviewWithPrice.py +24 -0
- paddle_billing/Entities/Transactions/TransactionItemPreviewWithPriceId.py +18 -0
- paddle_billing/Entities/Transactions/TransactionLineItem.py +35 -0
- paddle_billing/Entities/Transactions/TransactionNonCatalogPrice.py +39 -0
- paddle_billing/Entities/Transactions/TransactionNonCatalogPriceWithProduct.py +41 -0
- paddle_billing/Entities/Transactions/TransactionNonCatalogProduct.py +25 -0
- paddle_billing/Entities/Transactions/TransactionProration.py +18 -0
- paddle_billing/Entities/Transactions/TransactionTimePeriod.py +17 -0
- paddle_billing/Entities/Transactions/TransactionUpdateTransactionItem.py +8 -0
- paddle_billing/Entities/Transactions/__init__.py +20 -0
- paddle_billing/Entities/__init__.py +0 -0
- paddle_billing/EnumStringify.py +2 -0
- paddle_billing/Environment.py +14 -0
- paddle_billing/Exceptions/ApiError.py +28 -0
- paddle_billing/Exceptions/ApiErrors/AddressApiError.py +5 -0
- paddle_billing/Exceptions/ApiErrors/AdjustmentApiError.py +5 -0
- paddle_billing/Exceptions/ApiErrors/BusinessApiError.py +5 -0
- paddle_billing/Exceptions/ApiErrors/CustomerApiError.py +5 -0
- paddle_billing/Exceptions/ApiErrors/DiscountApiError.py +5 -0
- paddle_billing/Exceptions/ApiErrors/PriceApiError.py +5 -0
- paddle_billing/Exceptions/ApiErrors/ProductApiError.py +5 -0
- paddle_billing/Exceptions/ApiErrors/SubscriptionApiError.py +5 -0
- paddle_billing/Exceptions/ApiErrors/TransactionApiError.py +5 -0
- paddle_billing/Exceptions/ApiErrors/__init__.py +0 -0
- paddle_billing/Exceptions/FieldError.py +8 -0
- paddle_billing/Exceptions/SdkException.py +2 -0
- paddle_billing/Exceptions/SdkExceptions/InvalidArgumentException.py +8 -0
- paddle_billing/Exceptions/SdkExceptions/MalformedResponse.py +7 -0
- paddle_billing/Exceptions/SdkExceptions/__init__.py +0 -0
- paddle_billing/Exceptions/__init__.py +0 -0
- paddle_billing/FiltersNone.py +8 -0
- paddle_billing/FiltersUndefined.py +11 -0
- paddle_billing/HasParameters.py +11 -0
- paddle_billing/Logger/Formatter.py +18 -0
- paddle_billing/Logger/NullHandler.py +6 -0
- paddle_billing/Logger/__init__.py +30 -0
- paddle_billing/Notifications/Entities/Address.py +44 -0
- paddle_billing/Notifications/Entities/Adjustment.py +45 -0
- paddle_billing/Notifications/Entities/Adjustments/AdjustmentItem.py +26 -0
- paddle_billing/Notifications/Entities/Adjustments/__init__.py +1 -0
- paddle_billing/Notifications/Entities/Business.py +39 -0
- paddle_billing/Notifications/Entities/Businesses/BusinessesContacts.py +16 -0
- paddle_billing/Notifications/Entities/Businesses/__init__.py +1 -0
- paddle_billing/Notifications/Entities/Customer.py +36 -0
- paddle_billing/Notifications/Entities/DateTime.py +43 -0
- paddle_billing/Notifications/Entities/Discount.py +51 -0
- paddle_billing/Notifications/Entities/Discounts/DiscountStatus.py +8 -0
- paddle_billing/Notifications/Entities/Discounts/DiscountType.py +7 -0
- paddle_billing/Notifications/Entities/Discounts/__init__.py +2 -0
- paddle_billing/Notifications/Entities/Entity.py +12 -0
- paddle_billing/Notifications/Entities/Payout.py +24 -0
- paddle_billing/Notifications/Entities/Payouts/PayoutStatus.py +6 -0
- paddle_billing/Notifications/Entities/Payouts/__init__.py +1 -0
- paddle_billing/Notifications/Entities/Price.py +66 -0
- paddle_billing/Notifications/Entities/Product.py +45 -0
- paddle_billing/Notifications/Entities/Report.py +32 -0
- paddle_billing/Notifications/Entities/Reports/ReportFilter.py +20 -0
- paddle_billing/Notifications/Entities/Reports/ReportFilterName.py +17 -0
- paddle_billing/Notifications/Entities/Reports/ReportFilterOperator.py +6 -0
- paddle_billing/Notifications/Entities/Reports/ReportStatus.py +8 -0
- paddle_billing/Notifications/Entities/Reports/ReportType.py +10 -0
- paddle_billing/Notifications/Entities/Reports/__init__.py +5 -0
- paddle_billing/Notifications/Entities/Shared/Action.py +10 -0
- paddle_billing/Notifications/Entities/Shared/AddressPreview.py +18 -0
- paddle_billing/Notifications/Entities/Shared/AdjustmentItemTotals.py +18 -0
- paddle_billing/Notifications/Entities/Shared/AdjustmentProration.py +18 -0
- paddle_billing/Notifications/Entities/Shared/AdjustmentStatus.py +8 -0
- paddle_billing/Notifications/Entities/Shared/AdjustmentTimePeriod.py +17 -0
- paddle_billing/Notifications/Entities/Shared/AdjustmentTotals.py +26 -0
- paddle_billing/Notifications/Entities/Shared/AdjustmentType.py +8 -0
- paddle_billing/Notifications/Entities/Shared/AvailablePaymentMethods.py +11 -0
- paddle_billing/Notifications/Entities/Shared/BillingDetails.py +22 -0
- paddle_billing/Notifications/Entities/Shared/Card.py +24 -0
- paddle_billing/Notifications/Entities/Shared/CatalogType.py +6 -0
- paddle_billing/Notifications/Entities/Shared/ChargebackFee.py +18 -0
- paddle_billing/Notifications/Entities/Shared/Checkout.py +12 -0
- paddle_billing/Notifications/Entities/Shared/CollectionMode.py +6 -0
- paddle_billing/Notifications/Entities/Shared/CountryCode.py +233 -0
- paddle_billing/Notifications/Entities/Shared/CurrencyCode.py +34 -0
- paddle_billing/Notifications/Entities/Shared/CurrencyCodeAdjustments.py +7 -0
- paddle_billing/Notifications/Entities/Shared/CurrencyCodePayouts.py +17 -0
- paddle_billing/Notifications/Entities/Shared/CustomData.py +10 -0
- paddle_billing/Notifications/Entities/Shared/Data.py +9 -0
- paddle_billing/Notifications/Entities/Shared/ErrorCode.py +21 -0
- paddle_billing/Notifications/Entities/Shared/ImportMeta.py +16 -0
- paddle_billing/Notifications/Entities/Shared/Interval.py +8 -0
- paddle_billing/Notifications/Entities/Shared/MethodDetails.py +19 -0
- paddle_billing/Notifications/Entities/Shared/Money.py +28 -0
- paddle_billing/Notifications/Entities/Shared/Original.py +18 -0
- paddle_billing/Notifications/Entities/Shared/PaymentAttemptStatus.py +13 -0
- paddle_billing/Notifications/Entities/Shared/PaymentMethodType.py +15 -0
- paddle_billing/Notifications/Entities/Shared/PayoutTotalsAdjustment.py +29 -0
- paddle_billing/Notifications/Entities/Shared/PriceQuantity.py +16 -0
- paddle_billing/Notifications/Entities/Shared/Status.py +6 -0
- paddle_billing/Notifications/Entities/Shared/TaxCategory.py +13 -0
- paddle_billing/Notifications/Entities/Shared/TaxMode.py +7 -0
- paddle_billing/Notifications/Entities/Shared/TaxRatesUsed.py +18 -0
- paddle_billing/Notifications/Entities/Shared/TimePeriod.py +18 -0
- paddle_billing/Notifications/Entities/Shared/Totals.py +20 -0
- paddle_billing/Notifications/Entities/Shared/TransactionOrigin.py +10 -0
- paddle_billing/Notifications/Entities/Shared/TransactionPaymentAttempt.py +35 -0
- paddle_billing/Notifications/Entities/Shared/TransactionPayoutTotals.py +36 -0
- paddle_billing/Notifications/Entities/Shared/TransactionPayoutTotalsAdjusted.py +29 -0
- paddle_billing/Notifications/Entities/Shared/TransactionStatus.py +11 -0
- paddle_billing/Notifications/Entities/Shared/TransactionTotals.py +36 -0
- paddle_billing/Notifications/Entities/Shared/TransactionTotalsAdjusted.py +28 -0
- paddle_billing/Notifications/Entities/Shared/UnitPriceOverride.py +19 -0
- paddle_billing/Notifications/Entities/Shared/UnitTotals.py +20 -0
- paddle_billing/Notifications/Entities/Shared/__init__.py +46 -0
- paddle_billing/Notifications/Entities/Subscription.py +76 -0
- paddle_billing/Notifications/Entities/Subscriptions/SubscriptionAdjustmentItem.py +24 -0
- paddle_billing/Notifications/Entities/Subscriptions/SubscriptionCharge.py +18 -0
- paddle_billing/Notifications/Entities/Subscriptions/SubscriptionCredit.py +18 -0
- paddle_billing/Notifications/Entities/Subscriptions/SubscriptionDiscount.py +19 -0
- paddle_billing/Notifications/Entities/Subscriptions/SubscriptionEffectiveFrom.py +6 -0
- paddle_billing/Notifications/Entities/Subscriptions/SubscriptionItem.py +35 -0
- paddle_billing/Notifications/Entities/Subscriptions/SubscriptionItemStatus.py +7 -0
- paddle_billing/Notifications/Entities/Subscriptions/SubscriptionOnPaymentFailure.py +6 -0
- paddle_billing/Notifications/Entities/Subscriptions/SubscriptionPrice.py +28 -0
- paddle_billing/Notifications/Entities/Subscriptions/SubscriptionScheduledChange.py +21 -0
- paddle_billing/Notifications/Entities/Subscriptions/SubscriptionScheduledChangeAction.py +7 -0
- paddle_billing/Notifications/Entities/Subscriptions/SubscriptionStatus.py +10 -0
- paddle_billing/Notifications/Entities/Subscriptions/SubscriptionTimePeriod.py +17 -0
- paddle_billing/Notifications/Entities/Subscriptions/__init__.py +13 -0
- paddle_billing/Notifications/Entities/Transaction.py +75 -0
- paddle_billing/Notifications/Entities/Transactions/TransactionAdjustmentsTotals.py +30 -0
- paddle_billing/Notifications/Entities/Transactions/TransactionBreakdown.py +18 -0
- paddle_billing/Notifications/Entities/Transactions/TransactionCardType.py +14 -0
- paddle_billing/Notifications/Entities/Transactions/TransactionDetails.py +32 -0
- paddle_billing/Notifications/Entities/Transactions/TransactionItem.py +24 -0
- paddle_billing/Notifications/Entities/Transactions/TransactionLineItem.py +35 -0
- paddle_billing/Notifications/Entities/Transactions/TransactionProration.py +18 -0
- paddle_billing/Notifications/Entities/Transactions/TransactionTimePeriod.py +17 -0
- paddle_billing/Notifications/Entities/Transactions/__init__.py +11 -0
- paddle_billing/Notifications/Entities/__init__.py +0 -0
- paddle_billing/Notifications/Events/AddressCreated.py +17 -0
- paddle_billing/Notifications/Events/AddressUpdated.py +17 -0
- paddle_billing/Notifications/Events/AdjustmentCreated.py +17 -0
- paddle_billing/Notifications/Events/AdjustmentUpdated.py +17 -0
- paddle_billing/Notifications/Events/BusinessCreated.py +17 -0
- paddle_billing/Notifications/Events/BusinessUpdated.py +17 -0
- paddle_billing/Notifications/Events/CustomerCreated.py +17 -0
- paddle_billing/Notifications/Events/CustomerUpdated.py +17 -0
- paddle_billing/Notifications/Events/DiscountCreated.py +17 -0
- paddle_billing/Notifications/Events/DiscountImported.py +17 -0
- paddle_billing/Notifications/Events/DiscountUpdated.py +17 -0
- paddle_billing/Notifications/Events/PayoutCreated.py +17 -0
- paddle_billing/Notifications/Events/PayoutPaid.py +17 -0
- paddle_billing/Notifications/Events/PriceCreated.py +17 -0
- paddle_billing/Notifications/Events/PriceUpdated.py +17 -0
- paddle_billing/Notifications/Events/ProductCreated.py +17 -0
- paddle_billing/Notifications/Events/ProductUpdated.py +17 -0
- paddle_billing/Notifications/Events/ReportCreated.py +17 -0
- paddle_billing/Notifications/Events/ReportUpdated.py +17 -0
- paddle_billing/Notifications/Events/SubscriptionActivated.py +17 -0
- paddle_billing/Notifications/Events/SubscriptionCanceled.py +17 -0
- paddle_billing/Notifications/Events/SubscriptionCreated.py +17 -0
- paddle_billing/Notifications/Events/SubscriptionImported.py +17 -0
- paddle_billing/Notifications/Events/SubscriptionPastDue.py +17 -0
- paddle_billing/Notifications/Events/SubscriptionPaused.py +17 -0
- paddle_billing/Notifications/Events/SubscriptionResumed.py +17 -0
- paddle_billing/Notifications/Events/SubscriptionTrialing.py +17 -0
- paddle_billing/Notifications/Events/SubscriptionUpdated.py +17 -0
- paddle_billing/Notifications/Events/TransactionBilled.py +17 -0
- paddle_billing/Notifications/Events/TransactionCanceled.py +17 -0
- paddle_billing/Notifications/Events/TransactionCompleted.py +16 -0
- paddle_billing/Notifications/Events/TransactionCreated.py +17 -0
- paddle_billing/Notifications/Events/TransactionPaid.py +17 -0
- paddle_billing/Notifications/Events/TransactionPastDue.py +17 -0
- paddle_billing/Notifications/Events/TransactionPaymentFailed.py +17 -0
- paddle_billing/Notifications/Events/TransactionReady.py +17 -0
- paddle_billing/Notifications/Events/TransactionUpdated.py +17 -0
- paddle_billing/Notifications/Events/__init__.py +0 -0
- paddle_billing/Notifications/PaddleSignature.py +128 -0
- paddle_billing/Notifications/Secret.py +8 -0
- paddle_billing/Notifications/Verifier.py +55 -0
- paddle_billing/Notifications/__init__.py +3 -0
- paddle_billing/Options.py +10 -0
- paddle_billing/PaddleStrEnum.py +44 -0
- paddle_billing/RecursivelyRemoveKey.py +14 -0
- paddle_billing/Resources/Addresses/AddressesClient.py +58 -0
- paddle_billing/Resources/Addresses/Operations/CreateAddress.py +20 -0
- paddle_billing/Resources/Addresses/Operations/ListAddresses.py +42 -0
- paddle_billing/Resources/Addresses/Operations/UpdateAddress.py +21 -0
- paddle_billing/Resources/Addresses/Operations/__init__.py +3 -0
- paddle_billing/Resources/Addresses/__init__.py +0 -0
- paddle_billing/Resources/Adjustments/AdjustmentsClient.py +36 -0
- paddle_billing/Resources/Adjustments/Operations/Create/AdjustmentItem.py +11 -0
- paddle_billing/Resources/Adjustments/Operations/Create/__init__.py +0 -0
- paddle_billing/Resources/Adjustments/Operations/CreateAdjustment.py +28 -0
- paddle_billing/Resources/Adjustments/Operations/ListAdjustments.py +60 -0
- paddle_billing/Resources/Adjustments/Operations/__init__.py +3 -0
- paddle_billing/Resources/Adjustments/__init__.py +0 -0
- paddle_billing/Resources/Businesses/BusinessesClient.py +58 -0
- paddle_billing/Resources/Businesses/Operations/CreateBusiness.py +17 -0
- paddle_billing/Resources/Businesses/Operations/ListBusinesses.py +45 -0
- paddle_billing/Resources/Businesses/Operations/UpdateBusiness.py +18 -0
- paddle_billing/Resources/Businesses/Operations/__init__.py +3 -0
- paddle_billing/Resources/Businesses/__init__.py +0 -0
- paddle_billing/Resources/Customers/CustomersClient.py +65 -0
- paddle_billing/Resources/Customers/Operations/CreateCustomer.py +16 -0
- paddle_billing/Resources/Customers/Operations/ListCreditBalances.py +28 -0
- paddle_billing/Resources/Customers/Operations/ListCustomers.py +50 -0
- paddle_billing/Resources/Customers/Operations/UpdateCustomer.py +17 -0
- paddle_billing/Resources/Customers/Operations/__init__.py +4 -0
- paddle_billing/Resources/Customers/__init__.py +0 -0
- paddle_billing/Resources/Discounts/DiscountsClient.py +55 -0
- paddle_billing/Resources/Discounts/Operations/CreateDiscount.py +24 -0
- paddle_billing/Resources/Discounts/Operations/ListDiscounts.py +46 -0
- paddle_billing/Resources/Discounts/Operations/UpdateDiscount.py +25 -0
- paddle_billing/Resources/Discounts/Operations/__init__.py +3 -0
- paddle_billing/Resources/Discounts/__init__.py +0 -0
- paddle_billing/Resources/EventTypes/EventTypesClient.py +22 -0
- paddle_billing/Resources/EventTypes/__init__.py +0 -0
- paddle_billing/Resources/Events/EventsClient.py +26 -0
- paddle_billing/Resources/Events/Operations/ListEvents.py +12 -0
- paddle_billing/Resources/Events/Operations/__init__.py +1 -0
- paddle_billing/Resources/Events/__init__.py +0 -0
- paddle_billing/Resources/NotificationLogs/NotificationLogsClient.py +26 -0
- paddle_billing/Resources/NotificationLogs/Operations/ListNotificationLogs.py +11 -0
- paddle_billing/Resources/NotificationLogs/Operations/__init__.py +1 -0
- paddle_billing/Resources/NotificationLogs/__init__.py +0 -0
- paddle_billing/Resources/NotificationSettings/NotificationSettingsClient.py +54 -0
- paddle_billing/Resources/NotificationSettings/Operations/CreateNotificationSetting.py +21 -0
- paddle_billing/Resources/NotificationSettings/Operations/UpdateNotificationSetting.py +20 -0
- paddle_billing/Resources/NotificationSettings/Operations/__init__.py +2 -0
- paddle_billing/Resources/NotificationSettings/__init__.py +0 -0
- paddle_billing/Resources/Notifications/NotificationsClient.py +44 -0
- paddle_billing/Resources/Notifications/Operations/ListNotifications.py +58 -0
- paddle_billing/Resources/Notifications/Operations/__init__.py +1 -0
- paddle_billing/Resources/Notifications/__init__.py +0 -0
- paddle_billing/Resources/Prices/Operations/CreatePrice.py +23 -0
- paddle_billing/Resources/Prices/Operations/List/Includes.py +5 -0
- paddle_billing/Resources/Prices/Operations/List/__init__.py +0 -0
- paddle_billing/Resources/Prices/Operations/ListPrices.py +62 -0
- paddle_billing/Resources/Prices/Operations/UpdatePrice.py +23 -0
- paddle_billing/Resources/Prices/Operations/__init__.py +4 -0
- paddle_billing/Resources/Prices/PricesClient.py +65 -0
- paddle_billing/Resources/Prices/__init__.py +0 -0
- paddle_billing/Resources/PricingPreviews/Operations/PreviewPrice.py +20 -0
- paddle_billing/Resources/PricingPreviews/Operations/__init__.py +1 -0
- paddle_billing/Resources/PricingPreviews/PricingPreviewsClient.py +20 -0
- paddle_billing/Resources/PricingPreviews/__init__.py +0 -0
- paddle_billing/Resources/Products/Operations/CreateProduct.py +18 -0
- paddle_billing/Resources/Products/Operations/List/Includes.py +5 -0
- paddle_billing/Resources/Products/Operations/List/__init__.py +0 -0
- paddle_billing/Resources/Products/Operations/ListProducts.py +59 -0
- paddle_billing/Resources/Products/Operations/UpdateProduct.py +19 -0
- paddle_billing/Resources/Products/Operations/__init__.py +4 -0
- paddle_billing/Resources/Products/ProductsClient.py +70 -0
- paddle_billing/Resources/Products/__init__.py +0 -0
- paddle_billing/Resources/Reports/Operations/CreateReport.py +27 -0
- paddle_billing/Resources/Reports/Operations/ListReports.py +35 -0
- paddle_billing/Resources/Reports/Operations/__init__.py +2 -0
- paddle_billing/Resources/Reports/ReportsClient.py +51 -0
- paddle_billing/Resources/Reports/__init__.py +0 -0
- paddle_billing/Resources/Shared/Operations/List/Comparator.py +8 -0
- paddle_billing/Resources/Shared/Operations/List/DateComparison.py +31 -0
- paddle_billing/Resources/Shared/Operations/List/OrderBy.py +21 -0
- paddle_billing/Resources/Shared/Operations/List/Pager.py +24 -0
- paddle_billing/Resources/Shared/Operations/List/__init__.py +0 -0
- paddle_billing/Resources/Shared/Operations/__init__.py +4 -0
- paddle_billing/Resources/Shared/__init__.py +0 -0
- paddle_billing/Resources/Subscriptions/Operations/CancelSubscription.py +12 -0
- paddle_billing/Resources/Subscriptions/Operations/CreateOneTimeCharge.py +22 -0
- paddle_billing/Resources/Subscriptions/Operations/Get/Includes.py +6 -0
- paddle_billing/Resources/Subscriptions/Operations/Get/__init__.py +0 -0
- paddle_billing/Resources/Subscriptions/Operations/ListSubscriptions.py +59 -0
- paddle_billing/Resources/Subscriptions/Operations/PauseSubscription.py +19 -0
- paddle_billing/Resources/Subscriptions/Operations/PreviewOneTimeCharge.py +22 -0
- paddle_billing/Resources/Subscriptions/Operations/PreviewUpdateSubscription.py +37 -0
- paddle_billing/Resources/Subscriptions/Operations/ResumeSubscription.py +17 -0
- paddle_billing/Resources/Subscriptions/Operations/Update/SubscriptionDiscount.py +9 -0
- paddle_billing/Resources/Subscriptions/Operations/Update/__init__.py +0 -0
- paddle_billing/Resources/Subscriptions/Operations/UpdateSubscription.py +37 -0
- paddle_billing/Resources/Subscriptions/Operations/__init__.py +10 -0
- paddle_billing/Resources/Subscriptions/SubscriptionsClient.py +121 -0
- paddle_billing/Resources/Subscriptions/__init__.py +0 -0
- paddle_billing/Resources/Transactions/Operations/CreateTransaction.py +25 -0
- paddle_billing/Resources/Transactions/Operations/List/Includes.py +11 -0
- paddle_billing/Resources/Transactions/Operations/List/Origin.py +10 -0
- paddle_billing/Resources/Transactions/Operations/List/__init__.py +0 -0
- paddle_billing/Resources/Transactions/Operations/ListTransactions.py +86 -0
- paddle_billing/Resources/Transactions/Operations/PreviewTransaction.py +24 -0
- paddle_billing/Resources/Transactions/Operations/UpdateTransaction.py +25 -0
- paddle_billing/Resources/Transactions/Operations/__init__.py +6 -0
- paddle_billing/Resources/Transactions/TransactionsClient.py +90 -0
- paddle_billing/Resources/Transactions/__init__.py +0 -0
- paddle_billing/Resources/__init__.py +0 -0
- paddle_billing/ResponseParser.py +65 -0
- paddle_billing/Undefined.py +2 -0
- paddle_billing/__init__.py +4 -0
- paddle_python_sdk-0.1.0.dist-info/LICENSE +190 -0
- paddle_python_sdk-0.1.0.dist-info/METADATA +184 -0
- paddle_python_sdk-0.1.0.dist-info/RECORD +517 -0
- paddle_python_sdk-0.1.0.dist-info/WHEEL +5 -0
- paddle_python_sdk-0.1.0.dist-info/top_level.txt +3 -0
- tests/Functional/Resources/Addresses/__init__.py +0 -0
- tests/Functional/Resources/Addresses/test_AddressesClient.py +274 -0
- tests/Functional/Resources/Adjustments/__init__.py +0 -0
- tests/Functional/Resources/Adjustments/test_AdjustmentsClient.py +188 -0
- tests/Functional/Resources/Businesses/__init__.py +0 -0
- tests/Functional/Resources/Businesses/test_BusinessesClient.py +279 -0
- tests/Functional/Resources/Customers/__init__.py +0 -0
- tests/Functional/Resources/Customers/test_CustomersClient.py +291 -0
- tests/Functional/Resources/Discounts/__init__.py +0 -0
- tests/Functional/Resources/Discounts/test_DiscountsClient.py +280 -0
- tests/Functional/Resources/EventTypes/__init__.py +0 -0
- tests/Functional/Resources/EventTypes/test_EventTypesClient.py +43 -0
- tests/Functional/Resources/Events/__init__.py +0 -0
- tests/Functional/Resources/Events/test_EventsClient.py +64 -0
- tests/Functional/Resources/NotificationLogs/__init__.py +0 -0
- tests/Functional/Resources/NotificationLogs/test_NotificationLogsClient.py +68 -0
- tests/Functional/Resources/NotificationSettings/__init__.py +0 -0
- tests/Functional/Resources/NotificationSettings/test_NotificationSettingsClient.py +287 -0
- tests/Functional/Resources/Notifications/__init__.py +0 -0
- tests/Functional/Resources/Notifications/test_NotificationsClient.py +202 -0
- tests/Functional/Resources/Prices/__init__.py +0 -0
- tests/Functional/Resources/Prices/test_PricesClient.py +307 -0
- tests/Functional/Resources/PricingPreviews/__init__.py +0 -0
- tests/Functional/Resources/PricingPreviews/test_PricingPreviewsClient.py +92 -0
- tests/Functional/Resources/Products/__init__.py +0 -0
- tests/Functional/Resources/Products/test_ProductsClient.py +271 -0
- tests/Functional/Resources/Reports/__init__.py +0 -0
- tests/Functional/Resources/Reports/test_ReportsClient.py +197 -0
- tests/Functional/Resources/Subscriptions/__init__.py +0 -0
- tests/Functional/Resources/Subscriptions/test_SubscriptionsClient.py +758 -0
- tests/Functional/Resources/Transactions/__init__.py +0 -0
- tests/Functional/Resources/Transactions/test_TransactionsClient.py +585 -0
- tests/Functional/Resources/__init__.py +0 -0
- tests/Functional/__init__.py +0 -0
- tests/Unit/Logger/__init__.py +0 -0
- tests/Unit/Logger/test_Logger.py +10 -0
- tests/Unit/Notification/__init__.py +0 -0
- tests/Unit/Notification/test_Verifier.py +63 -0
- tests/Unit/PaddleStrEnum/__init__.py +0 -0
- tests/Unit/PaddleStrEnum/test_PaddleStrEnum.py +52 -0
- tests/Unit/__init__.py +0 -0
- tests/Utils/FakeResponse.py +6 -0
- tests/Utils/ReadsFixture.py +33 -0
- tests/Utils/TestClient.py +48 -0
- tests/Utils/__init__.py +1 -0
- tests/__init__.py +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Entities.Shared import Money, TaxMode, TimePeriod
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@dataclass
|
|
8
|
+
class SubscriptionPrice:
|
|
9
|
+
id: str
|
|
10
|
+
description: str
|
|
11
|
+
product_id: str
|
|
12
|
+
billing_cycle: TimePeriod | None
|
|
13
|
+
trial_period: TimePeriod | None
|
|
14
|
+
tax_mode: TaxMode
|
|
15
|
+
unit_price: Money
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@staticmethod
|
|
19
|
+
def from_dict(data: dict) -> SubscriptionPrice:
|
|
20
|
+
return SubscriptionPrice(
|
|
21
|
+
id = data['id'],
|
|
22
|
+
description = data['description'],
|
|
23
|
+
product_id = data['product_id'],
|
|
24
|
+
tax_mode = TaxMode(data['tax_mode']),
|
|
25
|
+
unit_price = Money.from_dict(data['unit_price']),
|
|
26
|
+
billing_cycle = TimePeriod.from_dict(data['billing_cycle']) if data.get('billing_cycle') else None,
|
|
27
|
+
trial_period = TimePeriod.from_dict(data['trial_period']) if data.get('trial_period') else None,
|
|
28
|
+
)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionTimePeriod import SubscriptionTimePeriod
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@dataclass
|
|
8
|
+
class SubscriptionProration:
|
|
9
|
+
rate: str
|
|
10
|
+
billing_period: SubscriptionTimePeriod
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@staticmethod
|
|
14
|
+
def from_dict(data: dict) -> SubscriptionProration:
|
|
15
|
+
return SubscriptionProration(
|
|
16
|
+
rate = data['rate'],
|
|
17
|
+
billing_period = SubscriptionTimePeriod.from_dict(data['billing_period']),
|
|
18
|
+
)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from paddle_billing.PaddleStrEnum import PaddleStrEnum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class SubscriptionProrationBillingMode(PaddleStrEnum):
|
|
5
|
+
ProratedImmediately = 'prorated_immediately'
|
|
6
|
+
ProratedNextBillingPeriod = 'prorated_next_billing_period'
|
|
7
|
+
FullImmediately = 'full_immediately'
|
|
8
|
+
FullNextBillingPeriod = 'full_next_billing_period'
|
|
9
|
+
DoNotBill = 'do_not_bill'
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Entities.Shared import CurrencyCode
|
|
5
|
+
|
|
6
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionResultAction import SubscriptionResultAction
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@dataclass
|
|
10
|
+
class SubscriptionResult:
|
|
11
|
+
action: SubscriptionResultAction
|
|
12
|
+
amount: str
|
|
13
|
+
currency_code: CurrencyCode
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@staticmethod
|
|
17
|
+
def from_dict(data: dict) -> SubscriptionResult:
|
|
18
|
+
return SubscriptionResult(
|
|
19
|
+
action = SubscriptionResultAction(data['action']),
|
|
20
|
+
amount = data['amount'],
|
|
21
|
+
currency_code = CurrencyCode(data['currency_code']),
|
|
22
|
+
)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
|
|
5
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionScheduledChangeAction import SubscriptionScheduledChangeAction
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclass
|
|
9
|
+
class SubscriptionScheduledChange:
|
|
10
|
+
action: SubscriptionScheduledChangeAction
|
|
11
|
+
effective_at: datetime
|
|
12
|
+
resume_at: datetime | None
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@staticmethod
|
|
16
|
+
def from_dict(data: dict) -> SubscriptionScheduledChange:
|
|
17
|
+
return SubscriptionScheduledChange(
|
|
18
|
+
action = SubscriptionScheduledChangeAction(data['action']),
|
|
19
|
+
effective_at = datetime.fromisoformat(data['effective_at']),
|
|
20
|
+
resume_at = datetime.fromisoformat(data['resume_at']) if data.get('resume_at') else None,
|
|
21
|
+
)
|
|
@@ -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 SubscriptionTimePeriod:
|
|
8
|
+
starts_at: datetime
|
|
9
|
+
ends_at: datetime
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@staticmethod
|
|
13
|
+
def from_dict(data: dict) -> SubscriptionTimePeriod:
|
|
14
|
+
return SubscriptionTimePeriod(
|
|
15
|
+
starts_at = datetime.fromisoformat(data['starts_at']),
|
|
16
|
+
ends_at = datetime.fromisoformat(data['ends_at']),
|
|
17
|
+
)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Entities.Price import Price
|
|
5
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionProration import SubscriptionProration
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclass
|
|
9
|
+
class SubscriptionTransactionItem:
|
|
10
|
+
price_id: str
|
|
11
|
+
price: Price
|
|
12
|
+
quantity: int
|
|
13
|
+
proration: SubscriptionProration
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@staticmethod
|
|
17
|
+
def from_dict(data: dict) -> SubscriptionTransactionItem:
|
|
18
|
+
return SubscriptionTransactionItem(
|
|
19
|
+
price_id = data['price_id'],
|
|
20
|
+
price = Price.from_dict(data['price']),
|
|
21
|
+
quantity = data['quantity'],
|
|
22
|
+
proration = SubscriptionProration.from_dict(data['proration']),
|
|
23
|
+
)
|
|
@@ -0,0 +1,33 @@
|
|
|
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 import Totals, UnitTotals
|
|
6
|
+
|
|
7
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionProration import SubscriptionProration
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@dataclass
|
|
11
|
+
class SubscriptionTransactionLineItem:
|
|
12
|
+
id: str
|
|
13
|
+
price_id: str
|
|
14
|
+
quantity: int
|
|
15
|
+
proration: SubscriptionProration
|
|
16
|
+
tax_rate: str
|
|
17
|
+
unit_totals: UnitTotals
|
|
18
|
+
totals: Totals
|
|
19
|
+
product: Product
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@staticmethod
|
|
23
|
+
def from_dict(data: dict) -> SubscriptionTransactionLineItem:
|
|
24
|
+
return SubscriptionTransactionLineItem(
|
|
25
|
+
id = data['id'],
|
|
26
|
+
price_id = data['price_id'],
|
|
27
|
+
quantity = data['quantity'],
|
|
28
|
+
proration = SubscriptionProration.from_dict(data['proration']),
|
|
29
|
+
tax_rate = data['tax_rate'],
|
|
30
|
+
unit_totals = UnitTotals.from_dict(data['unit_totals']),
|
|
31
|
+
totals = Totals.from_dict(data['totals']),
|
|
32
|
+
product = Product.from_dict(data['product']),
|
|
33
|
+
)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
@dataclass
|
|
6
|
+
class SubscriptionUpdateItem:
|
|
7
|
+
price_id: str
|
|
8
|
+
quantity: int
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@staticmethod
|
|
12
|
+
def from_dict(data: dict) -> SubscriptionUpdateItem:
|
|
13
|
+
return SubscriptionUpdateItem(
|
|
14
|
+
price_id = data['price_id'],
|
|
15
|
+
quantity = data['quantity'],
|
|
16
|
+
)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionAdjustmentItem import SubscriptionAdjustmentItem
|
|
2
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionAdjustmentPreview import SubscriptionAdjustmentPreview
|
|
3
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionCharge import SubscriptionCharge
|
|
4
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionCredit import SubscriptionCredit
|
|
5
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionDetails import SubscriptionDetails
|
|
6
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionDiscount import SubscriptionDiscount
|
|
7
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionEffectiveFrom import SubscriptionEffectiveFrom
|
|
8
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionItem import SubscriptionItem
|
|
9
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionItemStatus import SubscriptionItemStatus
|
|
10
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionItems import SubscriptionItems
|
|
11
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionItemsWithPrice import SubscriptionItemsWithPrice
|
|
12
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionManagementUrls import SubscriptionManagementUrls
|
|
13
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionNextTransaction import SubscriptionNextTransaction
|
|
14
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionNonCatalogPrice import SubscriptionNonCatalogPrice
|
|
15
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionNonCatalogPriceWithProduct import SubscriptionNonCatalogPriceWithProduct
|
|
16
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionNonCatalogProduct import SubscriptionNonCatalogProduct
|
|
17
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionOnPaymentFailure import SubscriptionOnPaymentFailure
|
|
18
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionPreviewSubscriptionUpdateSummary import SubscriptionPreviewSubscriptionUpdateSummary
|
|
19
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionPrice import SubscriptionPrice
|
|
20
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionProration import SubscriptionProration
|
|
21
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionProrationBillingMode import SubscriptionProrationBillingMode
|
|
22
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionResult import SubscriptionResult
|
|
23
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionResultAction import SubscriptionResultAction
|
|
24
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionResumeEffectiveFrom import SubscriptionResumeEffectiveFrom
|
|
25
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionScheduledChange import SubscriptionScheduledChange
|
|
26
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionScheduledChangeAction import SubscriptionScheduledChangeAction
|
|
27
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionStatus import SubscriptionStatus
|
|
28
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionTimePeriod import SubscriptionTimePeriod
|
|
29
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionTransactionItem import SubscriptionTransactionItem
|
|
30
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionTransactionLineItem import SubscriptionTransactionLineItem
|
|
31
|
+
from paddle_billing.Entities.Subscriptions.SubscriptionUpdateItem import SubscriptionUpdateItem
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
|
|
5
|
+
from paddle_billing.Entities.Adjustment import Adjustment
|
|
6
|
+
from paddle_billing.Entities.Entity import Entity
|
|
7
|
+
from paddle_billing.Entities.Address import Address
|
|
8
|
+
from paddle_billing.Entities.Business import Business
|
|
9
|
+
from paddle_billing.Entities.Customer import Customer
|
|
10
|
+
from paddle_billing.Entities.Discount import Discount
|
|
11
|
+
|
|
12
|
+
from paddle_billing.Entities.Shared import (
|
|
13
|
+
AvailablePaymentMethods,
|
|
14
|
+
BillingDetails,
|
|
15
|
+
Checkout,
|
|
16
|
+
CollectionMode,
|
|
17
|
+
CurrencyCode,
|
|
18
|
+
CustomData,
|
|
19
|
+
TransactionOrigin,
|
|
20
|
+
TransactionPaymentAttempt,
|
|
21
|
+
TransactionStatus,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
from paddle_billing.Entities.Transactions.TransactionAdjustmentsTotals import TransactionAdjustmentsTotals
|
|
25
|
+
from paddle_billing.Entities.Transactions.TransactionDetails import TransactionDetails
|
|
26
|
+
from paddle_billing.Entities.Transactions.TransactionItem import TransactionItem
|
|
27
|
+
from paddle_billing.Entities.Transactions.TransactionTimePeriod import TransactionTimePeriod
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@dataclass
|
|
31
|
+
class Transaction(Entity):
|
|
32
|
+
id: str
|
|
33
|
+
status: TransactionStatus
|
|
34
|
+
customer_id: str | None
|
|
35
|
+
address_id: str | None
|
|
36
|
+
business_id: str | None
|
|
37
|
+
custom_data: CustomData | None
|
|
38
|
+
currency_code: CurrencyCode
|
|
39
|
+
origin: TransactionOrigin
|
|
40
|
+
subscription_id: str | None
|
|
41
|
+
invoice_id: str | None
|
|
42
|
+
invoice_number: str | None
|
|
43
|
+
collection_mode: CollectionMode
|
|
44
|
+
discount_id: str | None
|
|
45
|
+
billing_details: BillingDetails | None
|
|
46
|
+
billing_period: TransactionTimePeriod | None
|
|
47
|
+
items: list[TransactionItem]
|
|
48
|
+
details: TransactionDetails
|
|
49
|
+
payments: list[TransactionPaymentAttempt]
|
|
50
|
+
checkout: Checkout | None
|
|
51
|
+
created_at: datetime
|
|
52
|
+
updated_at: datetime
|
|
53
|
+
billed_at: datetime | None
|
|
54
|
+
address: Address | None = None
|
|
55
|
+
adjustments: list[Adjustment] | None = None
|
|
56
|
+
adjustment_totals: list[TransactionAdjustmentsTotals] | None = None
|
|
57
|
+
business: Business | None = None
|
|
58
|
+
customer: Customer | None = None
|
|
59
|
+
discount: Discount | None = None
|
|
60
|
+
available_payment_methods: list[AvailablePaymentMethods] | None = None
|
|
61
|
+
receipt_data: str | None = None
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
@classmethod
|
|
65
|
+
def from_dict(cls, data: dict) -> Transaction:
|
|
66
|
+
return Transaction(
|
|
67
|
+
address_id = data.get('address_id'),
|
|
68
|
+
business_id = data.get('business_id'),
|
|
69
|
+
collection_mode = CollectionMode(data['collection_mode']),
|
|
70
|
+
created_at = datetime.fromisoformat(data['created_at']),
|
|
71
|
+
currency_code = CurrencyCode(data['currency_code']),
|
|
72
|
+
customer_id = data.get('customer_id'),
|
|
73
|
+
details = TransactionDetails.from_dict(data['details']),
|
|
74
|
+
discount_id = data.get('discount_id'),
|
|
75
|
+
id = data['id'],
|
|
76
|
+
invoice_id = data.get('invoice_id'),
|
|
77
|
+
invoice_number = data.get('invoice_number'),
|
|
78
|
+
origin = TransactionOrigin(data['origin']),
|
|
79
|
+
receipt_data = data.get('receipt_data'),
|
|
80
|
+
status = TransactionStatus(data['status']),
|
|
81
|
+
subscription_id = data.get('subscription_id'),
|
|
82
|
+
updated_at = datetime.fromisoformat(data['updated_at']),
|
|
83
|
+
items = [TransactionItem.from_dict(item) for item in data.get('items', [])],
|
|
84
|
+
payments = [TransactionPaymentAttempt.from_dict(item) for item in data.get('payments', [])],
|
|
85
|
+
adjustments = [Adjustment.from_dict(item) for item in data.get('adjustments', [])],
|
|
86
|
+
address = Address.from_dict(data['address']) if data.get('address') else None,
|
|
87
|
+
billed_at = datetime.fromisoformat(data['billed_at']) if data.get('billed_at') else None,
|
|
88
|
+
billing_details = BillingDetails.from_dict(data['billing_details']) if data.get('billing_details') else None,
|
|
89
|
+
billing_period = TransactionTimePeriod.from_dict(data['billing_period']) if data.get('billing_period') else None,
|
|
90
|
+
business = Business.from_dict(data['business']) if data.get('business') else None,
|
|
91
|
+
custom_data = CustomData(data['custom_data']) if data.get('custom_data') else None,
|
|
92
|
+
checkout = Checkout.from_dict(data['checkout']) if data.get('checkout') else None,
|
|
93
|
+
customer = Customer.from_dict(data['customer']) if data.get('customer') else None,
|
|
94
|
+
discount = Discount.from_dict(data['discount']) if data.get('discount') else None,
|
|
95
|
+
|
|
96
|
+
available_payment_methods = [AvailablePaymentMethods(item) for item in data.get('available_payment_methods', [])],
|
|
97
|
+
adjustment_totals = TransactionAdjustmentsTotals.from_dict(data['adjustment_totals']) if data.get('adjustment_totals') else None,
|
|
98
|
+
)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Entities.Entity import Entity
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@dataclass
|
|
8
|
+
class TransactionData(Entity):
|
|
9
|
+
url: str
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@classmethod
|
|
13
|
+
def from_dict(cls, data: dict) -> TransactionData:
|
|
14
|
+
return TransactionData(data['url'])
|
|
15
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Entities.Entity import Entity
|
|
5
|
+
from paddle_billing.Entities.Shared import AddressPreview, AvailablePaymentMethods, CurrencyCode
|
|
6
|
+
|
|
7
|
+
from paddle_billing.Entities.Shared.TransactionDetailsPreview import TransactionDetailsPreview
|
|
8
|
+
from paddle_billing.Entities.Transactions.TransactionItemPreviewWithPrice import TransactionItemPreviewWithPrice
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@dataclass
|
|
12
|
+
class TransactionPreview(Entity):
|
|
13
|
+
customer_id: str | None
|
|
14
|
+
address_id: str | None
|
|
15
|
+
business_id: str | None
|
|
16
|
+
currency_code: CurrencyCode
|
|
17
|
+
discount_id: str | None
|
|
18
|
+
customer_ip_address: str | None
|
|
19
|
+
address: AddressPreview | None
|
|
20
|
+
ignore_trials: bool
|
|
21
|
+
items: list[TransactionItemPreviewWithPrice]
|
|
22
|
+
details: TransactionDetailsPreview
|
|
23
|
+
available_payment_methods: list[AvailablePaymentMethods]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@classmethod
|
|
27
|
+
def from_dict(cls, data: dict) -> TransactionPreview:
|
|
28
|
+
return TransactionPreview(
|
|
29
|
+
customer_id = data.get('customer_id'),
|
|
30
|
+
address_id = data.get('address_id'),
|
|
31
|
+
business_id = data.get('business_id'),
|
|
32
|
+
currency_code = CurrencyCode(data['currency_code']),
|
|
33
|
+
discount_id = data.get('discount_id'),
|
|
34
|
+
customer_ip_address = data.get('customer_ip_address'),
|
|
35
|
+
ignore_trials = data['ignore_trials'],
|
|
36
|
+
details = TransactionDetailsPreview.from_dict(data['details']),
|
|
37
|
+
items = [TransactionItemPreviewWithPrice.from_dict(item) for item in data['items']],
|
|
38
|
+
available_payment_methods = [AvailablePaymentMethods(method) for method in data['available_payment_methods']],
|
|
39
|
+
address = AddressPreview.from_dict(data['address']) if data.get('address') else None,
|
|
40
|
+
)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Entities.Shared.CurrencyCode import CurrencyCode
|
|
5
|
+
|
|
6
|
+
from paddle_billing.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,16 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
@dataclass
|
|
6
|
+
class TransactionCreateItem:
|
|
7
|
+
price_id: str
|
|
8
|
+
quantity: int
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@staticmethod
|
|
12
|
+
def from_dict(data: dict) -> TransactionCreateItem:
|
|
13
|
+
return TransactionCreateItem(
|
|
14
|
+
price_id = data['price_id'],
|
|
15
|
+
quantity = data['quantity'],
|
|
16
|
+
)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Entities.Transactions.TransactionNonCatalogPrice import TransactionNonCatalogPrice
|
|
5
|
+
from paddle_billing.Entities.Transactions.TransactionNonCatalogPriceWithProduct import TransactionNonCatalogPriceWithProduct
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclass
|
|
9
|
+
class TransactionCreateItemWithPrice:
|
|
10
|
+
price: TransactionNonCatalogPrice | TransactionNonCatalogPriceWithProduct
|
|
11
|
+
quantity: int
|
|
@@ -0,0 +1,32 @@
|
|
|
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.TransactionPayoutTotals import TransactionPayoutTotals
|
|
6
|
+
from paddle_billing.Entities.Shared.TransactionPayoutTotalsAdjusted import TransactionPayoutTotalsAdjusted
|
|
7
|
+
from paddle_billing.Entities.Shared.TransactionTotals import TransactionTotals
|
|
8
|
+
from paddle_billing.Entities.Shared.TransactionTotalsAdjusted import TransactionTotalsAdjusted
|
|
9
|
+
|
|
10
|
+
from paddle_billing.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.Entities.Price import Price
|
|
5
|
+
|
|
6
|
+
from paddle_billing.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,21 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Entities.Transactions.TransactionNonCatalogPrice import TransactionNonCatalogPrice
|
|
5
|
+
from paddle_billing.Entities.Transactions.TransactionNonCatalogPriceWithProduct import TransactionNonCatalogPriceWithProduct
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclass
|
|
9
|
+
class TransactionItemPreviewWithNonCatalogPrice:
|
|
10
|
+
price: TransactionNonCatalogPrice | TransactionNonCatalogPriceWithProduct
|
|
11
|
+
quantity: int
|
|
12
|
+
include_in_totals: bool | None
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@staticmethod
|
|
16
|
+
def from_dict(data: dict) -> TransactionItemPreviewWithNonCatalogPrice:
|
|
17
|
+
return TransactionItemPreviewWithNonCatalogPrice(
|
|
18
|
+
price = data['price'],
|
|
19
|
+
quantity = data['quantity'],
|
|
20
|
+
include_in_totals = data.get('include_in_totals'),
|
|
21
|
+
)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Entities.Price import Price
|
|
5
|
+
|
|
6
|
+
from paddle_billing.Entities.Transactions.TransactionProration import TransactionProration
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@dataclass
|
|
10
|
+
class TransactionItemPreviewWithPrice:
|
|
11
|
+
price: Price
|
|
12
|
+
quantity: int
|
|
13
|
+
include_in_totals: bool
|
|
14
|
+
proration: TransactionProration | None
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@staticmethod
|
|
18
|
+
def from_dict(data: dict) -> TransactionItemPreviewWithPrice:
|
|
19
|
+
return TransactionItemPreviewWithPrice(
|
|
20
|
+
price = Price.from_dict(data['price']),
|
|
21
|
+
quantity = data['quantity'],
|
|
22
|
+
include_in_totals = data['include_in_totals'],
|
|
23
|
+
proration = TransactionProration.from_dict(data['proration']) if data.get('proration') else None,
|
|
24
|
+
)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
@dataclass
|
|
6
|
+
class TransactionItemPreviewWithPriceId:
|
|
7
|
+
price_id: str
|
|
8
|
+
quantity: int
|
|
9
|
+
include_in_totals: bool | None
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@staticmethod
|
|
13
|
+
def from_dict(data: dict) -> TransactionItemPreviewWithPriceId:
|
|
14
|
+
return TransactionItemPreviewWithPriceId(
|
|
15
|
+
price_id = data['price_id'],
|
|
16
|
+
quantity = data['quantity'],
|
|
17
|
+
include_in_totals = data.get('include_in_totals'),
|
|
18
|
+
)
|