Мы реализуем предложения подписки в нашем приложении, и все идет довольно хорошо.Однако, если у пользователя есть активная подписка при погашении предложения, мы получаем неудачную транзакцию из очереди платежей, несмотря на то, что всплывающее окно системы сообщает: «Все готово».
Я не знаю, документировано ли это где-либо, но я предполагаю, что неудачная транзакция в этом случае указывает на то, что с пользователя не было списано.И все же, это источник путаницы: откуда мы знаем, успешно ли пользователь воспользовался предложением или нет?
Более того, свойство error для неудачной транзакции, которое ожидаемое использоваться для "определения того, что произошло" на самом деле ноль .Я хотел бы рассматривать отсутствие ошибки как косвенное свидетельство того, что транзакция действительно была успешной, и все же я не видел никакой документации, подтверждающей эту гипотезу.
Я понимаю, что предложения по подписке были введены оченьнедавно, но, может быть, мы что-то здесь упускаем?
ОБНОВЛЕНИЕ: похоже, что transaction.error
и transaction.payment.paymentDiscount
nil на Mac, но присутствуют на iPad (для того же тестаучетной записи) для существующих подписчиков, хотя в последнем случае сообщение об ошибке по-прежнему расплывчато:
Error Domain = SKErrorDomain Code = 0 "Невозможно подключиться к iTunes Store" UserInfo = {NSLocalizedDescription = Не удается подключиться к iTunes Store}