Долгое время у меня была проблема. Наступает первое число месяца и интернет дома пропадет. Первого числа провайдер снимает деньги и если в этот момент на счете их недостаточно, то интернет исчезает.
Чуть больше года у меня есть решение этой проблемы, и это решение для меня прекрасно работает.
Мое решение — оплачивать интернет на несколько месяцев вперед, плюс я написал маленький скрипт с помощью которого стало очень просто проверить «а не пришло ли время оплачивать интернет?»
Сейчас у меня интернет оплачен на 3 месяца вперед. Даже если я совершенно забуду про оплату, то 3 месяца он будет работать. А для того чтобы не забыть, у меня есть специальный программа.
Я много работаю с языком программирования Perl и мне его удобно использовать. Я написал и выложил в open source Perl библиотеку Akado::Account, которая показывает сколько денег осталось на счете у провайдера Акадо и сколько спишут за следующий месяц (к сожалению, у Акадо нет API, библиотеке приходится прикидываться браузером).
# Создаем объект.
# При создании объект логинится в личный кабинет с помощью указанных
# данных и забирает нужные числа.
my $aa = Akado::Account->new({
login => 'ваш логин от личного кабинета https://office.akado.ru',
password => 'ваш пароль',
});
# получили число-сколько рублей есть на счете
my $balance = $aa->get_balance();
# получили число-сколько нужно будет заплатить за следующий месяц
my $payment = $aa->get_next_month_payment();
Я использовал эту библиотеку для того чтобы написать Perl тест который проверяет что интернет у меня оплачен на 3 месяца вперед. В экосистеме Perl очень много внимания уделяется тестам и есть очень простые инструменты для их написания, поэтому Perl тесты писать легко и приятно.
Получилась вот такая штука. Я могу запустить этот тест и если интернет оплачен на 3 месяца вперед то я увижу что все хорошо:
А если интернет оплачен меньше чем на 3 месяца, то я увижу ошибку:
В сообщении об ошибке есть вся нужная инфа. Есть данные о том сколько сейчас на счете, сколько стоит месяц интернета и сколько нужно заплатить для того чтобы интернет был оплачен на 3 месяца вперед. Так же показывается номер счета, так что для оплаты нужно просто открыть сайт Яндекс.Денег в браузере, скопипастить номер счета и сумму для оплаты.
Недавно в разных сервисах стали появляться новые инструменты, которые позволяют решить проблему "Забыл оплатить вовремя".
Появилась возможность ежемесячно переводить одну и ту же сумму на счет провайдера — я не пользуюсь этой возможностью по нескольким причинам: 1. провайдеры иногда меняют тарифы. Перед тем как платить, я обычно проверю, а не появился ли новый более дешевый тариф и если появился, то перехожу на него. 2. автооплаты добавляет дополнительную сложность — нужно сделать чтобы на счете были деньги, если денег на счете нет, то все полетит в тартараты.
Еще для решения этой же проблемы есть уведомления — приходит sms или email с напоминанием что нужно оплатить интернет, но эта вещь для меня не работала — обычно это сообщение приходит в самое неудобное время — я читаю это сообщение, но прямо сейчас платить не могу — сообщение только отвлекает, а не приносит какую-то пользу.
Система, которая реализована у меня, работает замечательно — иногда я вспоминаю что неплохо бы проверить как там дела и запускаю тесты — тесты показывают что все хорошо, или что есть ошибки. Если есть ошибки, то я их исправляю. Тест на проверку оплаты интернета — это всего лишь часть моей системы. У меня еще есть проверки что все мои домены оплачены больше чем на 2 месяца, что мои сайты работают и еще некоторое количество проверок.
Мне нравится назвать эту систему — FDD — Fail Driven Development — сделать так чтобы проблемы не были критичными, и в удобное время чинить все некритичные поломки, если что-то сломалось.
После того как я написал этот пост, в фейсбуке была небольшая дискуссия о целесообразности всего того что я тут отписал. Разговор проходил в этих двух постах:
Спасибо всем участникам этих дискуссий.
Из этих дискуссий я вытащил следующие тезисы:
А еще из этих тредов я вытащил интересный пример когда автоплатежи не работают:
2 января 2014