Работа с платежными системами в  Django  (Pa yp al,  WebMoney ) Моргун Иван blog   : http://proft.com.ua twitter : @proft PyCamp Kyiv  2010
Почему  Django ? Django  — свободный фреймворк для веб-приложений на языке Python.  (wikipedia)
Полная документация
Python
ORM
Встроенный сервер для разработки
Готовая админка
Богатый набор приложений
Шаблоны
Формы 8 причин использовать  Django * * @coderholic  http://www.coderholic.com/8-reasons-why-you-should-try-django/
Про Paypal основана в 1998 году
куплена eBay в 2002
свыше 180,000 счетов
доступна в более чем 100 странах
19 валют
к омпании, основанные бывшими сотрудниками
Виды платежей Website Payments Standard
Instant Payment Notification  (IPN)
Payment Data Transfer (PDT)
PayPal API
Website Payments Pro  Direct Payment
Express Checkout
Виды счётов Personal account   (до 500 $)
Premier account   (API, IPN, PDT)
Business account   (API, отчеты, Multi-User Access)
Sandbox account   (отладочный)
Статус счёта Verified
Confirmed

More Related Content

PPT
Js Http Request дмитрий котеров
PDF
Описание протокола PayPal для благотворительных организаций
PPTX
SP2010 for ASP.NET dev Ru
ODP
DrupalCamp Kyiv 2011. Views - стандарт вывода списка данных. Расширение Views...
PPT
Введение в Django
PDF
Python и Django – платформа для фрилансера
PPTX
kranonitS20 Сергей Бурма. Django - легко, быстро, эффективно
Js Http Request дмитрий котеров
Описание протокола PayPal для благотворительных организаций
SP2010 for ASP.NET dev Ru
DrupalCamp Kyiv 2011. Views - стандарт вывода списка данных. Расширение Views...
Введение в Django
Python и Django – платформа для фрилансера
kranonitS20 Сергей Бурма. Django - легко, быстро, эффективно

Similar to Работа с платежными системами в Django (Paypal, WebMoney) (11)

PPTX
Александр Протасеня: "PayPal. Различные способы интеграции"
PDF
Интернет-магазин за 5 минут
PDF
РУКОВОДСТВО PAYPAL ПО ПОДКЛЮЧЕНИЮ МАГАЗИНА НА ПЛАТФОРМЕ PHPSHOP
PPT
Энюшки
PPTX
П.Козьяков One click payment эффективный метод увеличения роста продаж
PDF
Мобильный платеж Xsolla
PPT
Review payment systems
PDF
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
PDF
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
PDF
Приём оплаты Яндекс.Деньгами и картами Visa/MC за 5 минут.
PDF
Прием платежей в Badoo взгляд изнутри. HighLoad++ 2014 (HL++ 2014)
Александр Протасеня: "PayPal. Различные способы интеграции"
Интернет-магазин за 5 минут
РУКОВОДСТВО PAYPAL ПО ПОДКЛЮЧЕНИЮ МАГАЗИНА НА ПЛАТФОРМЕ PHPSHOP
Энюшки
П.Козьяков One click payment эффективный метод увеличения роста продаж
Мобильный платеж Xsolla
Review payment systems
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
Приём оплаты Яндекс.Деньгами и картами Visa/MC за 5 минут.
Прием платежей в Badoo взгляд изнутри. HighLoad++ 2014 (HL++ 2014)
Ad

