Во-первых, убедитесь, что вы завершаете транзакции в случае успеха / неудачи:
В нашем случае старый код не вызывал SKPaymentQueue.default().finishTransaction(transaction)
, чтобы удалить его из очереди. До iOS 13.4 это, очевидно, работало нормально, хотя в документации сказано, что это необходимо
Так что произойдет, если диалоговое окно будет показано один раз, и человек отменится, а затем с этого момента транзакция сохранится в очереди и автоматически возвращаются как отмененные, не показывая диалоговое окно снова. Завершение транзакции удаляет ее и позволяет снова отобразить диалоговое окно
Если это не сработает:
По запросу инженера Apple, я подал радар для этого (FB7648374) с Регистрация в App Store и sysdiagnose
Пожалуйста, сделайте то же самое: