SlideShare a Scribd company logo
XB SOFTWARE
Paypal + NodeJs
Поташко Александр
Что такое Paypal?
PayPal — способ отправки и получения
средств через Интернет физическими
лицами и компаниями
Проект N
● Поиск работодателями работников в системе с последующей
оплатой труда.
Этапы:
● 1. Поиск работника.
● 2. Оплата по завершению работы.
Paypal
● Создание платежа ( с удержанием выплаты )
● Подтверждение платежа
● Списание денег со счета
● Отправка денег работнику
DEVELOPER.PAYPAL.COM
● Документация
● Тестовый Аккаунт
● Rest API
● Classic API
● NodeJs Module:
● $ npm install paypal-rest-sdk
● https://github.com/paypal/rest-api-sdk-nodejs
Classic APIs
● Express Checkout
● Mass Pay
● Реальный Аккаунт ( paypal.com )
● Тестовый Аккунт ( sandbox.paypal.com )
Paypal NVP : Создание
Запроса
NAME=VALUE&NAME=VALUE&...
● USER
● PWD
● VERSION
● SIGNATURE
● SANDBOX_API_HOST - 'api-3t.sandbox.paypal.com';
● PRODUCTION_API_HOST - 'api-3t.paypal.com';
Express Checkout Actions
● Sale
● Authorization (DoCapture, DoReauthorization, DoVoid)
● Order (DoAuthorization, DoCapture, DoVoid)
MassPay Actions
● MassPay
SetExpressCheckout API Operation (NVP)
Создаем платеж отправляя данные об оплате на Paypal, в результате чего получаем токен, который
будет использован в дальнейших операциях.
Параметры:
- METHOD=SetExpressCheckout
- RETURNUR=localhost:5500/success
- CANCELURL=localhost:5500/cancel
- PAYMENTREQUEST_0_AMT=00.00
- PAYMENTREQUEST_0_ACTION=Authorization
- PAYMENTREQUEST_0_CURRENCYCODE=USD
https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/
DoExpressCheckoutPayment API Operation (NVP)
Завершаем подтверждение платежа.
Параметры:
- METHOD=DoExpressCheckoutPayment
- TOKEN=$TOKEN
- PAYERID=$PAYERID
- PAYMENTREQUEST_0_PAYMENTACTION=Authorization
- PAYMENTREQUEST_0_AMT=00.00
- PAYMENTREQUEST_0_CURRENCYCODE=USD
https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/DoExpressCheckoutPayment_API_Operation_NVP/
DoCapture API Operation (NVP)
Списание денег со счета.
Параметры:
- МЕTHOD=DoCapture
- AUTHORIZATIONID=$AUTHORIZATIONID
- AMT=00.00
- CURRENCYCODE=USD
- COMPLETETYPE=Complete
https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/DoCapture_API_Operation_NVP/
DoVoid API Operation (NVP)
Отмена платежа
Параметры:
- METHOD=DoVoid
- AUTHORIZATIONID=$AUTHORIZATIONID
https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/DoVoid_API_Operation_NVP/
MassPay
Возможность перевода за один раз деньги на несколько аккаунтов.
Параметры:
- METHOD=MassPay
- EMAILSUBJECT=$EMAIL
Массив Получателей:
- L_EMAIL + INDEX=$RECIPIENTEMAIL
- L_AMT + INDER=00.00
- L_UNIQUEDID + INDEX=$UID
- L_NOTE + INDEX=$NOTE
https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/MassPay_API_Operation_NVP/
Paypal + Беларусь
Ближе к полуночи 17 июня для белорусов стала
доступна регистрация в платежной системе
PayPal.
Подводные камни
● Документация
● Необходимость постоянного общения с тех.
поддержкой.
● Периодические сбои в работе с песочницей.
● Порог вхождения.
Контактная информация
● Веб-разработчик
Александр Поташко
● fantome@xbsoftware.com
● https://www.facebook.com/alexander.potashko

More Related Content

What's hot

Behat в PHP с использованием Behat и Mink
Behat в PHP с использованием Behat и MinkBehat в PHP с использованием Behat и Mink
Behat в PHP с использованием Behat и Minktyomo4ka
 
Full Stack разработка на JavaScript
Full Stack разработка на JavaScriptFull Stack разработка на JavaScript
Full Stack разработка на JavaScript
Олег Шерыхалин
 
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
QAFest
 
"Посмотрим на Акку-Джаву" Дмитрий Мантула
"Посмотрим на Акку-Джаву" Дмитрий Мантула"Посмотрим на Акку-Джаву" Дмитрий Мантула
"Посмотрим на Акку-Джаву" Дмитрий Мантула
Fwdays
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем Титаренко
CodeFest
 
