浏览代码

Add `originalTransaction` to result in `PurchaseDetails`

Andrea Bizzotto 7 年之前
父节点
当前提交
72740f6706
共有 2 个文件被更改,包括 4 次插入3 次删除
  1. 1 2
      SwiftyStoreKit/PaymentsController.swift
  2. 3 1
      SwiftyStoreKit/SwiftyStoreKit+Types.swift

+ 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
 }