On-line заказа печатной продукции

Вид материалаДиплом

Содержание


Глава 3. Платежные системы 1. Обзор платежных систем
1.1 Общая схема работы платежных систем
1.2 Общий принцип работы
1.3 Обзор безопасности
1.4 Общее описание и состав сервиса Robokassa
Подобный материал:
1   2   3   4   5   6   7   8   9   10   11
^

Глава 3. Платежные системы

1. Обзор платежных систем


В последние несколько лет Интернет все активнее используется не только для получения информации, но и для создания торговых решений, направленных как на конечных потребителей, так и на оптимизацию торговли между компаниями. Распространение Интернет-торговли было одним из факторов, который привел к развитию систем Интернет-платежей по всему миру. Кроме этого, на развитие повлияло и ужесточение конкуренции на реальных секторах экономики (например, банковском), когда участники рынка вынуждены были искать новые способы сокращения издержек на поиск и привлечение клиентов, а также их обслуживание в Интернете.

Электронные платежи и чем они отличаются

Платёжные системы отличаются от банков тем, что выпускают под денежные средства депонированные в банке или драгоценные металлы, помещённые в хранилище (резерв) собственные электронные платёжные средства, являющиеся обращающимися правами требования NOW. Банковские деньги обмениваются на платёжные средства системы и обратно.

Стремительное развитие сети Интернет привело к появлению огромного количества интернет-магазинов и других проектов оказывающих услуги конечному пользователю. Как следствие встал вопрос о способе оплаты этих товаров/услуг. Как наиболее простое и удобное средство были предложены так называемые цифровые (электронные) деньги - платежные средства, представленные и обращаемые в электронном виде, оборот которых гарантирует анонимность.

Началом отсчета развития платежных систем России можно считать начало 1998 года, ознаменованное появлением PayCash. Спустя год появилась самая известная и распространенная на данный момент система платежей WebMoney.

В середине 2002 года произошло еще одно знаковое событие: компанией Paycash было заключено соглашение с самой крупной поисковой системой Рунета Яндекс о запуске проекта Яндекс.Деньги - универсальной платежной системы. К концу 2002 года группой российских и украинских экономистов и программистов была создана система RUpay.

Существующие на данный момент электронные платежные системы по типу доступа к электронному счету можно разделить на 2 большие группы:
  • требующие установки на компьютер пользователя дополнительного программного обеспечения;
  • платежные системы имеющие веб-интерфейс;

Прежде, чем приступить к обзору платежных систем, следует ознакомиться с их главными достоинствами:
  • доступность - любой пользователь, без специального разрешения, имеет возможность открыть собственный электронный счет;
  • мобильность - вне зависимости от местонахождения пользователь имеет возможность осуществлять любые финансовые операции со своим счетом;
  • безопасность - передача информации ведется с использованием SSL протокола с кодовым ключом 128-bit либо другими криптографическими алгоритмами;
  • простота использования - для открытия и использования электронного счета не требуется специальных знаний;
  • оперативность - перевод средств со счета на счет происходит в считанные минуты.



Основываясь на опыте работы с крупными коммерческими площадками рунета мной были выбраны следующие системы:
  • LiqPay.com
    Пластиковые карты Visa, EuroCard/MasterCard
  • Мультивалютная касса ROBOXchange
    USD e-gold, RUR Yandex, UAH imoney, USD RuPay, PTerr, RUR INOCard, MoneyMail RUR, e-Bullion e-Currency, e-Bullion Gold, W1
  • Money.Yandex
    Оплата через платежную систему Яндекс.Деньги
  • MoneyMail
    Оплата через платежную систему MoneyMail

Оплата по каждой из систем производится на собственном защищенном сервере. Что исключает возможность взлома кошелька на стороне клиента. Каждая система уделяет отдельное внимание безопасности.