Тестирование и мониторинг производительности фронтенда с помощью sitespeed.io...
Тестирование и мониторинг производительности фронтенда с помощью sitespeed.io...Тестирование и мониторинг производительности фронтенда с помощью sitespeed.io...
Тестирование и мониторинг производительности фронтенда с помощью sitespeed.io...
Alexander Nedeliaev
 

What's hot (7)

Behat в PHP с использованием Behat и Mink
Behat в PHP с использованием Behat и MinkBehat в PHP с использованием Behat и Mink
Behat в PHP с использованием Behat и Mink
 
Full Stack разработка на JavaScript
Full Stack разработка на JavaScriptFull Stack разработка на JavaScript
Full Stack разработка на JavaScript
 
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
 
External Widgets Performance
External Widgets PerformanceExternal Widgets Performance
External Widgets Performance
 
"Посмотрим на Акку-Джаву" Дмитрий Мантула
"Посмотрим на Акку-Джаву" Дмитрий Мантула"Посмотрим на Акку-Джаву" Дмитрий Мантула
"Посмотрим на Акку-Джаву" Дмитрий Мантула
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем Титаренко
 
Тестирование и мониторинг производительности фронтенда с помощью sitespeed.io...
Тестирование и мониторинг производительности фронтенда с помощью sitespeed.io...Тестирование и мониторинг производительности фронтенда с помощью sitespeed.io...
Тестирование и мониторинг производительности фронтенда с помощью sitespeed.io...
 

Viewers also liked

Files and JavaScript
Files and JavaScriptFiles and JavaScript
Files and JavaScript
Vladimir Dashukevich
 
How to become Famo.us
How to become Famo.usHow to become Famo.us
How to become Famo.us
Vladimir Dashukevich
 
4front en
4front en4front en
4front en
Vitaly Hornik
 
Cобытия в JavaScript
Cобытия в JavaScriptCобытия в JavaScript
Cобытия в JavaScript
Vladimir Dashukevich
 
Game physics in JavaScript
Game physics in JavaScriptGame physics in JavaScript
Game physics in JavaScript
Pavel Klimiankou
 
Постоянная сборка фронтенда – автоматизация конвейера
Постоянная сборка фронтенда – автоматизация конвейераПостоянная сборка фронтенда – автоматизация конвейера
Постоянная сборка фронтенда – автоматизация конвейера
XB Software, Ltd.
 
Production Ready Javascript With Grunt
Production Ready Javascript With GruntProduction Ready Javascript With Grunt
Production Ready Javascript With Grunt
XB Software, Ltd.
 
Всё ли ты знаешь о JavaScript ООП?
Всё ли ты знаешь о JavaScript ООП?Всё ли ты знаешь о JavaScript ООП?
Всё ли ты знаешь о JavaScript ООП?
Vitaly Hornik
 
Flexbox - верстка без float'ов by Dmitry Radyno
Flexbox - верстка без float'ов by Dmitry RadynoFlexbox - верстка без float'ов by Dmitry Radyno
Flexbox - верстка без float'ов by Dmitry Radyno
Дмитрий Радыно
 

Viewers also liked (10)

Files and JavaScript
Files and JavaScriptFiles and JavaScript
Files and JavaScript
 
How to become Famo.us
How to become Famo.usHow to become Famo.us
How to become Famo.us
 
4front en
4front en4front en
4front en
 
Cобытия в JavaScript
Cобытия в JavaScriptCобытия в JavaScript
Cобытия в JavaScript
 
Game physics in JavaScript
Game physics in JavaScriptGame physics in JavaScript
Game physics in JavaScript
 
Постоянная сборка фронтенда – автоматизация конвейера
Постоянная сборка фронтенда – автоматизация конвейераПостоянная сборка фронтенда – автоматизация конвейера
Постоянная сборка фронтенда – автоматизация конвейера
 
Production Ready Javascript With Grunt
Production Ready Javascript With GruntProduction Ready Javascript With Grunt
Production Ready Javascript With Grunt
 
Всё ли ты знаешь о JavaScript ООП?
Всё ли ты знаешь о JavaScript ООП?Всё ли ты знаешь о JavaScript ООП?
Всё ли ты знаешь о JavaScript ООП?
 
Files and JS
Files and JSFiles and JS
Files and JS
 
Flexbox - верстка без float'ов by Dmitry Radyno
Flexbox - верстка без float'ов by Dmitry RadynoFlexbox - верстка без float'ов by Dmitry Radyno
Flexbox - верстка без float'ов by Dmitry Radyno
 

Similar to PayPal интеграция. Запрещенная лекция 18+

Introduction in Node.js (in russian)
Introduction in Node.js (in russian)Introduction in Node.js (in russian)
Introduction in Node.js (in russian)Mikhail Davydov
 