Работа с платежными системами в Django (Paypal, WebMoney)

  • 1. Работа с платежными системами в Django (Pa yp al, WebMoney ) Моргун Иван blog : http://proft.com.ua twitter : @proft PyCamp Kyiv 2010
  • 2. Почему Django ? Django — свободный фреймворк для веб-приложений на языке Python. (wikipedia)
  • 5. ORM
  • 10. Формы 8 причин использовать Django * * @coderholic http://www.coderholic.com/8-reasons-why-you-should-try-django/
  • 11. Про Paypal основана в 1998 году
  • 14. доступна в более чем 100 странах
  • 16. к омпании, основанные бывшими сотрудниками
  • 21. Website Payments Pro Direct Payment
  • 23. Виды счётов Personal account (до 500 $)
  • 24. Premier account (API, IPN, PDT)
  • 25. Business account (API, отчеты, Multi-User Access)
  • 26. Sandbox account (отладочный)
  • 31. Готовые HTML шаблоны для: Кнопка Buy Now — покупка одного товара
  • 32. Кнопка Donations — благотворительность
  • 33. Subscriptions — периодически повторяющиеся оплата
  • 34. PayPal Shopping Cart — заказ нескольких товаров
  • 35. Cart Upload — корзина, разработанная третьим лицом Website Payments Standard
  • 37. Пример кнопки Buy Now <form action=&quot;https://www.paypal.com/cgi-bin/webscr&quot; method=&quot;post&quot;> <input type=&quot;hidden&quot; name=&quot; cmd &quot; value=&quot;_xclick&quot;/> <input type=&quot;hidden&quot; name=&quot; business &quot; value=&quot;seller@sait.com&quot;/> <input type=&quot;hidden&quot; name=&quot; item_name &quot; value=&quot;Django book&quot;/> <input type=&quot;hidden&quot; name=&quot; item_number &quot; value=&quot;123&quot;/> <input type=&quot;hidden&quot; name=&quot; amount &quot; value=&quot;75.00&quot;/> <input type=&quot;hidden&quot; name=&quot;no_shipping&quot; value=&quot;2&quot;/> <input type=&quot;hidden&quot; name=&quot;no_note&quot; value=&quot;1&quot;/> <input type=&quot;hidden&quot; name=&quot; currency_code &quot; value=&quot;USD&quot;/> <input type=&quot;hidden&quot; name=&quot;bn&quot; value=&quot;PP-BuyNowBF&quot;/> <input type=&quot; image &quot; src=&quot;https://www.paypal.com/en_US/i/btn/x-click-but23.gif&quot; border=&quot;0&quot; name=&quot;submit&quot; alt=&quot;Make payments with PayPal - it's fast, free and secure!&quot;/> <img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://www.paypal.com/en_US/i/scr/pixel.gif&quot; width=&quot;1&quot; height=&quot;1&quot;/> </form> • business — email продавца • item_name — имя товара • item_number — артикль товара • amount — сумма • currency_code — валюта • image — url изображения
  • 38. Shopping Cart PayPal Shopping Cart
  • 39. Cart Upload Передаем в Paypal всю сумму для всех товаров в корзине
  • 40. Передаем в Paypal сумму каждого товара отдельно, для всех товаров в корзине
  • 41. Пример Shopping Cart <form action=&quot;https://www.paypal.com/cgi-bin/webscr&quot; method=&quot;post&quot;> <input type=&quot;hidden&quot; name=&quot; cmd &quot; value=&quot;_cart&quot;/> <input type=&quot;hidden&quot; name=&quot;upload&quot; value=&quot;1&quot;/> <input type=&quot;hidden&quot; name=&quot; business &quot; value=&quot;seller@sait.com&quot;/> <input type=&quot;hidden&quot; name=&quot; item_name_1 &quot; value=&quot;Shoes 1&quot;/> <input type=&quot;hidden&quot; name=&quot; amount_1 &quot; value=&quot;1.00&quot;/> <input type=&quot;hidden&quot; name=&quot; quantity_1 &quot; value=&quot;1&quot;/> <input type=&quot;hidden&quot; name=&quot; item_name_2 &quot; value=&quot;Shoes 2&quot;/> <input type=&quot;hidden&quot; name=&quot; amount_2 &quot; value=&quot;2.00&quot;/> <input type=&quot;hidden&quot; name=&quot; quantity_2 &quot; value=&quot;3&quot;/> <input type=&quot;submit&quot; value=&quot;PayPal&quot;/> </form>
  • 42. Encrypted Website Payments (EWP) Email продавца
  • 47. Payment Data Transfer Индетификация покупателя по Transaction ID
  • 50. PayPal API SOAP — объектно-ориентированный интерфейс, использующий объекты данных определенные схемой eBay Business Language ( eBL ). Запросы и ответы отсылаются как объекты через протокол SOAP.
  • 51. Name-Value Pair (NVP) — использует словарь переменных, похожих как в схеме eBL. Запросы и ответы отсылаются как простые строки через протокол HTTP.
  • 52. Paypal API : MassPay, поиск транзакций, получение информации о транзакции и т.д.
  • 53. Django-paypal — application для Django реализующий Website Payments Standard (Buy now) и Website Payments Pro (Direct Payment, Express Checkout) http://goo.gl/M5Nf by johnboxall [email_address] django-paypal
  • 54. Пример использования django-paypal (IPN) 1. git clone git://github.com/johnboxall/django-paypal.git paypal 2. # settings.py INSTALLED_APPS = (... 'paypal.standard.ipn', ...) PAYPAL_RECEIVER_EMAIL = &quot;seller@sait.com&quot; 3. Вид (views.py): from paypal.standard.forms import PayPalPaymentsForm def view_that_asks_for_money(request): paypal_dict = { &quot;business&quot;: &quot;seller@sait.com&quot;, &quot;amount&quot;: &quot;100&quot;, &quot;item_name&quot;: &quot;Shoes 1&quot;, &quot;invoice&quot;: &quot;101&quot;, &quot;notify_url&quot;: &quot;http://www.sait.com/ipn-location/&quot;, &quot;return_url&quot;: &quot;http://www.sait.com/return-location/&quot;, &quot;cancel_return&quot;: &quot;http://www.sait.com/cancel-location/&quot;, } form = PayPalPaymentsForm(initial=paypal_dict) context = {&quot;form&quot;: form} return render_to_response(&quot;payment.html&quot;, context) 4. Шаблон (payment.html) <b>Hello user! You buy now 'Shoe 1'!</h1> {{ form.render }}
  • 55. Пример использования django-paypal (IPN) 5. При покупке товара PayPal сделает POST запрос к notify_url. # urls.py urlpatterns = patterns('', (r'^ipn-location/', include('paypal.standard.ipn.urls')), ) 6. После обработки IPN — будет отправлен сигнал с результатом транзакции. Два сигнала для обычных транзакции: payment_was_succesful
  • 56. payment_was_flagged и 4 для Subscription. # models.py from paypal.standard.ipn.signals import payment_was_successful def show_me_the_money(sender, **kwargs): ipn_obj = sender if ipn_obj.custom == &quot;Upgrade all users!&quot;: Users.objects.update(paid=True) payment_was_successful.connect(show_me_the_money)
  • 57. Пример использования django-paypal (WPS+ EWP ) 1. Для шифрования кнопки нам понадобится библиотека M2Crypto easy_install M2Crypto 2. Создаем приватный ключ , который будет использоватся в сертификате для зашифрованной кнопки: openssl genrsa -out paypal.pem 1024 3. Создаем публичный ключ: openssl req -new -key paypal.pem -x509 -days 365 -out pubpaypal.pem 4. Загружаем публичный ключ в свой Paypal Account или Sandbox: https://www.paypal.com/us/cgi-bin/webscr?cmd=_profile-website-cert https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_profile-website-cert 5. Копируем CertID . 6. Скачиваем публичный ключ от Paypal. 7. В settings.py добавляем: PAYPAL_PRIVATE_CERT = '/path/to/paypal.pem' PAYPAL_PUBLIC_CERT = '/path/to/pubpaypal.pem' PAYPAL_CERT = '/path/to/paypal_cert.pem' PAYPAL_CERT_ID = 'get-from-paypal-website'
  • 58. Пример использования django-paypal (WPS+ EWP ) 8. В view.py заменяем PayPalPaymentsForm на PayPalEncryptedPaymentsForm from paypal.standard.forms import PayPalEncryptedPaymentsForm def view_that_asks_for_money(request): paypal_dict = { &quot;business&quot;: &quot;seller@sait.com&quot;, &quot;amount&quot;: &quot;100&quot;, &quot;item_name&quot;: &quot;Shoes 1&quot;, &quot;invoice&quot;: &quot;101&quot;, &quot;notify_url&quot;: &quot;http://www.sait.com/ipn-location/&quot;, &quot;return_url&quot;: &quot;http://www.sait.com/return-location/&quot;, &quot;cancel_return&quot;: &quot;http://www.sait.com/cancel-location/&quot;, } form = PayPalEncryptedPaymentsForm (initial=paypal_dict) context = {&quot;form&quot;: form} return render_to_response(&quot;payment.html&quot;, context)
  • 59. Коротко о Webmoney работает в Украине на протяжении 6 лет
  • 60. гривневый оборот составил 1 млрд. 397 млн. WMU (на 2009 год)
  • 61. количество зарегистрированных в системе украинских граждан достигло 1 млн. 550 тыс. человек .
  • 62. Прием платежей через интерфейс сервиса Web Merchant Interface Два шага для обеспечения приема WM на своем веб-сайте через сервис Web Merchant Interface: 1. Настроить сервис Web Merchant Interface для обработки платежей, выполняемых клиентом на ваш кошелек, в разделе Настройки; 2. Создать 3 HTML страницы - платежную страницу, страницу успешно выполненного платежа и страницу невыполненного платежа;
  • 63. Шаг 2. Создание 3-х HTML страниц  pay.html <html> <head> <title>Pay</title> </head> <body> <form id=pay name=pay method=&quot;POST&quot; action=&quot;https://merchant.webmoney.ru/lmi/payment.asp&quot;> <p>пример платежа через сервис Web Merchant Interface</p> <p>заплатить 1 WMZ...</p> <p> <input type=&quot;hidden&quot; name=&quot; LMI_PAYMENT_AMOUNT &quot; value=&quot;1.0&quot;> <input type=&quot;hidden&quot; name=&quot; LMI_PAYMENT_DESC &quot; value=&quot;тестовый платеж&quot;> <input type=&quot;hidden&quot; name=&quot; LMI_PAYMENT_NO &quot; value=&quot;1&quot;> <input type=&quot;hidden&quot; name=&quot; LMI_PAYEE_PURSE &quot; value=&quot;Z145179295679&quot;> <input type=&quot;hidden&quot; name=&quot; LMI_SIM_MODE &quot; value=&quot;0&quot;> </p> <p> <input type=&quot;submit&quot; value=&quot;submit&quot;> </p> </form> </body> </html> 
  • 64. Шаг 2. Создание 3-х HTML страниц  success.html <html> <head> <title>Success</title> </head> <body> <p>Платеж был выполнен.</p> </body> </html> fail.html <html> <head> <title>Fail</title> </head> <body> <p>Платеж не был выполнен.</p> </body> </html>
  • 65. Developer Central – developer.paypal.com
  • 66. Integration Center – paypal.com/integration
  • 67. PayPalDev.org – paypaldev.org
  • 68. Pro PayPal E-Commerce by Damon Williams (Apress) Ресурсы для разработчиков Webmoney Paypal Программные интерфейсы http://www.webmoney.ru/rus/developers/interfaces/index.shtml
  • 69. Описание интерфейса сервиса Web Merchant Interface https://merchant.webmoney.ru/conf/guide.asp
  • 71. Спасибо за внимание! Вопросы ??? Моргун Иван blog : http://proft.com.ua twitter : @proft PyCamp Kyiv 2010