Здравствуйте.
Вопрос технический и отчасти юридический.
У меня есть смартфон (представляете?.. :) ), подключен мобильный интернет, перехожу в браузере по ссылке и с моего лицевого счета у оператора сотовой связи снимаются денежные средства. Есть такая штука - контент-провайдинг.
Хочу продавать подписки. Как мне создать сервис, чтобы мои клиенты имели возможность оплачивать услуги вот таким образом, просто нажимая на ссылке?
Технические сложности, которые предвижу.
При подключении к оператору в биллинговой системе оператора создается лицевой счет. Доступ к данному лицевому счету, естественно, ограничен. Для того, чтобы совершать какие-либо финансовые операции с данным счетом имеется платежный шлюз, API. Обмен данными с этим шлюзом устроен классическим образом с использованием секретной составляющей в запросе. Очевидно, иначе бы любой Вася Пупкин мог бы снимать или класть деньги на этот счет. Так вот, чтобы я мог снять деньги со счета какого-либо оператора, мне нужно заключить с ними договор, чтобы мой сервер мог обращаться к их API для совершения транзакций, естественно, предварительно оператор должен выдать мне пароль (зарегистрировать меня) и документацию по API.
Когда я тыкаю по ссылке в браузере, с меня снимаются деньги. Звоню оператору, мне говорят, что мы не знаем кто это и что то. Но если должен заключаться договор с подобными контент-провайдерами, то у оператора должна быть информация по ним. А ее нет. Значит... получается, что деньги снимаются каким-то неизвестным мне образом.
Расскажите мне - глупому человеку - каким образом технически реализовать оплату с лицевого счета оператора простым нажатием по ссылке в интернете? Без авторизации в личном кабинете оператора, без перехода на безопасную страницу, без какого либо согласия, подтверждения, без договоренностей с оператором?
Насколько мне известно, юридически и технически это невозможно. Либо это какая-то уязвимость в платежном шлюзе оператора.
Каким образом при щелчке на какой-то ссылке на каком-то сайте в браузере передается идентификатор конкретного пользователя в конкретной биллинговой системе конкретного оператора связи (нужно ведь знать откуда и куда отправить деньги - логика)? Определяется по IP - отправляется запрос в Пентагон и Джордж Буш выдает данные. Как?
Псевдокод.
Пример работы платежного шлюза.
Адрес платежного шлюза оператора -
operator.com/payment.php
Примерный запрос на проведение операции выглядит так:
POST[
"action" => "pay", // Необходимое действие
"account" => "111", // Номер счета абонента
"amount" => 50, // Сумма к оплате
"recipient" => "mycompany", // ID моей компании у конкретного оператора
"secret" => md5(action.account.amount.recipient.crazyamazingsecretpassword) // Секретный пароль
]
Я хочу, чтобы при щелчке по ссылке абонент оплачивал мою услугу подписки. Создаю форму, которая отправляет данные методом POST к API оператора и все. Но...
откуда я могу узнать на своем сайте по обыкновенному факту посещения номер счета абонента в сети оператора, ... ладно, свой ID я знаю, но ведь его должны зарегистрировать у оператора. Ну, и самое главное, откуда я могу узнать СЕКРЕТНЫЙ пароль и вообще, структуру запроса?
Еще раз, возможно, я что-то не знаю. Может, приняли какой-то закон о продаже контента, согласно которому провайдер создает какой-то открытый API и позволяет им пользоваться без договора. Может, есть какие-то технические особенности, про которые я не знаю? Очень хочу запустить подобный сервис.