QaApi: взгляд на тестирование с другой стороны баррикад
QaApi: взгляд на тестирование с другой стороны баррикадQaApi: взгляд на тестирование с другой стороны баррикад
QaApi: взгляд на тестирование с другой стороны баррикад
Dmitry Maruschenko
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPI
Timur Shemsedinov
 
Опыт разработки и тестирования RESTful JSON сервиса
Опыт разработки и тестирования RESTful JSON сервисаОпыт разработки и тестирования RESTful JSON сервиса
Опыт разработки и тестирования RESTful JSON сервиса
Ilya Chesnokov
 
Система мониторинга производительности своими руками (QA Fest 2016)
Система мониторинга производительности своими руками (QA Fest 2016)Система мониторинга производительности своими руками (QA Fest 2016)
Система мониторинга производительности своими руками (QA Fest 2016)
Alexander Nedeliaev
 
DevOps для 1С
DevOps для 1СDevOps для 1С
DevOps для 1С
Alexey Lustin
 
Мы делили апельсин
Мы делили апельсинМы делили апельсин
Мы делили апельсин
Olga Lavrentieva
 
Building better APIs on rails
Building better APIs on railsBuilding better APIs on rails
Building better APIs on rails
Roman Gorel
 
Будущее ASP.NET
Будущее ASP.NETБудущее ASP.NET
Будущее ASP.NET
GoSharp
 
Реалтайм статистика скорости работы нативных и веб-приложений у реальных поль...
Реалтайм статистика скорости работы нативных и веб-приложений у реальных поль...Реалтайм статистика скорости работы нативных и веб-приложений у реальных поль...
Реалтайм статистика скорости работы нативных и веб-приложений у реальных поль...
Ontico
 
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Ontico
 
Roman Gorel: Building better APIs on Rails.
Roman Gorel: Building better APIs on Rails.Roman Gorel: Building better APIs on Rails.
Roman Gorel: Building better APIs on Rails.
Sphere Consulting Inc
 
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Igor Miniailo
 
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Vadim Nesterov
 
Опыт тестирования API САПР платформы
Опыт тестирования API САПР платформыОпыт тестирования API САПР платформы
Опыт тестирования API САПР платформы
SQALab
 
AllcountJS VTB24 loan сonveyor POC
AllcountJS VTB24 loan сonveyor POCAllcountJS VTB24 loan сonveyor POC
AllcountJS VTB24 loan сonveyor POC
Pavel Tiunov
 
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDBCodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDBCodeFest
 
Серверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDBСерверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDBStepan Stolyarov
 
Работа с платежными системами в Django (Paypal, WebMoney)
Работа с платежными системами в Django (Paypal, WebMoney)Работа с платежными системами в Django (Paypal, WebMoney)
Работа с платежными системами в Django (Paypal, WebMoney)proft
 

Similar to PayPal интеграция. Запрещенная лекция 18+ (20)

Mobilefest2012
Mobilefest2012Mobilefest2012
Mobilefest2012
 
Introduction in Node.js (in russian)
Introduction in Node.js (in russian)Introduction in Node.js (in russian)
Introduction in Node.js (in russian)
 
QaApi: взгляд на тестирование с другой стороны баррикад
QaApi: взгляд на тестирование с другой стороны баррикадQaApi: взгляд на тестирование с другой стороны баррикад
QaApi: взгляд на тестирование с другой стороны баррикад
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPI
 
Опыт разработки и тестирования RESTful JSON сервиса
Опыт разработки и тестирования RESTful JSON сервисаОпыт разработки и тестирования RESTful JSON сервиса
Опыт разработки и тестирования RESTful JSON сервиса
 
Система мониторинга производительности своими руками (QA Fest 2016)
Система мониторинга производительности своими руками (QA Fest 2016)Система мониторинга производительности своими руками (QA Fest 2016)
Система мониторинга производительности своими руками (QA Fest 2016)
 
DevOps для 1С
DevOps для 1СDevOps для 1С
DevOps для 1С
 
Мы делили апельсин
Мы делили апельсинМы делили апельсин
Мы делили апельсин
 
Building better APIs on rails
Building better APIs on railsBuilding better APIs on rails
Building better APIs on rails
 
Будущее ASP.NET
Будущее ASP.NETБудущее ASP.NET
Будущее ASP.NET
 
Реалтайм статистика скорости работы нативных и веб-приложений у реальных поль...
Реалтайм статистика скорости работы нативных и веб-приложений у реальных поль...Реалтайм статистика скорости работы нативных и веб-приложений у реальных поль...
Реалтайм статистика скорости работы нативных и веб-приложений у реальных поль...
 
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)
 
Roman Gorel: Building better APIs on Rails.
Roman Gorel: Building better APIs on Rails.Roman Gorel: Building better APIs on Rails.
Roman Gorel: Building better APIs on Rails.
 
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
 
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
 
