Pull to refresh

Тестирование PayPal Direct Recurring Payments. Проходилка квеста

Reading time2 min
Views9.1K
Если Вы собираетесь прикручивать на сайте поддержку оплаты через PayPal, а точнее Website Payments Pro (WPP), а точнее Direct Recurring Payments, то скорее всего вы уже ознакомились с документацией от самого сервиса: Integrating Recurring Payments.

Но если Вы раньше не прикручивали именно этот тип платежей, то Вы, наверняка, ещё не подозреваете о некоторых особенностях его тестирования.

Вообще, для тестирования оплаты через PayPal существует песочница, пользоваться которой довольно просто — надо всего лишь зарегистрироваться на https://developer.paypal.com, затем создать тестовый аккаунт. В данном случае, создавать аккаунт проще методом «Create a preconfigured account», выбрать надо Account Type = Website Payments Pro (WPP), остальное по желанию. И вуаля — на странице Test Accounts у Вас появится аккаунт продавца для WPP.

Но мы то помним, что нам нужен именно Direct Recurring Payments WPP, поэтому логинимся продавцом на https://www.sandbox.paypal.com и заходим в его профиль.

Здесь нам нужны 2 вещи:
1) ссылка «Request API credentials», перейдя по которой выбираем «Option 1» >> ссылка «Set up PayPal API credentials and permissions». А затем «Option 2» > ссылка «View API Signature». С этой страницы сохраняем себе: API Username, API Password, Signature, что соответствует параметрам USER, PWD, SIGNATURE в запросах к PayPal API (подробнее см. документацию).

2) ссылка «Instant Payment Notification preferences», перейдя по которой и нажав кнопку «Choose IPN Settings», можно установить URL вашего слушателя сообщений от PayPal. (зачем это нужно, можно узнать там )

И вот Вы, воодушевившись, пишите свою форму для приёма платежей от пользователя, и отправив первые тестовые запросы на PayPal получаете мессагу типа:

DPRP Is Disabled For This Merchant

Чешете затылок, перепроверяете все параметры, пароли, урлы и снова получаете «DPRP Is Disabled For This Merchant». Трёте виски и гуглите по этому поводу в интернетах, и возможно натыкаетесь на инструкции типа этих. Но то, что Вам в таком положении действительно требуется, так это вот эта ветка форума PayPal developer network.
Потому что по каким то необъяснимым причинам, сервис PayPal считает нормальным не фиксить этот баг как минимум с февраля 2010 года. Вместо этого пэйпаловцы добрадушно предлагают писать в эту ветку мыло тестового аккаунта-WPP, чтобы каким-то хитрым образом (недоступным простым смертным) включить вам эти самые DPRP.

Итак, если требуется, то регистрируемся, и затем пишем что то типа:
Hi,
I'd like my test account to be enabled for DPRP:
<имя вашего юзера>
Thanks!

И ждём около суток (ну или как повезёт в зависимости от Вашего часового пояса, календарных праздников и настроения модераторов)

Получив заветное:
Hi <Ваш ник>,
DPRP is already enabled for your account.

от юзера со значком PayPal X в его профиле (слева),

можно наконец начинать интеграцию Website Payments Pro, Direct Recurring Payments.

Ах, да и ещё небольшой момент: после создания профиля (CreateRecurringPaymentsProfile) обязательно проверьте его статус (через GetRecurringPaymentsProfileDetails), велика вероятность, что статус в ответе на первый запрос будет не совсем корректным.

Надеюсь, что сей небольшой очерк сэкономит хорошим, читающим хабр людям один-два дня времени и пучок нервов :)
Tags:
Hubs:
+22
Comments19

Articles

Change theme settings