В App Purchase - при попытке снова купить потребительский продукт - эта покупка в приложении уже куплена

У меня есть доступный продукт в моем iTunes connect, и когда я пытаюсь его купить дважды (на моем iPhone), он говорит мне, что я его уже купил. Но в этом весь смысл расходных материалов, что пользователи могут покупать их снова и снова. Любые предложения?

Ответ 1

Это происходит, если вы не отметили транзакцию для первоначальной покупки как завершенную, которую вы должны сделать в своем методе - (void)paymentQueue:(SKPaymentQueue*)queue updatedTransactions:(NSArray*)transactions после того, как вы успешно обработали покупку.

Метод, который вам нужно вызвать, - [[SKPaymentQueue defaultQueue] finishTransaction:transaction].

Ответ 2

public func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
    for transaction in transactions {
        switch (transaction.transactionState) {
        case .purchased:
            complete(transaction: transaction)
            break
        case .failed:
            fail(transaction: transaction)
            break
        case .restored:
            restore(transaction: transaction)
            break
        case .deferred:
            break
        case .purchasing:
            break
        }
    }
}