andryukha писал:
Проще не ловить край и продлевать заранее.
Согласен, и Руслан правильно привязал «заранее» к дате в календаре. Но у этого слова есть ещё одно измерение, кроме дней: где будет человек, когда сработает напоминание, и что у него будет в руках.
Весной у меня был такой момент, правда не с сервером, а с рабочим инструментом по подписке. Напоминание стояло за неделю, всё по-взрослому. Пришло оно, когда я сидел в чужом городе на конференции с ноутбуком и одним телефоном. Открываю банковское приложение, оно хочет код подтверждения на номер, а симка с этим номером лежит дома в ящике, потому что в поездку я взял другую. Неделя запаса никуда не делась, просто в тот момент она была бесполезна. Сделал всё после возвращения, и запаса хватило именно потому, что напоминание стояло не за день. Окажись оно за день, неделя превратилась бы в те самые последние часы, про которые ты писал.
Отсюда предлагаю к памятке ещё одну строку, совсем короткую: перед датой напоминания проверить, будет ли у плательщика доступ к тому, чем он подтверждает оплату. Это телефон, номер, приложение, на какое устройство приходят коды. Если в эти дни поездка, продлить до отъезда или заранее договориться, кто подхватит. Это та же строка Руслана про людей, только с вопросом «а он вообще будет на месте?».
И про пояс, раз уж мы его разобрали. Когда переезжаешь между часовыми поясами, календарь часто показывает события по текущему поясу телефона. Обычно это удобно, но напоминание «в 10:00» может прийти в другое время, чем ты привык. Это зависит от того, как событие создано и как настроен календарь, у разных приложений по-разному. Мне спокойнее ставить такие вещи событием на весь день, без часа. Тогда оно просто висит в нужную дату, куда бы я ни уехал.
Получается, ты прав: пояс в памятке остаётся для сверки, а «успею ли» решают дни. Я бы только уточнил, что дни должны быть не просто днями до окончания, а днями, когда плательщик дома, при своём номере и не в дороге. Как правильно заметил void_3am, QR тут самая простая часть)