1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![allow(
4 clippy::missing_errors_doc,
5 clippy::module_name_repetitions,
6 clippy::must_use_candidate
7)]
8
9#[cfg(feature = "async")]
10#[cfg_attr(docsrs, doc(cfg(feature = "async")))]
11pub mod async_api;
12
13pub mod advanced_commerce;
15pub mod app_store;
17pub mod app_transaction;
19pub mod error;
21pub mod external_purchase;
23mod ffi;
24pub mod message;
26mod private;
27pub mod product;
29mod product_helpers;
30pub mod purchase_intent;
32pub mod purchase_option;
34pub mod receipt_validator;
36pub mod refund;
38pub mod renewal_info;
40pub mod renewal_state;
42pub mod store_context;
44pub mod storefront;
46pub mod subscription;
48pub mod subscription_info;
50mod subscription_status_stream;
51pub mod transaction;
53pub mod verification_result;
55pub mod window;
57
58pub use advanced_commerce::{
59 AdvancedCommerceProduct, AdvancedCommercePurchaseOption, AppStoreMerchandisingKind,
60 AppStoreMerchandisingPresentationResult, RenewalInfoAdvancedCommerceInfo,
61 RenewalInfoAdvancedCommerceItem, RenewalInfoAdvancedCommercePriceIncreaseInfo,
62 RenewalInfoAdvancedCommercePriceIncreaseStatus, TransactionAdvancedCommerceInfo,
63 TransactionAdvancedCommerceItem, TransactionAdvancedCommerceItemDetails,
64 TransactionAdvancedCommerceOffer, TransactionAdvancedCommerceOfferReason,
65 TransactionAdvancedCommerceRefund, TransactionAdvancedCommerceRefundReason,
66 TransactionAdvancedCommerceRefundType,
67};
68pub use app_store::{AppStore, AppStoreEnvironment, AppStorePlatform};
69pub use app_transaction::AppTransaction;
70pub use error::{
71 InvalidRequestError, ProductPurchaseError, ProductPurchaseErrorCode, RefundRequestError,
72 RefundRequestErrorCode, StoreKitApiError, StoreKitApiErrorCode, StoreKitError,
73 StoreKitFrameworkError, TypedStoreKitError, VerificationErrorCode, VerificationFailure,
74};
75pub use external_purchase::{
76 ExternalPurchase, ExternalPurchaseCustomLink, ExternalPurchaseCustomLinkNoticeResult,
77 ExternalPurchaseCustomLinkNoticeType, ExternalPurchaseCustomLinkToken, ExternalPurchaseLink,
78 ExternalPurchaseNoticeResult,
79};
80pub use message::{Message, MessageReason, MessageStream};
81pub use product::{Product, ProductType};
82pub use product_helpers::ProductFormatting;
83pub use purchase_intent::{PurchaseIntent, PurchaseIntentStream};
84pub use purchase_option::{PurchaseOption, PurchaseResult};
85pub use receipt_validator::{AppReceipt, ReceiptValidator};
86pub use refund::{Refund, RefundRequestStatus};
87pub use renewal_info::{ExpirationReason, PriceIncreaseStatus, RenewalInfo};
88pub use renewal_state::RenewalState;
89pub use store_context::StoreContext;
90pub use storefront::{Storefront, StorefrontStream};
91pub use subscription::{
92 SubscriptionOffer, SubscriptionOfferType, SubscriptionPaymentMode, SubscriptionPeriod,
93 SubscriptionPeriodUnit,
94};
95pub use subscription_info::{SubscriptionInfo, SubscriptionStatus};
96pub use subscription_status_stream::{
97 SubscriptionGroupStatusStream, SubscriptionGroupStatuses, SubscriptionStatusStream,
98};
99pub use transaction::{
100 OfferPaymentMode, OfferType, OwnershipType, RevocationReason, Transaction, TransactionData,
101 TransactionOffer, TransactionReason, TransactionStream,
102};
103pub use verification_result::{VerificationMetadata, VerificationResult};
104pub use window::NSWindowHandle;
105
106pub mod prelude {
108 pub use crate::advanced_commerce::{
109 AdvancedCommerceProduct, AdvancedCommercePurchaseOption, AppStoreMerchandisingKind,
110 AppStoreMerchandisingPresentationResult, RenewalInfoAdvancedCommerceInfo,
111 RenewalInfoAdvancedCommerceItem, RenewalInfoAdvancedCommercePriceIncreaseInfo,
112 RenewalInfoAdvancedCommercePriceIncreaseStatus, TransactionAdvancedCommerceInfo,
113 TransactionAdvancedCommerceItem, TransactionAdvancedCommerceItemDetails,
114 TransactionAdvancedCommerceOffer, TransactionAdvancedCommerceOfferReason,
115 TransactionAdvancedCommerceRefund, TransactionAdvancedCommerceRefundReason,
116 TransactionAdvancedCommerceRefundType,
117 };
118 pub use crate::app_store::{AppStore, AppStoreEnvironment, AppStorePlatform};
119 pub use crate::app_transaction::AppTransaction;
120 pub use crate::error::{
121 InvalidRequestError, ProductPurchaseError, ProductPurchaseErrorCode, RefundRequestError,
122 RefundRequestErrorCode, StoreKitApiError, StoreKitApiErrorCode, StoreKitError,
123 StoreKitFrameworkError, TypedStoreKitError, VerificationErrorCode, VerificationFailure,
124 };
125 pub use crate::external_purchase::{
126 ExternalPurchase, ExternalPurchaseCustomLink, ExternalPurchaseCustomLinkNoticeResult,
127 ExternalPurchaseCustomLinkNoticeType, ExternalPurchaseCustomLinkToken,
128 ExternalPurchaseLink, ExternalPurchaseNoticeResult,
129 };
130 pub use crate::message::{Message, MessageReason, MessageStream};
131 pub use crate::product::{Product, ProductType};
132 pub use crate::product_helpers::ProductFormatting;
133 pub use crate::purchase_intent::{PurchaseIntent, PurchaseIntentStream};
134 pub use crate::purchase_option::{PurchaseOption, PurchaseResult};
135 pub use crate::receipt_validator::{AppReceipt, ReceiptValidator};
136 pub use crate::refund::{Refund, RefundRequestStatus};
137 pub use crate::renewal_info::{ExpirationReason, PriceIncreaseStatus, RenewalInfo};
138 pub use crate::renewal_state::RenewalState;
139 pub use crate::store_context::StoreContext;
140 pub use crate::storefront::{Storefront, StorefrontStream};
141 pub use crate::subscription::{
142 SubscriptionOffer, SubscriptionOfferType, SubscriptionPaymentMode, SubscriptionPeriod,
143 SubscriptionPeriodUnit,
144 };
145 pub use crate::subscription_info::{SubscriptionInfo, SubscriptionStatus};
146 pub use crate::subscription_status_stream::{
147 SubscriptionGroupStatusStream, SubscriptionGroupStatuses, SubscriptionStatusStream,
148 };
149 pub use crate::transaction::{
150 OfferPaymentMode, OfferType, OwnershipType, RevocationReason, Transaction, TransactionData,
151 TransactionOffer, TransactionReason, TransactionStream,
152 };
153 pub use crate::verification_result::{VerificationMetadata, VerificationResult};
154 pub use crate::window::NSWindowHandle;
155}