Для LiqPay. Использование электронно-цифровой подписи (ЭЦП) с длиной ключа 512 бит исключает риски мошенничества и делает операцию по пополнению лицевого счета в билинге оператора неоспоримой. В рамках платежной системы LiqPay все операции по приему платежей проводятся с использованием ЭЦП. Для получения подписи используются функции base64_encode() и sha1().

У большинства валют ROBOXechange системы имеют многоуровневую систему безопасности. Передача информации ведется с использованием SSL протокола с кодовым ключом 128-bit. 


^

1.1 Общая схема работы платежных систем




Рисунок 27. Схема работы платежных систем
  1. Покупатель запрашивает у ИМ оплату товара
  2. ИМ перенаправляет запрос в ПС
  3. Пользователь осуществляет ввод карточных данных
  4. ПС авторизируется в своем банке
  5. Банк ПС авторизируется в банке покупателя
  6. Банк покупателя переводит в банк ПС необходимую сумму
  7. Банк ПС передает результат операции
  8. ПС передает ИМ результат операции
  9. Банк ПС переводит средства на счет ИМ
  10. ИМ осуществляет передачу товара
^

1.2 Общий принцип работы


Вне зависимости от того, какая система оплаты используется, они работают по общему принципу.

На первом этапе идет формирование запроса на стороне Интернет-магазина. Идет сбор информации о заказе, который необходимо оплатить.
  • Номер заказа
  • Сумма
  • Валюта
  • Описание
  • Способ оплаты

После того как запрос сформирован, данные отправляются на сервер в открытом виде. Этого можно не опасаться, так как все операции подписываются между сервером оплаты и ИМ подписываются. Подпись в разных платежных системах получается разными способами, но по одному принцыпу. Как правило подпись представляет собой хеш, полученный из данных заказа и пароля мерчанта. Пароль мерчанта в открытом виде не передается, задается на этапе регистрации мерчанта и известен обоим сторонам.

Далее, когда сервер получил данные о заказе, а также идентифицировал мерчанта, происходит процедура оплаты, на стороне сервера оплаты. Как правило вся процедура происходит в защищенной зоне, с использованием протокола HTTPS и сертификатов безопасности.

После того как процедура прошла успешно, сервер оплаты, отправляет подписанные данные об успешной, либо не успешной оплате ИМ. На стороне ИМ подписи сравниваются, и, в случае успеха, статус заказа изменяется на «оплаченный».
^

1.3 Обзор безопасности


Отдельное не маловажное место уделено безопасности электронных платежных систем.
  • Двойная парольная защита, разделяющая систему авторизации для доступа к счету платёжной системы и проведение финансовых операций.
  • Система шифрования данных PKCS #1 SHA-1 с RSA.
  • Ограниченный доступ по определённым IP адресам и логирование данных полученного доступа.
  • Надёжная и современная архитектура программного обеспечения платёжной системы.
  • Техническое оборудование ведущих производителей, размещённое на лучших площадках российских и зарубежных провайдеров.
  • Круглосуточный мониторинг операций службой безопасности и принятие быстрых решений.

Некоторые платежные системы для обеспечения высокого уровня безопасности используют технологию OTP (One-time Password - одноразовый пароль). Транзакции подтверждаются динамическим одноразовым паролем, который высылается в SMS.

Все без исключения, подключенные платежные системы имеют сертификаты безопасности GoDaddy Secure Web Site, Verified by Visa и MasterCard SecureCode в случае работы с пластиковыми картами и Starfield и сертификат WebMoney в случае работы с электронными деньгами. Также все системы используют протокол HTTPS, для предотвращения хищения пользовательских данных.

Гарантией защиты от несанкционированных проведений операций на стороне ИМ служат электронные подписи операций.
^

1.4 Общее описание и состав сервиса Robokassa


Интерфейсы сервиса ROBOKASSA предоставляют возможность получения Клиентом сервиса (магазином) средств от Покупателя в предпочитаемой им электронной валюте в заданном им количестве (объеме).

