Введение в PayPal для C# - разработчики ASP.NET - Express Checkout (Быстрый подсчёт стоимости сделанных покупок)
ОГЛАВЛЕНИЕ
Страница 7 из 8
Express Checkout (Быстрый подсчёт стоимости сделанных покупок)
Express Checkout – наиболее гибкое решение интеграции с PayPal. Пользователь перенаправляется на PayPal только для аутентификации и подтверждения того, что он хочет заплатить за ваши услуги, и после этого все выполняется на вашем сайте; вы делаете вызовы к PayPal API в фоновом режиме. Следующее изображение показывает процесс:
Последовательность операций Express Checkout
- Вы добавите кнопку PayPal Checkout, вызывающую метод SetExpressCheckout из PayPal API после ее нажатия.
- Если данный метод вызывается для разового платежа, будет правильно включить только обязательные поля. Важно установить переменную NOSHIPPING в 1, если вы продаете какой-то онлайн-сервис (это поможет пропустить страницу с информацией о перевозке).
- Если этот метод вызывается для установки регулярных платежей, обязательно установите L_BILLINGTYPE0 в RecurringPayments и L_BILLINGAGREEMENTDESCRIPTION0 в правильное описание вашего сервиса.
- SetExpressCheckout вернет 20- символьный маркер, однозначно идентифицирующий вашу транзакцию. Этот маркер действителен в течение 3 часов. После его получения перенаправьте пользователя на https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=[TOKEN].
- Пользователь проверит информацию о платеже, и если все правильно, введет идентификационные реквизиты. После этого PayPal перенаправит его на URL, который вы задали в RETURNURL при вызове SetExpressCheckout.
- После того как произошло обращение к RETURNURL, нужно вызвать метод GetExpressCheckoutDetails и просмотреть данные реальной транзакции; проверьте, что все в порядке.
- Осталось лишь завершить транзакцию. В зависимости от того, что вы сделали на шаге 1, есть два варианта действий.
- Для разовых платежей вызовите DoExpressCheckoutPayment и отправьте надлежащие переменные.
- Для регулярных платежей вызовите метод CreateRecurringPayments. Обязательно нужно вставить поле DESC и согласовать его со значением, введенным в L_BILLINGAGREEMENTDESCRIPTION0 при вызове SetExpressCheckout.
В двух словах, вот и все. Были даны примеры кода, следующие ранее указанной последовательности операций в архиве, прикрепленном к этой статье (в папке API). При желании можно использовать мастер интеграции PayPal Express Checkout для генерации стандартного кода.