From 1e60cbf18c7911fba100ae3f2648a9eaab3e018a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Mare=C4=8Dek?= Date: Tue, 6 Jun 2023 10:46:58 +0200 Subject: [PATCH 1/3] OriginalTransactionIdentifier for restored transaction --- src/Plugin.InAppBilling/InAppBilling.apple.cs | 1 + .../Shared/InAppBillingPurchase.shared.cs | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/Plugin.InAppBilling/InAppBilling.apple.cs b/src/Plugin.InAppBilling/InAppBilling.apple.cs index c50c773..5afebde 100644 --- a/src/Plugin.InAppBilling/InAppBilling.apple.cs +++ b/src/Plugin.InAppBilling/InAppBilling.apple.cs @@ -327,6 +327,7 @@ public async override Task PurchaseAsync(string productId, { TransactionDateUtc = reference.AddSeconds(p.TransactionDate.SecondsSinceReferenceDate), Id = p.TransactionIdentifier, + OriginalTransactionIdentifier = p.OriginalTransaction?.TransactionIdentifier, TransactionIdentifier = p.TransactionIdentifier, ProductId = p.Payment?.ProductIdentifier ?? string.Empty, ProductIds = new string[] { p.Payment?.ProductIdentifier ?? string.Empty }, diff --git a/src/Plugin.InAppBilling/Shared/InAppBillingPurchase.shared.cs b/src/Plugin.InAppBilling/Shared/InAppBillingPurchase.shared.cs index e90b6f4..1443437 100644 --- a/src/Plugin.InAppBilling/Shared/InAppBillingPurchase.shared.cs +++ b/src/Plugin.InAppBilling/Shared/InAppBillingPurchase.shared.cs @@ -36,6 +36,11 @@ public InAppBillingPurchase() /// public string TransactionIdentifier { get; set; } + /// + /// OriginalTransactionIdentifier - This is the Id/Token of restored transaction from the AppStore + /// + public string? OriginalTransactionIdentifier { get; set; } + /// /// Transaction date in UTC /// From a828f57dc836e70d0c095583e696f166973a266a Mon Sep 17 00:00:00 2001 From: James Montemagno Date: Tue, 6 Jun 2023 10:08:41 -0700 Subject: [PATCH 2/3] Apply suggestions from code review --- src/Plugin.InAppBilling/Shared/InAppBillingPurchase.shared.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Plugin.InAppBilling/Shared/InAppBillingPurchase.shared.cs b/src/Plugin.InAppBilling/Shared/InAppBillingPurchase.shared.cs index 1443437..0a4b2ad 100644 --- a/src/Plugin.InAppBilling/Shared/InAppBillingPurchase.shared.cs +++ b/src/Plugin.InAppBilling/Shared/InAppBillingPurchase.shared.cs @@ -39,7 +39,7 @@ public InAppBillingPurchase() /// /// OriginalTransactionIdentifier - This is the Id/Token of restored transaction from the AppStore /// - public string? OriginalTransactionIdentifier { get; set; } + public string OriginalTransactionIdentifier { get; set; } /// /// Transaction date in UTC From 0661ec0b3d12bf650652c3a7a5209558927d006f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Mare=C4=8Dek?= Date: Wed, 7 Jun 2023 04:03:12 +0200 Subject: [PATCH 3/3] Missing mapping --- src/Plugin.InAppBilling/InAppBilling.apple.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Plugin.InAppBilling/InAppBilling.apple.cs b/src/Plugin.InAppBilling/InAppBilling.apple.cs index 5afebde..213c55d 100644 --- a/src/Plugin.InAppBilling/InAppBilling.apple.cs +++ b/src/Plugin.InAppBilling/InAppBilling.apple.cs @@ -782,6 +782,7 @@ public static InAppBillingPurchase ToIABPurchase(this SKPaymentTransaction trans { TransactionDateUtc = NSDateToDateTimeUtc(transaction.TransactionDate), Id = p.TransactionIdentifier, + OriginalTransactionIdentifier = p.OriginalTransaction?.TransactionIdentifier, TransactionIdentifier = p.TransactionIdentifier, ProductId = p.Payment?.ProductIdentifier ?? string.Empty, ProductIds = new string[] { p.Payment?.ProductIdentifier ?? string.Empty },