瀏覽代碼

Merge pull request #323 from bizz84/purchase-add-original-transaction

Add `originalTransaction` to result in `PurchaseDetails`
Andrea Bizzotto 7 年之前
父節點
當前提交
53cc422555
共有 3 個文件被更改,包括 5 次插入3 次删除
  1. 1 0
      CHANGELOG.md
  2. 1 2
      SwiftyStoreKit/PaymentsController.swift
  3. 3 1
      SwiftyStoreKit/SwiftyStoreKit+Types.swift

+ 1 - 0
CHANGELOG.md

@@ -4,6 +4,7 @@ All notable changes to this project will be documented in this file.
 
 ## [0.11.3](https://github.com/bizz84/SwiftyStoreKit/releases/tag/0.11.3) `completeTransactions` should finish failed transactions if `atomically: false`
 
+* Add `originalTransaction` to `PurchaseDetails` ([#323](https://github.com/bizz84/SwiftyStoreKit/pull/323), fix for [#302](https://github.com/bizz84/SwiftyStoreKit/issues/302))
 * `completeTransactions` should finish failed transactions if `atomically: false` ([#322](https://github.com/bizz84/SwiftyStoreKit/pull/322), related issues: [#307](https://github.com/bizz84/SwiftyStoreKit/issues/307), [#288](https://github.com/bizz84/SwiftyStoreKit/issues/288))
 
 ## [0.11.2](https://github.com/bizz84/SwiftyStoreKit/releases/tag/0.11.2) Remove `SKProduct.localizedIntroductoryPrice`

+ 1 - 2
SwiftyStoreKit/PaymentsController.swift

@@ -72,8 +72,7 @@ class PaymentsController: TransactionController {
         let transactionState = transaction.transactionState
 
         if transactionState == .purchased {
-            
-            let purchase = PurchaseDetails(productId: transactionProductIdentifier, quantity: transaction.payment.quantity, product: payment.product, transaction: transaction, needsFinishTransaction: !payment.atomically)
+            let purchase = PurchaseDetails(productId: transactionProductIdentifier, quantity: transaction.payment.quantity, product: payment.product, transaction: transaction, originalTransaction: transaction.original, needsFinishTransaction: !payment.atomically)
             
             payment.callback(.purchased(purchase: purchase))
 

+ 3 - 1
SwiftyStoreKit/SwiftyStoreKit+Types.swift

@@ -26,7 +26,7 @@ import StoreKit
 
 // MARK: Purchases
 
-// Purchased or restored product
+// Restored product
 public struct Purchase {
     public let productId: String
     public let quantity: Int
@@ -35,11 +35,13 @@ public struct Purchase {
     public let needsFinishTransaction: Bool
 }
 
+// Purchased product
 public struct PurchaseDetails {
     public let productId: String
     public let quantity: Int
     public let product: SKProduct
     public let transaction: PaymentTransaction
+    public let originalTransaction: PaymentTransaction?
     public let needsFinishTransaction: Bool
 }