Подписка на iOS в приложении не возвращает чек в процессе производства

Так что это сводит меня с ума уже несколько дней. Мы реализовали подписку на покупки приложений в приложении для iOS, мы проверяем на нашем сервере, поэтому мы в основном делаем покупку, а затем отправляем квитанцию ​​на наш сервер для проверки, и она сохраняется там в нашей базе данных. Происходит то, что при тестировании в песочнице все работает отлично, мы получаем квитанцию, проверяем на бэкэнде и сохраняем / обновляем возвращаемые данные, но когда мы опубликовали приложение в магазине приложений Мы столкнулись с серьезной проблемой, состоящей в том, что платеж проходит, и Apple взимает плату с пользователя, но не получает квитанцию.

Я пытаюсь получить квитанцию ​​со следующим:

     func loadReceipt() -> Data? {

    guard let url = Bundle.main.appStoreReceiptURL else {
        return nil
    }

    do {
        let data = try Data(contentsOf: url)
        return data
    } catch {
        print("Error loading receipt data: \(error.localizedDescription)")
        return nil
    }
}

func uploadReceipt(productId: String, completion: @escaping ErrorCompletion) {
    if let receiptData = loadReceipt() {
        let receipt = Receipt()
        receipt.createdBy = User.current()
        receipt.receipt = receiptData.base64EncodedString(options: [])

        print(receipt.receipt)

        validateReceipt(receipt: receipt.receipt!, productId: productId, completion: completion)
    }
}

Я даже пытался использовать SKReceiptRefreshRequest() если квитанция равна нулю и все еще не повезло.

У кого-нибудь есть ЛЮБОЕ представление о том, что происходит?

Заранее спасибо!

0 ответов

Другие вопросы по тегам