Покупатель выбирает в он-лайн магазине Клиента товар, магазин подсчитывает сумму Заказа в предпочитаемой Продавцом валюте и посылает запрос к серверу, на котором расположен сервис ROBOKASSA. Система возвращает серверу Клиента html код формы выбора валюты оплаты или кнопки оплаты, который используется на странице его сайта.

Покупатель выбирает на сайте Клиента или на странице Сервиса ROBOKASSA валюту платежа и приступает к платежу, нажав на кнопку оплаты. Сразу после оплаты Заказа Покупателем в выбранной им валюте производится конвертация полученных средств в валюту, предпочитаемую Продавцом и исходящий платеж в этой валюте на его счет в соответствующей платежной системе, указанный при регистрации.

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

Сервис ROBOKASSA построен таким образом, что, в отличие от случая "подключения" непосредственно к серверу платежной системы, отпадает необходимость в усиленной защите данных в процессе обмена. Для интеграции кассы в сайт магазина нет необходимости в установлении исходящих SSL соединений, подключении дополнительных компонент на сервере Клиента и т.п. В этом заключено главное преимущество применения системы ROBOKASSA.

Номер счета Клиента (магазина) на который будет поступать оплата товаров и/или услуг Продавца защищен от изменения, он задается только один раз - в момент регистрации Продавца в Сервисе. Это позволяет избежать одновременно и краж выручки посторонними лицами и любых злоупотреблений с денежными средствами со стороны обслуживающего персонала магазина.

Нежелательна возможность самостоятельной инициализации процедуры оплаты (путем ввода url с параметрами), иначе говоря, прежде чем пользователь станет оплачивать товар магазин должен сформировать у себя запись о начале процедуры оплаты (Заказ), определить требуемую сумму и отправить пользователя на оплату именно этого Заказа, с конкретной суммой. Реализовано это путем формирования MD5-контрольной суммы (подписи) параметров счета, и добавления подписи в URL системы, куда перенаправляется Покупатель для оплаты заказа. Подпись формируется по параметрам счета и паролю#1 магазина (устанавливается в интерфейсе администрирования).

Продавец может узнать у системы ROBOKASSA состояние операции оплаты, а также действующие в системе курсы обмена. Для этого используются XML интерфейсы, описанные в соответствующем разделе данного документа.

После оплаты обменный пункт отправляет сообщение магазину путем вызова ResultURL и передачей ему методом GET/POST/email параметров совершенного платежа, а также подписи, сформированной по параметрам оплаченного Заказа и паролю №2 магазина.

Запросы к XML-интерфейсам, информирующим о состоянии обменной операции, производятся с указанием контрольной суммы, сформированной по параметрам запроса + пароль#2 магазина.

Примечание: Если не оговорено конкретно, понятия входяший/исходящий подразумеваются относительно системы ROBOKASSA.

Состав сервиса

Продавец (владелец магазина или сервиса) должен указать логин (далее sMerchantLogin), пароль для входа в Личный кабинет и внести в форму он-лайн регистрации следующие данные:
  • язык общения с администратором магазина;
  • наименование магазина;
  • e-mail адрес технического администратора магазина для связи;
  • пароль 1 (далее sMerchantPass1, используется интерфейсом инициализации оплаты);
  • пароль 2 (далее sMerchantPass2, используется интерфейсом оповещения о платеже, XML-интерфейсах);
  • Result URL (используется интерфейсом оповещения о платеже);
  • POST/GET/email метод отсылки данных в Result URL;
  • Success URL (используется в случае успешного проведения платежа);
  • POST/GET метод отсылки данных в Success URL;
  • Fail URL (используется в случае отказа проведения платежа);
  • POST/GET метод отсылки данных в Fail URL;
  • валюту, которую желает получать;
  • аккаунт в выбранной валюте, на который будут перечисляться средства.