Skip to content

Commit caa5f0c

Browse files
NickSxticlaude
andcommitted
refactor: use QPurchaseResult instead of QDeferredTransaction for deferred purchases
The Sandwich bridge emits a PurchaseResult map (not a flat DeferredTransaction). Reuse the existing QPurchaseResult model for the deferredPurchaseStream, matching the native SDK interface. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent dd8d91c commit caa5f0c

4 files changed

Lines changed: 4 additions & 46 deletions

File tree

lib/qonversion_flutter.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
export 'src/dto/attribution_provider.dart';
2-
export 'src/dto/deferred_transaction.dart';
32
export 'src/dto/eligibility.dart';
43
export 'src/dto/entitlement.dart';
54
export 'src/dto/entitlement_grant_type.dart';

lib/src/dto/deferred_transaction.dart

Lines changed: 0 additions & 41 deletions
This file was deleted.

lib/src/internal/qonversion_internal.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,13 @@ class QonversionInternal implements Qonversion {
5959
});
6060

6161
@override
62-
Stream<QDeferredTransaction> get deferredPurchaseStream =>
62+
Stream<QPurchaseResult> get deferredPurchaseStream =>
6363
_deferredPurchaseEventChannel
6464
.receiveBroadcastStream()
6565
.cast<String>()
6666
.map((event) {
6767
final Map<String, dynamic> decodedEvent = jsonDecode(event);
68-
return QDeferredTransaction.fromJson(decodedEvent);
68+
return QPurchaseResult.fromJson(decodedEvent);
6969
});
7070

7171
@override

lib/src/qonversion.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ abstract class Qonversion {
4141

4242
/// Yields an event each time a deferred purchase completes.
4343
/// For example, when pending purchases like SCA, Ask to Buy, etc., are approved.
44-
/// Provides full transaction details, including for consumable products without entitlements.
45-
Stream<QDeferredTransaction> get deferredPurchaseStream;
44+
/// Provides the full purchase result with entitlements and store transaction details.
45+
Stream<QPurchaseResult> get deferredPurchaseStream;
4646

4747
/// Yields an event each time a promo transaction happens on iOS.
4848
/// Returns App Store product ID

0 commit comments

Comments
 (0)