Опыт тестирования API САПР платформы
Опыт тестирования API САПР платформыОпыт тестирования API САПР платформы
Опыт тестирования API САПР платформы
 
AllcountJS VTB24 loan сonveyor POC
AllcountJS VTB24 loan сonveyor POCAllcountJS VTB24 loan сonveyor POC
AllcountJS VTB24 loan сonveyor POC
 
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDBCodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
 
Серверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDBСерверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDB
 
Работа с платежными системами в Django (Paypal, WebMoney)
Работа с платежными системами в Django (Paypal, WebMoney)Работа с платежными системами в Django (Paypal, WebMoney)
Работа с платежными системами в Django (Paypal, WebMoney)
 

PayPal интеграция. Запрещенная лекция 18+

  • 1. XB SOFTWARE Paypal + NodeJs Поташко Александр
  • 2. Что такое Paypal? PayPal — способ отправки и получения средств через Интернет физическими лицами и компаниями
  • 3. Проект N ● Поиск работодателями работников в системе с последующей оплатой труда. Этапы: ● 1. Поиск работника. ● 2. Оплата по завершению работы.
  • 4. Paypal ● Создание платежа ( с удержанием выплаты ) ● Подтверждение платежа ● Списание денег со счета ● Отправка денег работнику
  • 5. DEVELOPER.PAYPAL.COM ● Документация ● Тестовый Аккаунт ● Rest API ● Classic API ● NodeJs Module: ● $ npm install paypal-rest-sdk ● https://github.com/paypal/rest-api-sdk-nodejs
  • 6. Classic APIs ● Express Checkout ● Mass Pay ● Реальный Аккаунт ( paypal.com ) ● Тестовый Аккунт ( sandbox.paypal.com )
  • 7. Paypal NVP : Создание Запроса NAME=VALUE&NAME=VALUE&... ● USER ● PWD ● VERSION ● SIGNATURE ● SANDBOX_API_HOST - 'api-3t.sandbox.paypal.com'; ● PRODUCTION_API_HOST - 'api-3t.paypal.com';
  • 8. Express Checkout Actions ● Sale ● Authorization (DoCapture, DoReauthorization, DoVoid) ● Order (DoAuthorization, DoCapture, DoVoid) MassPay Actions ● MassPay
  • 9. SetExpressCheckout API Operation (NVP) Создаем платеж отправляя данные об оплате на Paypal, в результате чего получаем токен, который будет использован в дальнейших операциях. Параметры: - METHOD=SetExpressCheckout - RETURNUR=localhost:5500/success - CANCELURL=localhost:5500/cancel - PAYMENTREQUEST_0_AMT=00.00 - PAYMENTREQUEST_0_ACTION=Authorization - PAYMENTREQUEST_0_CURRENCYCODE=USD https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/
  • 10.
  • 11. DoExpressCheckoutPayment API Operation (NVP) Завершаем подтверждение платежа. Параметры: - METHOD=DoExpressCheckoutPayment - TOKEN=$TOKEN - PAYERID=$PAYERID - PAYMENTREQUEST_0_PAYMENTACTION=Authorization - PAYMENTREQUEST_0_AMT=00.00 - PAYMENTREQUEST_0_CURRENCYCODE=USD https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/DoExpressCheckoutPayment_API_Operation_NVP/
  • 12. DoCapture API Operation (NVP) Списание денег со счета. Параметры: - МЕTHOD=DoCapture - AUTHORIZATIONID=$AUTHORIZATIONID - AMT=00.00 - CURRENCYCODE=USD - COMPLETETYPE=Complete https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/DoCapture_API_Operation_NVP/
  • 13. DoVoid API Operation (NVP) Отмена платежа Параметры: - METHOD=DoVoid - AUTHORIZATIONID=$AUTHORIZATIONID https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/DoVoid_API_Operation_NVP/
  • 14. MassPay Возможность перевода за один раз деньги на несколько аккаунтов. Параметры: - METHOD=MassPay - EMAILSUBJECT=$EMAIL Массив Получателей: - L_EMAIL + INDEX=$RECIPIENTEMAIL - L_AMT + INDER=00.00 - L_UNIQUEDID + INDEX=$UID - L_NOTE + INDEX=$NOTE https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/MassPay_API_Operation_NVP/
  • 15. Paypal + Беларусь Ближе к полуночи 17 июня для белорусов стала доступна регистрация в платежной системе PayPal.
  • 16. Подводные камни ● Документация ● Необходимость постоянного общения с тех. поддержкой. ● Периодические сбои в работе с песочницей. ● Порог вхождения.
  • 17. Контактная информация ● Веб-разработчик Александр Поташко ● fantome@xbsoftware.com ● https://www.facebook.com/alexander.potashko