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,36 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Notifications.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.Notifications.Entities.Shared.ChargebackFee import ChargebackFee
|
|
5
|
+
from paddle_billing.Notifications.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,36 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Notifications.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.Notifications.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.Notifications.Entities.Shared.CountryCode import CountryCode
|
|
5
|
+
from paddle_billing.Notifications.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
|
+
)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
from paddle_billing.Notifications.Entities.Shared.Action import Action
|
|
2
|
+
from paddle_billing.Notifications.Entities.Shared.AddressPreview import AddressPreview
|
|
3
|
+
from paddle_billing.Notifications.Entities.Shared.AdjustmentItemTotals import AdjustmentItemTotals
|
|
4
|
+
from paddle_billing.Notifications.Entities.Shared.AdjustmentProration import AdjustmentProration
|
|
5
|
+
from paddle_billing.Notifications.Entities.Shared.AdjustmentStatus import AdjustmentStatus
|
|
6
|
+
from paddle_billing.Notifications.Entities.Shared.AdjustmentTimePeriod import AdjustmentTimePeriod
|
|
7
|
+
from paddle_billing.Notifications.Entities.Shared.AdjustmentTotals import AdjustmentTotals
|
|
8
|
+
from paddle_billing.Notifications.Entities.Shared.AdjustmentType import AdjustmentType
|
|
9
|
+
from paddle_billing.Notifications.Entities.Shared.AvailablePaymentMethods import AvailablePaymentMethods
|
|
10
|
+
from paddle_billing.Notifications.Entities.Shared.BillingDetails import BillingDetails
|
|
11
|
+
from paddle_billing.Notifications.Entities.Shared.Card import Card
|
|
12
|
+
from paddle_billing.Notifications.Entities.Shared.CatalogType import CatalogType
|
|
13
|
+
from paddle_billing.Notifications.Entities.Shared.ChargebackFee import ChargebackFee
|
|
14
|
+
from paddle_billing.Notifications.Entities.Shared.Checkout import Checkout
|
|
15
|
+
from paddle_billing.Notifications.Entities.Shared.CollectionMode import CollectionMode
|
|
16
|
+
from paddle_billing.Notifications.Entities.Shared.CountryCode import CountryCode
|
|
17
|
+
from paddle_billing.Notifications.Entities.Shared.CurrencyCode import CurrencyCode
|
|
18
|
+
from paddle_billing.Notifications.Entities.Shared.CurrencyCodeAdjustments import CurrencyCodeAdjustments
|
|
19
|
+
from paddle_billing.Notifications.Entities.Shared.CurrencyCodePayouts import CurrencyCodePayouts
|
|
20
|
+
from paddle_billing.Notifications.Entities.Shared.CustomData import CustomData
|
|
21
|
+
from paddle_billing.Notifications.Entities.Shared.Data import Data
|
|
22
|
+
from paddle_billing.Notifications.Entities.Shared.ErrorCode import ErrorCode
|
|
23
|
+
from paddle_billing.Notifications.Entities.Shared.ImportMeta import ImportMeta
|
|
24
|
+
from paddle_billing.Notifications.Entities.Shared.Interval import Interval
|
|
25
|
+
from paddle_billing.Notifications.Entities.Shared.MethodDetails import MethodDetails
|
|
26
|
+
from paddle_billing.Notifications.Entities.Shared.Money import Money
|
|
27
|
+
from paddle_billing.Notifications.Entities.Shared.Original import Original
|
|
28
|
+
from paddle_billing.Notifications.Entities.Shared.PaymentAttemptStatus import PaymentAttemptStatus
|
|
29
|
+
from paddle_billing.Notifications.Entities.Shared.PaymentMethodType import PaymentMethodType
|
|
30
|
+
from paddle_billing.Notifications.Entities.Shared.PayoutTotalsAdjustment import PayoutTotalsAdjustment
|
|
31
|
+
from paddle_billing.Notifications.Entities.Shared.PriceQuantity import PriceQuantity
|
|
32
|
+
from paddle_billing.Notifications.Entities.Shared.Status import Status
|
|
33
|
+
from paddle_billing.Notifications.Entities.Shared.TransactionStatus import TransactionStatus
|
|
34
|
+
from paddle_billing.Notifications.Entities.Shared.TaxCategory import TaxCategory
|
|
35
|
+
from paddle_billing.Notifications.Entities.Shared.TaxMode import TaxMode
|
|
36
|
+
from paddle_billing.Notifications.Entities.Shared.TaxRatesUsed import TaxRatesUsed
|
|
37
|
+
from paddle_billing.Notifications.Entities.Shared.TimePeriod import TimePeriod
|
|
38
|
+
from paddle_billing.Notifications.Entities.Shared.Totals import Totals
|
|
39
|
+
from paddle_billing.Notifications.Entities.Shared.TransactionOrigin import TransactionOrigin
|
|
40
|
+
from paddle_billing.Notifications.Entities.Shared.TransactionPaymentAttempt import TransactionPaymentAttempt
|
|
41
|
+
from paddle_billing.Notifications.Entities.Shared.TransactionPayoutTotals import TransactionPayoutTotals
|
|
42
|
+
from paddle_billing.Notifications.Entities.Shared.TransactionPayoutTotalsAdjusted import TransactionPayoutTotalsAdjusted
|
|
43
|
+
from paddle_billing.Notifications.Entities.Shared.TransactionTotals import TransactionTotals
|
|
44
|
+
from paddle_billing.Notifications.Entities.Shared.TransactionTotalsAdjusted import TransactionTotalsAdjusted
|
|
45
|
+
from paddle_billing.Notifications.Entities.Shared.UnitPriceOverride import UnitPriceOverride
|
|
46
|
+
from paddle_billing.Notifications.Entities.Shared.UnitTotals import UnitTotals
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
|
|
5
|
+
from paddle_billing.Notifications.Entities.Entity import Entity
|
|
6
|
+
from paddle_billing.Notifications.Entities.Shared import (
|
|
7
|
+
BillingDetails,
|
|
8
|
+
CollectionMode,
|
|
9
|
+
CurrencyCode,
|
|
10
|
+
CustomData,
|
|
11
|
+
ImportMeta,
|
|
12
|
+
TimePeriod
|
|
13
|
+
)
|
|
14
|
+
from paddle_billing.Notifications.Entities.Subscriptions import (
|
|
15
|
+
SubscriptionDiscount,
|
|
16
|
+
SubscriptionItem,
|
|
17
|
+
SubscriptionScheduledChange,
|
|
18
|
+
SubscriptionStatus,
|
|
19
|
+
SubscriptionTimePeriod,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@dataclass
|
|
24
|
+
class Subscription(Entity):
|
|
25
|
+
address_id: str
|
|
26
|
+
billing_cycle: TimePeriod
|
|
27
|
+
collection_mode: CollectionMode
|
|
28
|
+
created_at: datetime
|
|
29
|
+
currency_code: CurrencyCode
|
|
30
|
+
customer_id: str
|
|
31
|
+
id: str
|
|
32
|
+
items: list[SubscriptionItem]
|
|
33
|
+
status: SubscriptionStatus
|
|
34
|
+
updated_at: datetime
|
|
35
|
+
billing_details: BillingDetails | None = None
|
|
36
|
+
business_id: str | None = None
|
|
37
|
+
canceled_at: datetime | None = None
|
|
38
|
+
current_billing_period: SubscriptionTimePeriod | None = None
|
|
39
|
+
custom_data: CustomData | None = None
|
|
40
|
+
discount: SubscriptionDiscount | None = None
|
|
41
|
+
import_meta: ImportMeta | None = None
|
|
42
|
+
first_billed_at: datetime | None = None
|
|
43
|
+
next_billed_at: datetime | None = None
|
|
44
|
+
paused_at: datetime | None = None
|
|
45
|
+
scheduled_change: SubscriptionScheduledChange | None = None
|
|
46
|
+
started_at: datetime | None = None
|
|
47
|
+
transaction_id: str | None = None # Only provided by subscription.created
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
@classmethod
|
|
51
|
+
def from_dict(cls, data: dict) -> Subscription:
|
|
52
|
+
return Subscription(
|
|
53
|
+
id = data['id'],
|
|
54
|
+
transaction_id = data.get('transaction_id'),
|
|
55
|
+
status = SubscriptionStatus(data['status']),
|
|
56
|
+
customer_id = data['customer_id'],
|
|
57
|
+
address_id = data['address_id'],
|
|
58
|
+
business_id = data.get('business_id'),
|
|
59
|
+
currency_code = CurrencyCode(data['currency_code']),
|
|
60
|
+
created_at = datetime.fromisoformat(data['created_at']),
|
|
61
|
+
updated_at = datetime.fromisoformat(data['updated_at']),
|
|
62
|
+
collection_mode = CollectionMode(data['collection_mode']),
|
|
63
|
+
billing_cycle = TimePeriod.from_dict(data['billing_cycle']),
|
|
64
|
+
items = [SubscriptionItem.from_dict(item) for item in data['items']],
|
|
65
|
+
billing_details = BillingDetails.from_dict(data['billing_details']) if data.get('billing_details') else None,
|
|
66
|
+
canceled_at = datetime.fromisoformat(data['canceled_at']) if data.get('canceled_at') else None,
|
|
67
|
+
custom_data = CustomData(data['custom_data']) if data.get('custom_data') else None,
|
|
68
|
+
discount = SubscriptionDiscount.from_dict(data['discount']) if data.get('discount') else None,
|
|
69
|
+
first_billed_at = datetime.fromisoformat(data['first_billed_at']) if data.get('first_billed_at') else None,
|
|
70
|
+
import_meta = ImportMeta.from_dict(data['import_meta']) if data.get('import_meta') else None,
|
|
71
|
+
next_billed_at = datetime.fromisoformat(data['next_billed_at']) if data.get('next_billed_at') else None,
|
|
72
|
+
paused_at = datetime.fromisoformat(data['paused_at']) if data.get('paused_at') else None,
|
|
73
|
+
started_at = datetime.fromisoformat(data['started_at']) if data.get('started_at') else None,
|
|
74
|
+
current_billing_period = SubscriptionTimePeriod.from_dict(data['current_billing_period']) if data.get('billing_details') else None,
|
|
75
|
+
scheduled_change = SubscriptionScheduledChange.from_dict(data['scheduled_change']) if data.get('scheduled_change') else None,
|
|
76
|
+
)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Notifications.Entities.Shared import AdjustmentItemTotals, AdjustmentProration, AdjustmentType
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@dataclass
|
|
8
|
+
class SubscriptionAdjustmentItem:
|
|
9
|
+
item_id: str
|
|
10
|
+
type: AdjustmentType
|
|
11
|
+
amount: str | None
|
|
12
|
+
proration: AdjustmentProration
|
|
13
|
+
totals: AdjustmentItemTotals
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@staticmethod
|
|
17
|
+
def from_dict(data: dict) -> SubscriptionAdjustmentItem:
|
|
18
|
+
return SubscriptionAdjustmentItem(
|
|
19
|
+
item_id = data['item_id'],
|
|
20
|
+
type = AdjustmentType(data['type']),
|
|
21
|
+
amount = data.get('amount'),
|
|
22
|
+
proration = AdjustmentProration.from_dict(data['proration']),
|
|
23
|
+
totals = AdjustmentItemTotals.from_dict(data['totals']),
|
|
24
|
+
)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Notifications.Entities.Shared import CurrencyCode
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@dataclass
|
|
8
|
+
class SubscriptionCharge:
|
|
9
|
+
amount: str
|
|
10
|
+
currency_code: CurrencyCode
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@staticmethod
|
|
14
|
+
def from_dict(data: dict) -> SubscriptionCharge:
|
|
15
|
+
return SubscriptionCharge(
|
|
16
|
+
amount = data['amount'],
|
|
17
|
+
currency_code = CurrencyCode(data['currency_code']),
|
|
18
|
+
)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Notifications.Entities.Shared import CurrencyCode
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@dataclass
|
|
8
|
+
class SubscriptionCredit:
|
|
9
|
+
amount: str
|
|
10
|
+
currency_code: CurrencyCode
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@staticmethod
|
|
14
|
+
def from_dict(data: dict) -> SubscriptionCredit:
|
|
15
|
+
return SubscriptionCredit(
|
|
16
|
+
amount = data['amount'],
|
|
17
|
+
currency_code = CurrencyCode(data['currency_code']),
|
|
18
|
+
)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@dataclass
|
|
7
|
+
class SubscriptionDiscount:
|
|
8
|
+
id: str
|
|
9
|
+
starts_at: datetime
|
|
10
|
+
ends_at: datetime
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@staticmethod
|
|
14
|
+
def from_dict(data: dict) -> SubscriptionDiscount:
|
|
15
|
+
return SubscriptionDiscount(
|
|
16
|
+
id = data['id'],
|
|
17
|
+
starts_at = datetime.fromisoformat(data['starts_at']),
|
|
18
|
+
ends_at = datetime.fromisoformat(data['ends_at']) if data.get('ends_at') else None,
|
|
19
|
+
)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
|
|
5
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionItemStatus import SubscriptionItemStatus
|
|
6
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionPrice import SubscriptionPrice
|
|
7
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionTimePeriod import SubscriptionTimePeriod
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@dataclass
|
|
11
|
+
class SubscriptionItem:
|
|
12
|
+
status: SubscriptionItemStatus
|
|
13
|
+
quantity: int
|
|
14
|
+
recurring: bool
|
|
15
|
+
created_at: datetime
|
|
16
|
+
updated_at: datetime
|
|
17
|
+
previously_billed_at: datetime | None
|
|
18
|
+
next_billed_at: datetime | None
|
|
19
|
+
trial_dates: SubscriptionTimePeriod | None
|
|
20
|
+
price: SubscriptionPrice
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@staticmethod
|
|
24
|
+
def from_dict(data: dict) -> SubscriptionItem:
|
|
25
|
+
return SubscriptionItem(
|
|
26
|
+
status = SubscriptionItemStatus(data['status']),
|
|
27
|
+
quantity = data['quantity'],
|
|
28
|
+
recurring = data['recurring'],
|
|
29
|
+
created_at = datetime.fromisoformat(data['created_at']),
|
|
30
|
+
updated_at = datetime.fromisoformat(data['updated_at']),
|
|
31
|
+
price = SubscriptionPrice.from_dict(data['price']),
|
|
32
|
+
previously_billed_at = datetime.fromisoformat(data['previously_billed_at']) if data.get('previously_billed_at') else None,
|
|
33
|
+
next_billed_at = datetime.fromisoformat(data['next_billed_at']) if data.get('next_billed_at') else None,
|
|
34
|
+
trial_dates = SubscriptionTimePeriod.from_dict(data['trial_dates']) if data.get('trial_dates') else None,
|
|
35
|
+
)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Notifications.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,21 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
|
|
5
|
+
from paddle_billing.Notifications.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,13 @@
|
|
|
1
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionAdjustmentItem import SubscriptionAdjustmentItem
|
|
2
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionCharge import SubscriptionCharge
|
|
3
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionCredit import SubscriptionCredit
|
|
4
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionDiscount import SubscriptionDiscount
|
|
5
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionEffectiveFrom import SubscriptionEffectiveFrom
|
|
6
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionItem import SubscriptionItem
|
|
7
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionItemStatus import SubscriptionItemStatus
|
|
8
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionOnPaymentFailure import SubscriptionOnPaymentFailure
|
|
9
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionPrice import SubscriptionPrice
|
|
10
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionScheduledChange import SubscriptionScheduledChange
|
|
11
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionScheduledChangeAction import SubscriptionScheduledChangeAction
|
|
12
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionStatus import SubscriptionStatus
|
|
13
|
+
from paddle_billing.Notifications.Entities.Subscriptions.SubscriptionTimePeriod import SubscriptionTimePeriod
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
|
|
5
|
+
from paddle_billing.Notifications.Entities.Entity import Entity
|
|
6
|
+
from paddle_billing.Notifications.Entities.Shared import (
|
|
7
|
+
BillingDetails,
|
|
8
|
+
Checkout,
|
|
9
|
+
CollectionMode,
|
|
10
|
+
CurrencyCode,
|
|
11
|
+
CustomData,
|
|
12
|
+
TransactionOrigin,
|
|
13
|
+
TransactionPaymentAttempt,
|
|
14
|
+
TransactionStatus,
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
from paddle_billing.Notifications.Entities.Transactions.TransactionDetails import TransactionDetails
|
|
18
|
+
from paddle_billing.Notifications.Entities.Transactions.TransactionItem import TransactionItem
|
|
19
|
+
from paddle_billing.Notifications.Entities.Transactions.TransactionTimePeriod import TransactionTimePeriod
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@dataclass
|
|
23
|
+
class Transaction(Entity):
|
|
24
|
+
id: str
|
|
25
|
+
status: TransactionStatus
|
|
26
|
+
customer_id: str | None
|
|
27
|
+
address_id: str | None
|
|
28
|
+
business_id: str | None
|
|
29
|
+
custom_data: CustomData | None
|
|
30
|
+
currency_code: CurrencyCode
|
|
31
|
+
origin: TransactionOrigin
|
|
32
|
+
subscription_id: str | None
|
|
33
|
+
invoice_id: str | None
|
|
34
|
+
invoice_number: str | None
|
|
35
|
+
collection_mode: CollectionMode
|
|
36
|
+
discount_id: str | None
|
|
37
|
+
billing_details: BillingDetails | None
|
|
38
|
+
billing_period: TransactionTimePeriod | None
|
|
39
|
+
items: list[TransactionItem]
|
|
40
|
+
details: TransactionDetails
|
|
41
|
+
payments: list[TransactionPaymentAttempt]
|
|
42
|
+
checkout: Checkout | None
|
|
43
|
+
created_at: datetime
|
|
44
|
+
updated_at: datetime
|
|
45
|
+
billed_at: datetime | None
|
|
46
|
+
receipt_data: str | None = None
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def from_dict(cls, data: dict) -> Transaction:
|
|
51
|
+
return Transaction(
|
|
52
|
+
address_id = data.get('address_id'),
|
|
53
|
+
business_id = data.get('business_id'),
|
|
54
|
+
collection_mode = CollectionMode(data['collection_mode']),
|
|
55
|
+
created_at = datetime.fromisoformat(data['created_at']),
|
|
56
|
+
currency_code = CurrencyCode(data['currency_code']),
|
|
57
|
+
customer_id = data.get('customer_id'),
|
|
58
|
+
details = TransactionDetails.from_dict(data['details']),
|
|
59
|
+
discount_id = data.get('discount_id'),
|
|
60
|
+
id = data['id'],
|
|
61
|
+
invoice_id = data.get('invoice_id'),
|
|
62
|
+
invoice_number = data.get('invoice_number'),
|
|
63
|
+
origin = TransactionOrigin(data['origin']),
|
|
64
|
+
receipt_data = data.get('receipt_data'),
|
|
65
|
+
status = TransactionStatus(data['status']),
|
|
66
|
+
subscription_id = data.get('subscription_id'),
|
|
67
|
+
updated_at = datetime.fromisoformat(data['updated_at']),
|
|
68
|
+
items = [TransactionItem.from_dict(item) for item in data.get('items', [])],
|
|
69
|
+
payments = [TransactionPaymentAttempt.from_dict(item) for item in data.get('payments', [])],
|
|
70
|
+
billed_at = datetime.fromisoformat(data['billed_at']) if data.get('billed_at') else None,
|
|
71
|
+
billing_details = BillingDetails.from_dict(data['billing_details']) if data.get('billing_details') else None,
|
|
72
|
+
billing_period = TransactionTimePeriod.from_dict(data['billing_period']) if data.get('billing_period') else None,
|
|
73
|
+
custom_data = CustomData(data['custom_data']) if data.get('custom_data') else None,
|
|
74
|
+
checkout = Checkout.from_dict(data['checkout']) if data.get('checkout') else None,
|
|
75
|
+
)
|