воскресенье
Прикручиваем Paypal для оплаты
Одной из самых популярных платежных систем в буржунете является Paypal. Поэтому желающие прикрутить ее к своему сайту для оплаты товаров и услуг встречается очень часто на любом фрилансерском сайте, например, на RentACoder. Но так, как россиянам Paypal разрешает иметь только send only аккаунты, у нас эта платежная система не прижилась.
Сделать кнопку «Buy now» совсем не сложно, это простейшая форма вот такого вида:<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="paypal@site.com">
<input type="hidden" name="item_name" value="Buy Online Access to BlahBlahBlah.com">
<input type="hidden" name="amount" value="10.00">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="bn" value="PP-BuyNowBF">
<input type="hidden" name="custom" value="Some Value">
<input type="hidden" name="return" value="http://www.site.com/payments/pp_success.php">
<input type="hidden" name="notify_url" value="http://www.site.com/payments/pp_notify.php">
<input type="hidden" name="rm" value="POST">
<input type="submit" name="submit" value="Buy Now">
</form>
Когда пользователь произведет оплату, он будет перенаправлен на URL, указанный в параметре return. После этого Пейпал сам отправит уведомление о поступившем платеже на notify_url, только эти данные подлежат тщательной проверке, поскольку любому злоумышленнику не составит особого труда сформировать POST-запрос на notify_url. Поэтому полученные данные надо перезапросить у paypal еще раз, добавив к запросу параметр cmd со значением _notify-validate. И если paypal подтвердит совершенный платеж, транзакцию можно считать завершенной.
Для сторонних разработчиков Paypal предусмотрел специальный сервис Paypal Sandbox, который позволяет тестировать весь процесс приема платежей, с одним небольшим ограничением. В paypal sandbox не работает IPN (Instant Payment Notification), когда уведомление о платеже отправляется на notify_url. Для отладки скриптов по обработке IPN в песочнице сделали отдельный инструмент Instant Payment Notification (IPN) simulator.
Ярлыки: Полезное, Программирование
Я удаленно работаю на оДеск, это онлайн платформа, где заказчики могут найти тех, кто предоставляет нужные им услуги, практически в любой стране мира, и удаленно с ними работать. Россия, конечно же, занимает одно из ведущих мест по объему предоставляемых услуг.
Вот тут есть статистика по аутсорсингу в Россию: http://www.odesk.com/community/oconomy/outsourcing_russia.
Может, еще будет интересно почитать наш недавний пост "Кто самый трудолюбивый?": http://www.odesk.com/blog/2009/01/do-russians-work-the-hardest.
Удачи,
Ольга
Noby, не только на первый взгляд, но и на самом деле несложно. Я еще возился с биллингом от Authorize.Net, там в общем-то тоже несложно. Все они похожи в какой-то степени.
Человек делает транзакцию, оплачивает на сайте пейпела счет и не жмет кнопочку перейти назад на сайт, а у меня по ссылке с этой кнопки идет полное оформление заказа (смена статуса в бд, сообщение на почту покупателю и продавцу), как сделать, чтобы с пейпела передавалась инфа тогда, когда покупатель на кнопку не нажал.
Спасибо.
Оформление заказа должно происходить на странице, которая проверяет результат операции в Paypal (как правило эта страница не видна пользователю и в документации она называется notify_url). Если покупатель оплатил заказ и в настройках аккаунта notify_url задан, то Paypal по-любому уведомит о покупке, даже если пользователь не нажмет ссылку "Вернуться на сайт продавца".
http://www.devrush.com/web_development/articles_php/pay_pal/full_article (на русском, но пример там довольно условный)
http://designertuts.com/paypal-ipn-receiving-instant-payments-in-your-web-application/
(на английском, зато пример более удачный)
Подпишитесь на каналы Комментарии к сообщению [Atom]
Ссылки на это сообщение:
<< Главная страница
