 			return
 		}
 		
+		restoredTransaction += 1
 		finishTrasactionFor(productIdentifier)
 		SKPaymentQueue.default().finishTransaction(transaction)
 	}

	
	private var productsRequestHandler: ((success: Bool, products: [SKProduct]?) -> ())?
	private var buyCompletionHandler: [String: (success: Bool, error: NSError?) -> ()] = [:]
	
	override private init() {
		fatalError("Use the public init method.")

		}
	}
	
	public func paymentQueueRestoreCompletedTransactionsFinished(_ queue: SKPaymentQueue) {
		restoreProcessHandler?(success: true, restored: restoredTransaction, error: nil)
		restoreProcessHandler = nil
	}
	
	public func paymentQueue(_ queue: SKPaymentQueue, restoreCompletedTransactionsFailedWithError error: NSError) {
		restoreProcessHandler?(success: false, restored: nil, error: error)
		restoreProcessHandler = nil
	}
	
	private func complete(_ transaction: SKPaymentTransaction) {
		finishTrasactionFor(transaction.payment.productIdentifier)
		SKPaymentQueue.default().finishTransaction(transaction)
