Как пишутся системы оплаты для сайта

Требуется написать систему оплаты для интернет-магазина (без посредников для каждого способа оплаты, т.е без робокассы, интеркассы и подобных сервисов). Из вариантов оплаты планируется visa, mastercard, yandex.money и webmoney. В качестве backend используется django (но это не так важно).

Как устроена оплата я представляю.
1. Пользователь выбирает способ оплаты, в зависимости от выбранного способа генерируется форма с нужными полями, в которую передаются данные.
>2. Отправка формы и переадресация на сайт, соответствующий способу оплаты.
3. Оплата, возвращение обратно на сайт интернет-магазина вместе с данными о платеже, последующая их обработка.

Если с yandex.money и webmoney все понятно, и их api и способ реализации я нашел быстро, то с visa и mastercard (или сбербанк и альфабанк) возникли сложности.

Как осуществляется написание платежной системы касательно visa и mastercard или для конкретного банка? что делается в данном случае? (Допустим требуется работа со сбербанком и альфабанком).

UPD: Касательно банков я понял что нужно искать услугу эквайринг, но все равно не ясно что делать в данном случае.

Из личного опыта:
a. Приезжаете в офис банка у которого есть услуга «интернет эквайринг», показываете своё юрлицо, уставные документы, бенефициаров, обороты от 50 млн в месяц.
* некоторые работают и с меньшими оборотами, но % будет крайне не выгодным.
** без запущенного и работающего проекта идти в банк бессмысленно.
b. Ждете 2-6 недель пока СБ банка проверит все.
c. Ждете 2-4 недели пока банк подпишет договор
d. Получаете реквизиты и документацию API конкретного банка.
e. Реализуете
f. Ждете 1-2 недели пока банк проверит что у Вас все согласно их протоколу.
g. Получаете боевые реквизиты.

Учтите что:
1. Если Ваши объемы меньше чем 50млн+ в месяц — с вероятностью 99% Вам будет СИЛЬНО выгоднее работать через посредника. Посмотрите на uniteller.ru , payture.com/ru , payler.com — если Вы будете достаточно убедительны на переговорах, вполне реально сторговать их до 2-2.5% даже на маленьких оборотах (1млн-5млн)

2. Прямые API банков мягко говоря не современны. Как правило там не будет ни удобного личного кабинета, ни вменяемой службы поддержки — ничего. Зато будут проверки, требования бумажной отчетности и прочие милые сердцу советского бюрократа вещи.

3. Риски при работе через посредника — по факту минимальны. Все приведенные выше делают выплаты ежесуточно, т.е даже если посредник накроется — Вы максимум рискуете дневным оборотом.

С учетом данных пунктов, по моему мнению прямой договор с банком имеет смысл если у Вас настолько большие обороты — что разница в десятые доли процента окупает весь этот геморрой.
По факту есть море проектов с большими оборотами (mamba, badoo, etc) кто продолжает работать через агрегатор, минимизируя расходы на юристов, бухгалтеров, техническую поддержку работы шлюза итд итп.

1. Тебе нужно юридически договориться (заключить договор, получить аккаунт) в каждой из интересующих тебя систем.

2. После чего (а может быть и заранее) ты получишь описание их API, примеры, и ключи доступа.

3. После чего технически все легко, если ты программист настоящий, а не вышел погулять просто.

4. С вебманями и т.п. — это легко. И даже договор можно заключать не в письменной форме, а онлайн.

5. С Visa/Mastercard — тоже несложно. Только если твой оборот менее нескольких сотен миллионов долларов — никто с тобой и разговаривать не будет.

6. Исходя из пункта 5, целесообразно все же через посредников. Посредники первой линии — это платежные системы Cyberplat, Payonline и т.п.