mirror of
https://github.com/RevenueCat/purchases-ios
synced 2026-11-11 22:55:55 +05:45
A large amount of flaky integration tests are due to this bug, so detecting it early in the logs will help debug this. Radar: `FB11767559`. `productType` is missing in `StoreKitTest` purchases, so I changed `isSubscription` to default to checking if there is an expiration when the type is `.unknown`. To simplify the code, I changed `ProductType?` to be non-optional, since we already have `.unknown` as a case. ### Example: ``` [00:27:56]: ▸ 2022-11-09 00:27:56.000533+0000 BackendIntegrationTestsHostApp[3942:17000] [Purchases] - DEBUG: ℹ️ PostReceiptDataOperation: Posting receipt: { [00:27:56]: ▸ "opaque_value" : "1n+XXw8AAAA=", [00:27:56]: ▸ "sha1_hash" : "unR7vAzPaUlB0TtZ09z5jMyqqAs=", [00:27:56]: ▸ "bundle_id" : "com.revenuecat.StoreKitTestApp", [00:27:56]: ▸ "in_app_purchases" : [ [00:27:56]: ▸ { [00:27:56]: ▸ "quantity" : 1, [00:27:56]: ▸ "product_id" : "com.revenuecat.weekly_1.99.3_day_intro", [00:27:56]: ▸ "purchase_date" : "2022-11-09T00:27:50Z", [00:27:56]: ▸ "transaction_id" : "0", [00:27:56]: ▸ "is_in_intro_offer_period" : true, [00:27:56]: ▸ "expires_date" : "2022-11-09T00:27:50Z" [00:27:56]: ▸ }, [00:27:56]: ▸ { [00:27:56]: ▸ "product_id" : "com.revenuecat.weekly_1.99.3_day_intro", [00:27:56]: ▸ "quantity" : 1, [00:27:56]: ▸ "transaction_id" : "1", [00:27:56]: ▸ "is_in_intro_offer_period" : false, [00:27:56]: ▸ "expires_date" : "2022-11-09T00:28:00Z", [00:27:56]: ▸ "original_purchase_date" : "2022-11-09T00:27:50Z", [00:27:56]: ▸ "original_transaction_id" : "0", [00:27:56]: ▸ "purchase_date" : "2022-11-09T00:27:50Z" [00:27:56]: ▸ } [00:27:56]: ▸ ], [00:27:56]: ▸ "application_version" : "1", [00:27:56]: ▸ "creation_date" : "2022-11-09T00:27:55Z", [00:27:56]: ▸ "expiration_date" : "4001-01-01T00:00:00Z" [00:27:56]: ▸ } [00:27:56]: ▸ 2022-11-09 00:27:56.000710+0000 BackendIntegrationTestsHostApp[3942:17000] [Purchases] - ERROR: 🍎‼️ Receipt for product 'com.revenuecat.weekly_1.99.3_day_intro' has the same purchase (2022-11-09 00:27:50 +0000) and expiration (2022-11-09 00:27:50 +0000) dates. This is likely a StoreKit bug. ```