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,22 @@
|
|
|
1
|
+
from paddle_billing.ResponseParser import ResponseParser
|
|
2
|
+
from paddle_billing.Entities.Collections import Paginator, EventTypeCollection
|
|
3
|
+
|
|
4
|
+
from typing import TYPE_CHECKING
|
|
5
|
+
if TYPE_CHECKING:
|
|
6
|
+
from paddle_billing.Client import Client
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class EventTypesClient:
|
|
10
|
+
def __init__(self, client: 'Client'):
|
|
11
|
+
self.client = client
|
|
12
|
+
self.response = None
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def list(self) -> EventTypeCollection:
|
|
16
|
+
self.response = self.client.get_raw('/event-types')
|
|
17
|
+
parser = ResponseParser(self.response)
|
|
18
|
+
|
|
19
|
+
return EventTypeCollection.from_list(
|
|
20
|
+
parser.get_data(),
|
|
21
|
+
Paginator(self.client, parser.get_pagination(), EventTypeCollection)
|
|
22
|
+
)
|
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from paddle_billing.ResponseParser import ResponseParser
|
|
2
|
+
from paddle_billing.Entities.Collections import EventCollection, Paginator
|
|
3
|
+
from paddle_billing.Resources.Events.Operations import ListEvents
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
if TYPE_CHECKING:
|
|
7
|
+
from paddle_billing.Client import Client
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class EventsClient:
|
|
11
|
+
def __init__(self, client: 'Client'):
|
|
12
|
+
self.client = client
|
|
13
|
+
self.response = None
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def list(self, operation: ListEvents = None) -> EventCollection:
|
|
17
|
+
if operation is None:
|
|
18
|
+
operation = ListEvents()
|
|
19
|
+
|
|
20
|
+
self.response = self.client.get_raw('/events', operation.get_parameters())
|
|
21
|
+
parser = ResponseParser(self.response)
|
|
22
|
+
|
|
23
|
+
return EventCollection.from_list(
|
|
24
|
+
parser.get_data(),
|
|
25
|
+
Paginator(self.client, parser.get_pagination(), EventCollection)
|
|
26
|
+
)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from paddle_billing.HasParameters import HasParameters
|
|
2
|
+
|
|
3
|
+
from paddle_billing.Resources.Shared.Operations import Pager
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class ListEvents(HasParameters):
|
|
7
|
+
def __init__(self, pager: Pager | None = None):
|
|
8
|
+
self.pager = pager
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def get_parameters(self) -> dict:
|
|
12
|
+
return self.pager.get_parameters() if self.pager else {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from paddle_billing.Resources.Events.Operations.ListEvents import ListEvents
|
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from paddle_billing.ResponseParser import ResponseParser
|
|
2
|
+
from paddle_billing.Entities.Collections import Paginator, NotificationLogCollection
|
|
3
|
+
from paddle_billing.Resources.NotificationLogs.Operations import ListNotificationLogs
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
if TYPE_CHECKING:
|
|
7
|
+
from paddle_billing.Client import Client
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class NotificationLogsClient:
|
|
11
|
+
def __init__(self, client: 'Client'):
|
|
12
|
+
self.client = client
|
|
13
|
+
self.response = None
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def list(self, notification_id: str, operation: ListNotificationLogs = None) -> NotificationLogCollection:
|
|
17
|
+
if operation is None:
|
|
18
|
+
operation = ListNotificationLogs()
|
|
19
|
+
|
|
20
|
+
self.response = self.client.get_raw(f"/notifications/{notification_id}/logs", operation.get_parameters())
|
|
21
|
+
parser = ResponseParser(self.response)
|
|
22
|
+
|
|
23
|
+
return NotificationLogCollection.from_list(
|
|
24
|
+
parser.get_data(),
|
|
25
|
+
Paginator(self.client, parser.get_pagination(), NotificationLogCollection)
|
|
26
|
+
)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from paddle_billing.HasParameters import HasParameters
|
|
2
|
+
from paddle_billing.Resources.Shared.Operations import Pager
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class ListNotificationLogs(HasParameters):
|
|
6
|
+
def __init__(self, pager: Pager = None):
|
|
7
|
+
self.pager = pager
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def get_parameters(self) -> dict:
|
|
11
|
+
return self.pager.get_parameters() if self.pager else {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from paddle_billing.Resources.NotificationLogs.Operations.ListNotificationLogs import ListNotificationLogs
|
|
File without changes
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
from paddle_billing.ResponseParser import ResponseParser
|
|
2
|
+
|
|
3
|
+
from paddle_billing.Entities.Collections import NotificationSettingCollection
|
|
4
|
+
from paddle_billing.Entities.NotificationSetting import NotificationSetting
|
|
5
|
+
|
|
6
|
+
from paddle_billing.Resources.NotificationSettings.Operations import CreateNotificationSetting, UpdateNotificationSetting
|
|
7
|
+
|
|
8
|
+
from typing import TYPE_CHECKING
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from paddle_billing.Client import Client
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class NotificationSettingsClient:
|
|
14
|
+
def __init__(self, client: 'Client'):
|
|
15
|
+
self.client = client
|
|
16
|
+
self.response = None
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def list(self) -> NotificationSettingCollection:
|
|
20
|
+
self.response = self.client.get_raw('/notification-settings')
|
|
21
|
+
parser = ResponseParser(self.response)
|
|
22
|
+
|
|
23
|
+
return NotificationSettingCollection.from_list(parser.get_data())
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def get(self, notification_setting_id: str) -> NotificationSetting:
|
|
27
|
+
self.response = self.client.get_raw(f"/notification-settings/{notification_setting_id}")
|
|
28
|
+
parser = ResponseParser(self.response)
|
|
29
|
+
|
|
30
|
+
return NotificationSetting.from_dict(parser.get_data())
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def create(self, operation: CreateNotificationSetting) -> NotificationSetting:
|
|
34
|
+
self.response = self.client.post_raw('/notification-settings', operation.get_parameters())
|
|
35
|
+
parser = ResponseParser(self.response)
|
|
36
|
+
|
|
37
|
+
return NotificationSetting.from_dict(parser.get_data())
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def update(self, notification_setting_id: str, operation: UpdateNotificationSetting) -> NotificationSetting:
|
|
41
|
+
self.response = self.client.patch_raw(
|
|
42
|
+
f"/notification-settings/{notification_setting_id}",
|
|
43
|
+
operation.get_parameters()
|
|
44
|
+
)
|
|
45
|
+
parser = ResponseParser(self.response)
|
|
46
|
+
|
|
47
|
+
return NotificationSetting.from_dict(parser.get_data())
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def delete(self, notification_setting_id: str) -> NotificationSetting:
|
|
51
|
+
self.response = self.client.delete_raw(f"/notification-settings/{notification_setting_id}")
|
|
52
|
+
parser = ResponseParser(self.response)
|
|
53
|
+
|
|
54
|
+
return NotificationSetting.from_dict(parser.get_data())
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from dataclasses import asdict, dataclass
|
|
2
|
+
|
|
3
|
+
from paddle_billing.Undefined import Undefined
|
|
4
|
+
from paddle_billing.Entities.Events import EventTypeName
|
|
5
|
+
from paddle_billing.Entities.NotificationSettings import NotificationSettingType
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclass
|
|
9
|
+
class CreateNotificationSetting:
|
|
10
|
+
description: str
|
|
11
|
+
destination: str
|
|
12
|
+
subscribed_events: list[EventTypeName]
|
|
13
|
+
type: NotificationSettingType
|
|
14
|
+
include_sensitive_fields: bool
|
|
15
|
+
api_version: int | Undefined = Undefined()
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def get_parameters(self) -> dict:
|
|
19
|
+
return asdict(self)
|
|
20
|
+
|
|
21
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from dataclasses import asdict, dataclass
|
|
2
|
+
|
|
3
|
+
from paddle_billing.Undefined import Undefined
|
|
4
|
+
from paddle_billing.Entities.Events import EventTypeName
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@dataclass
|
|
8
|
+
class UpdateNotificationSetting:
|
|
9
|
+
description: str | Undefined = Undefined()
|
|
10
|
+
destination: str | Undefined = Undefined()
|
|
11
|
+
active: bool | Undefined = Undefined()
|
|
12
|
+
api_version: int | Undefined = Undefined()
|
|
13
|
+
include_sensitive_fields: bool | Undefined = Undefined()
|
|
14
|
+
subscribed_events: list[EventTypeName] | Undefined = Undefined()
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def get_parameters(self) -> dict:
|
|
18
|
+
return asdict(self)
|
|
19
|
+
|
|
20
|
+
|
|
File without changes
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from paddle_billing.ResponseParser import ResponseParser
|
|
2
|
+
|
|
3
|
+
from paddle_billing.Entities.Collections import NotificationCollection, Paginator
|
|
4
|
+
from paddle_billing.Entities.Notification import Notification
|
|
5
|
+
|
|
6
|
+
from paddle_billing.Resources.Notifications.Operations import ListNotifications
|
|
7
|
+
|
|
8
|
+
from typing import TYPE_CHECKING
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from paddle_billing.Client import Client
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class NotificationsClient:
|
|
14
|
+
def __init__(self, client: 'Client'):
|
|
15
|
+
self.client = client
|
|
16
|
+
self.response = None
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def list(self, operation: ListNotifications = None) -> NotificationCollection:
|
|
20
|
+
if operation is None:
|
|
21
|
+
operation = ListNotifications()
|
|
22
|
+
|
|
23
|
+
self.response = self.client.get_raw('/notifications', operation.get_parameters())
|
|
24
|
+
parser = ResponseParser(self.response)
|
|
25
|
+
|
|
26
|
+
return NotificationCollection.from_list(
|
|
27
|
+
parser.get_data(),
|
|
28
|
+
Paginator(self.client, parser.get_pagination(), NotificationCollection)
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def get(self, notification_id: str) -> Notification:
|
|
33
|
+
self.response = self.client.get_raw(f"/notifications/{notification_id}")
|
|
34
|
+
parser = ResponseParser(self.response)
|
|
35
|
+
|
|
36
|
+
return Notification.from_dict(parser.get_data())
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def replay(self, notification_id: str) -> str:
|
|
40
|
+
self.response = self.client.post_raw(f"/notifications/{notification_id}")
|
|
41
|
+
parser = ResponseParser(self.response)
|
|
42
|
+
data = parser.get_data()
|
|
43
|
+
|
|
44
|
+
return data.get('notification_id', '')
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
from paddle_billing.EnumStringify import enum_stringify
|
|
2
|
+
from paddle_billing.HasParameters import HasParameters
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Entities.DateTime import DateTime
|
|
5
|
+
from paddle_billing.Entities.Notifications import NotificationStatus
|
|
6
|
+
|
|
7
|
+
from paddle_billing.Exceptions.SdkExceptions.InvalidArgumentException import InvalidArgumentException
|
|
8
|
+
|
|
9
|
+
from paddle_billing.Resources.Shared.Operations import Pager
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ListNotifications(HasParameters):
|
|
13
|
+
def __init__(
|
|
14
|
+
self,
|
|
15
|
+
pager: Pager | None = None,
|
|
16
|
+
notification_setting_ids: list[str] = None,
|
|
17
|
+
search: str | None = None,
|
|
18
|
+
statuses: list[NotificationStatus] = None,
|
|
19
|
+
filter: str | None = None,
|
|
20
|
+
end: DateTime | None = None,
|
|
21
|
+
start: DateTime | None = None,
|
|
22
|
+
):
|
|
23
|
+
self.pager = pager
|
|
24
|
+
self.search = search
|
|
25
|
+
self.filter = filter
|
|
26
|
+
self.end = end # DateTime.from_datetime(end)
|
|
27
|
+
self.start = start # DateTime.from_datetime(start)
|
|
28
|
+
self.notification_setting_ids = notification_setting_ids if notification_setting_ids is not None else []
|
|
29
|
+
self.statuses = statuses if statuses is not None else []
|
|
30
|
+
|
|
31
|
+
# Validation
|
|
32
|
+
for field_name, field_value, field_type in [
|
|
33
|
+
('notification_setting_ids', self.notification_setting_ids, str),
|
|
34
|
+
('statuses', self.statuses, NotificationStatus),
|
|
35
|
+
]:
|
|
36
|
+
invalid_items = [item for item in field_value if not isinstance(item, field_type)]
|
|
37
|
+
if invalid_items:
|
|
38
|
+
raise InvalidArgumentException(field_name, field_type.__name__, invalid_items)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def get_parameters(self) -> dict:
|
|
42
|
+
parameters = {}
|
|
43
|
+
if self.pager:
|
|
44
|
+
parameters.update(self.pager.get_parameters())
|
|
45
|
+
if self.notification_setting_ids:
|
|
46
|
+
parameters['notification_setting_id'] = ','.join(self.notification_setting_ids)
|
|
47
|
+
if self.search:
|
|
48
|
+
parameters['search'] = self.search
|
|
49
|
+
if self.statuses:
|
|
50
|
+
parameters['status'] = ','.join(map(enum_stringify, self.statuses))
|
|
51
|
+
if self.filter:
|
|
52
|
+
parameters['filter'] = self.filter
|
|
53
|
+
if self.end:
|
|
54
|
+
parameters['to'] = self.end.format()
|
|
55
|
+
if self.start:
|
|
56
|
+
parameters['from'] = self.start.format()
|
|
57
|
+
|
|
58
|
+
return parameters
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from paddle_billing.Resources.Notifications.Operations.ListNotifications import ListNotifications
|
|
File without changes
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from dataclasses import asdict, dataclass
|
|
2
|
+
|
|
3
|
+
from paddle_billing.Undefined import Undefined
|
|
4
|
+
from paddle_billing.Entities.Shared import CatalogType, CustomData, Money, PriceQuantity, TaxMode, TimePeriod, UnitPriceOverride
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@dataclass
|
|
8
|
+
class CreatePrice:
|
|
9
|
+
description: str
|
|
10
|
+
product_id: str
|
|
11
|
+
unit_price: Money
|
|
12
|
+
name: str | None | Undefined = Undefined()
|
|
13
|
+
type: CatalogType | None | Undefined = Undefined()
|
|
14
|
+
unit_price_overrides: list[UnitPriceOverride] | Undefined = Undefined()
|
|
15
|
+
tax_mode: TaxMode | Undefined = Undefined()
|
|
16
|
+
trial_period: TimePeriod | None | Undefined = Undefined()
|
|
17
|
+
billing_cycle: TimePeriod | None | Undefined = Undefined()
|
|
18
|
+
quantity: PriceQuantity | Undefined = Undefined()
|
|
19
|
+
custom_data: CustomData | Undefined = Undefined()
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def get_parameters(self) -> dict:
|
|
23
|
+
return asdict(self)
|
|
File without changes
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
from paddle_billing.EnumStringify import enum_stringify
|
|
2
|
+
from paddle_billing.HasParameters import HasParameters
|
|
3
|
+
|
|
4
|
+
from paddle_billing.Entities.Shared import CatalogType, Status
|
|
5
|
+
|
|
6
|
+
from paddle_billing.Exceptions.SdkExceptions.InvalidArgumentException import InvalidArgumentException
|
|
7
|
+
|
|
8
|
+
from paddle_billing.Resources.Shared.Operations import Pager
|
|
9
|
+
from paddle_billing.Resources.Prices.Operations.List.Includes import Includes as PriceIncludes
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ListPrices(HasParameters):
|
|
14
|
+
def __init__(
|
|
15
|
+
self,
|
|
16
|
+
pager: Pager | None = None,
|
|
17
|
+
includes: list[PriceIncludes] = None,
|
|
18
|
+
ids: list[str] = None,
|
|
19
|
+
types: list[CatalogType] = None,
|
|
20
|
+
product_ids: list[str] = None,
|
|
21
|
+
statuses: list[Status] = None,
|
|
22
|
+
recurring: bool | None = None,
|
|
23
|
+
):
|
|
24
|
+
self.pager = pager
|
|
25
|
+
self.recurring = recurring
|
|
26
|
+
self.includes = includes if includes is not None else []
|
|
27
|
+
self.ids = ids if ids is not None else []
|
|
28
|
+
self.types = types if types is not None else []
|
|
29
|
+
self.product_ids = product_ids if product_ids is not None else []
|
|
30
|
+
self.statuses = statuses if statuses is not None else []
|
|
31
|
+
|
|
32
|
+
# Validation
|
|
33
|
+
for field_name, field_value, field_type in [
|
|
34
|
+
('ids', self.ids, str),
|
|
35
|
+
('includes', self.includes, PriceIncludes),
|
|
36
|
+
('product_ids', self.product_ids, str),
|
|
37
|
+
('statuses', self.statuses, Status),
|
|
38
|
+
('types', self.types, CatalogType),
|
|
39
|
+
]:
|
|
40
|
+
invalid_items = [item for item in field_value if not isinstance(item, field_type)]
|
|
41
|
+
if invalid_items:
|
|
42
|
+
raise InvalidArgumentException(field_name, field_type.__name__, invalid_items)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def get_parameters(self) -> dict:
|
|
46
|
+
parameters = {}
|
|
47
|
+
if self.pager:
|
|
48
|
+
parameters.update(self.pager.get_parameters())
|
|
49
|
+
if self.ids:
|
|
50
|
+
parameters['id'] = ','.join(self.ids)
|
|
51
|
+
if self.includes:
|
|
52
|
+
parameters['include'] = ','.join(map(enum_stringify, self.includes))
|
|
53
|
+
if self.product_ids:
|
|
54
|
+
parameters['product_id'] = ','.join(self.product_ids)
|
|
55
|
+
if self.recurring is not None:
|
|
56
|
+
parameters['recurring'] = 'true' if self.recurring else 'false'
|
|
57
|
+
if self.statuses:
|
|
58
|
+
parameters['status'] = ','.join(map(enum_stringify, self.statuses))
|
|
59
|
+
if self.types:
|
|
60
|
+
parameters['type'] = ','.join(map(enum_stringify, self.types))
|
|
61
|
+
|
|
62
|
+
return parameters
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from dataclasses import asdict, dataclass
|
|
2
|
+
|
|
3
|
+
from paddle_billing.Undefined import Undefined
|
|
4
|
+
from paddle_billing.Entities.Shared import CatalogType, CustomData, Money, PriceQuantity, Status, TaxMode, TimePeriod, UnitPriceOverride
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@dataclass
|
|
8
|
+
class UpdatePrice:
|
|
9
|
+
description: str | Undefined = Undefined()
|
|
10
|
+
name: str | None | Undefined = Undefined()
|
|
11
|
+
type: CatalogType | Undefined = Undefined()
|
|
12
|
+
billing_cycle: TimePeriod | None | Undefined = Undefined()
|
|
13
|
+
trial_period: TimePeriod | None | Undefined = Undefined()
|
|
14
|
+
tax_mode: TaxMode | Undefined = Undefined()
|
|
15
|
+
unit_price: Money | Undefined = Undefined()
|
|
16
|
+
unit_price_overrides: list[UnitPriceOverride] | Undefined = Undefined()
|
|
17
|
+
quantity: PriceQuantity | Undefined = Undefined()
|
|
18
|
+
status: Status | Undefined = Undefined()
|
|
19
|
+
custom_data: CustomData | None | Undefined = Undefined()
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def get_parameters(self) -> dict:
|
|
23
|
+
return asdict(self)
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
from paddle_billing.Resources.Prices.Operations.CreatePrice import CreatePrice
|
|
2
|
+
from paddle_billing.Resources.Prices.Operations.ListPrices import ListPrices
|
|
3
|
+
from paddle_billing.Resources.Prices.Operations.List.Includes import Includes as PriceIncludes
|
|
4
|
+
from paddle_billing.Resources.Prices.Operations.UpdatePrice import UpdatePrice
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
from paddle_billing.ResponseParser import ResponseParser
|
|
2
|
+
|
|
3
|
+
from paddle_billing.Entities.Price import Price
|
|
4
|
+
from paddle_billing.Entities.Collections import Paginator, PriceCollection
|
|
5
|
+
from paddle_billing.Entities.Shared import Status
|
|
6
|
+
|
|
7
|
+
from paddle_billing.Exceptions.SdkExceptions.InvalidArgumentException import InvalidArgumentException
|
|
8
|
+
|
|
9
|
+
from paddle_billing.Resources.Prices.Operations import CreatePrice, ListPrices, UpdatePrice, PriceIncludes
|
|
10
|
+
|
|
11
|
+
from typing import TYPE_CHECKING
|
|
12
|
+
if TYPE_CHECKING:
|
|
13
|
+
from paddle_billing.Client import Client
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class PricesClient:
|
|
17
|
+
def __init__(self, client: 'Client'):
|
|
18
|
+
self.client = client
|
|
19
|
+
self.response = None
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def list(self, operation: ListPrices = None) -> PriceCollection:
|
|
23
|
+
if operation is None:
|
|
24
|
+
operation = ListPrices()
|
|
25
|
+
|
|
26
|
+
self.response = self.client.get_raw('/prices', operation.get_parameters())
|
|
27
|
+
parser = ResponseParser(self.response)
|
|
28
|
+
|
|
29
|
+
return PriceCollection.from_list(
|
|
30
|
+
parser.get_data(),
|
|
31
|
+
Paginator(self.client, parser.get_pagination(), PriceCollection)
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def get(self, price_id: str, includes = None) -> Price:
|
|
36
|
+
if includes is None:
|
|
37
|
+
includes = []
|
|
38
|
+
|
|
39
|
+
invalid_items = [item for item in includes if not isinstance(item, PriceIncludes)]
|
|
40
|
+
if invalid_items:
|
|
41
|
+
raise InvalidArgumentException('includes', PriceIncludes.__name__, invalid_items)
|
|
42
|
+
|
|
43
|
+
params = {'include': ','.join(include.value for include in includes)} if includes else {}
|
|
44
|
+
self.response = self.client.get_raw(f"/prices/{price_id}", params)
|
|
45
|
+
parser = ResponseParser(self.response)
|
|
46
|
+
|
|
47
|
+
return Price.from_dict(parser.get_data())
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def create(self, operation: CreatePrice) -> Price:
|
|
51
|
+
self.response = self.client.post_raw('/prices', operation.get_parameters())
|
|
52
|
+
parser = ResponseParser(self.response)
|
|
53
|
+
|
|
54
|
+
return Price.from_dict(parser.get_data())
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def update(self, price_id: str, operation: UpdatePrice) -> Price:
|
|
58
|
+
self.response = self.client.patch_raw(f"/prices/{price_id}", operation.get_parameters())
|
|
59
|
+
parser = ResponseParser(self.response)
|
|
60
|
+
|
|
61
|
+
return Price.from_dict(parser.get_data())
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def archive(self, price_id: str) -> Price:
|
|
65
|
+
return self.update(price_id, UpdatePrice(status=Status.Archived))
|
|
File without changes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from dataclasses import asdict, dataclass
|
|
2
|
+
|
|
3
|
+
from paddle_billing.Undefined import Undefined
|
|
4
|
+
from paddle_billing.Entities.PricingPreviews import PricePreviewItem
|
|
5
|
+
from paddle_billing.Entities.Shared import CurrencyCode, AddressPreview
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclass
|
|
9
|
+
class PreviewPrice:
|
|
10
|
+
items: list[PricePreviewItem]
|
|
11
|
+
customer_id: str | None | Undefined = Undefined()
|
|
12
|
+
address_id: str | None | Undefined = Undefined()
|
|
13
|
+
business_id: str | None | Undefined = Undefined()
|
|
14
|
+
currency_code: CurrencyCode | Undefined = Undefined()
|
|
15
|
+
discount_id: str | None | Undefined = Undefined()
|
|
16
|
+
address: AddressPreview | None | Undefined = Undefined()
|
|
17
|
+
customer_ip_address: str | None | Undefined = Undefined()
|
|
18
|
+
|
|
19
|
+
def get_parameters(self) -> dict:
|
|
20
|
+
return asdict(self)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from paddle_billing.Resources.PricingPreviews.Operations.PreviewPrice import PreviewPrice
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from paddle_billing.ResponseParser import ResponseParser
|
|
2
|
+
from paddle_billing.Entities.PricePreview import PricePreview
|
|
3
|
+
from paddle_billing.Resources.PricingPreviews.Operations import PreviewPrice
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
if TYPE_CHECKING:
|
|
7
|
+
from paddle_billing.Client import Client
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class PricingPreviewsClient:
|
|
11
|
+
def __init__(self, client: 'Client'):
|
|
12
|
+
self.client = client
|
|
13
|
+
self.response = None
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def preview_prices(self, operation: PreviewPrice) -> PricePreview:
|
|
17
|
+
self.response = self.client.post_raw('/pricing-preview', operation.get_parameters())
|
|
18
|
+
parser = ResponseParser(self.response)
|
|
19
|
+
|
|
20
|
+
return PricePreview.from_dict(parser.get_data())
|
|
File without changes
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from dataclasses import asdict, dataclass
|
|
2
|
+
|
|
3
|
+
from paddle_billing.Undefined import Undefined
|
|
4
|
+
from paddle_billing.Entities.Shared import CatalogType, CustomData, TaxCategory
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@dataclass
|
|
8
|
+
class CreateProduct:
|
|
9
|
+
name: str
|
|
10
|
+
tax_category: TaxCategory
|
|
11
|
+
type: CatalogType | None | Undefined = Undefined()
|
|
12
|
+
description: str | None | Undefined = Undefined()
|
|
13
|
+
image_url: str | None | Undefined = Undefined()
|
|
14
|
+
custom_data: CustomData | None | Undefined = Undefined()
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def get_parameters(self) -> dict:
|
|
18
|
+
return asdict(self)
|
|
File without changes
|