Прием оплаты на сайте - что может быть важнее для разработчика
shareware-программы? Ведь это центральный процесс, обеспечивающий
основной канал поступления денег.
Хочется сделать его правильным, надежным, удовлетворяющим всем требованиям бизнеса.
Но к сожалению, платежные системы практически никогда не
представляют простого, четкого и понятного описания процедуры приема
оплаты. С первого взгляда, документация платежной системы внушает ужас
- миллион непонятных терминов, обилие форм, полей, переменных,
сокращений и специализированных терминов.
Разобраться с лёту не удается практически никому. Приходится ломать
голову надо не очень хорошо написанной документацией и догадываться о
назначении той или иной формы или переменной.
На самом деле, все платежные системы работают примерно одинаково,
ведь их суть одна и та же - прием денег. И алгоритмы у них одинаковые.
Просто по-разному называются.
Давайте на простом примере посмотрим как организовать прием оплаты за программу на Вашем сайте.
Обычный процесс приема оплаты происходит по следующему алгоритму:
1. Покупатель заходит на Ваш сайт, выбирает товар и запрашивает его оплату.
2.Сайт перенаправляет Покупателя на Платежную систему.
3.Покупатель подтверждает данные заказа в Платежной системе, выбирает способ оплаты и производит оплату.
4.Платежная система принимает оплату и перенаправляет Покупателя обратно на Ваш сайт.
Казалось бы всё просто, деньги приходят к Вам на шаге 4 (Платежная
система принимает оплату) и Вы высылаете покупателю товар. Однако на
самом деле деньги к Вам НЕ приходят... И могут не прийти довольно длительное время.
Почему так происходит? Дело в том, что платежная система
обрабатывает платежи не сразу, а по очереди. Каждый из них проверяется
сотрудником в отделе обслуживания клиентов и при необходимости
переправляется в службу безопасности. На это уходит время, и не
маленькое.
Если платеж идет от одного пользователя платежной системы к другому,
то обычно проводится мгновенно, но как только к процессу подключается
какая-то внешняя система, то обработка заявки может занять час, или
даже день целиком.
Получается, что платежная система не может гарантировать мгновенное исполнение платежа.
Как же узнать, что платеж исполнен? Для этого используется т.н. URL оповещения о платеже (resultURL или avisoURL).
Сразу после обработки платежа платежная система обращается к Вашему
сайту по адресу resultURL и оповещает о зачислении денег на счет.
В общем виде процесс оплаты можно представить так (UML sequence):
Практически у всех платежных систем процесс приема оплаты одинаков. Конечно, различия есть, но небольшие.
Понимание процесса поможет Вам работать практически с любой платежной системой, как с российской, так и с зарубежной.
Стоит отметить, что для встраивания оплаты на своем сайте Вам вполне
достаточно будет сделать только первый шаг - встроить форму оплаты и
перенаправить покупателя на сайт платежной системы. Это довольно просто.