В настоящее время я тестирую сценарий, в котором пользователь подписывается на ежемесячный продукт, а затем отменяет его. подписку на странице подписок App Store, и до истечения срока действия подписки он хочет повторно включить ее (тот же ежемесячный продукт). Если подписка повторно включается на странице подписок в App Store, мой сервер получает уведомление об изменении статуса продления подписки, и все работает хорошо. Этот сценарий описан внизу страницы здесь: https://developer.apple.com/documentati ... ew#3780478
Однако я также хочу поддержать сценарий, в котором пользователь может повторно включить подписку до истечения ее срока действия из самого приложения. Для этого, если подписка отменена, но срок ее действия еще не истек, я показываю пользователю кнопку Повторно активировать. При нажатии этой кнопки я инициирую покупку того же ежемесячного продукта, IAP правильно отображает лист оплаты, и как только я нажимаю «Подписаться» на листе оплаты «Покупка в приложении», все происходит без каких-либо проблем. . Однако впоследствии мое приложение получает обратный вызов о том, что покупка не удалась:
Код: Выделить всё
: Payment completed with error: Error Domain=ASDErrorDomain Code=500 "Unhandled exception" UserInfo={NSUnderlyingError=0x2803a4720 {Error Domain=AMSErrorDomain Code=301 "Invalid Status Code" UserInfo={NSLocalizedDescription=Invalid Status Code, AMSURL=https://sandbox.itunes.apple.com/WebObjects/MZBuy.woa/wa/inAppBuy?REDACTED, AMSStatusCode=500, NSLocalizedFailureReason=The response has an invalid status code}}, NSLocalizedFailureReason=An unknown error occurred, NSLocalizedDescription=Unhandled exception}
Мой вопрос: в чем может быть причина этого? Возможно, Apple не поддерживает повторное включение подписки непосредственно из приложения, а только со страницы подписки в App Store? Или, возможно, это просто ограничение тестовой среды Apple, и я не получу эту ошибку платежа в производственной среде?
Подробнее здесь: https://stackoverflow.com/questions/785 ... xpiry-date