Разное

Принимаем платежи при помощи PayPal: о чем нужно помнить продавцу

Joomla
Добавление в избранное
Сохранить
PayPal и PayPlans - о чем нужно помнить марчанту

В данной статье я опущу нудное описание процедуры получения верифицированного аккаунта мерчанта PayPal, и сосредоточусь, непосредственно, по на моментах, важных для девелопера.

Итак, для организации приема платежей мы выбрали компонент PayPlans, который имеет достаточно гибкую расширяемую систему плагинов и отлично себя зарекомендовал. Вы можете использовать альтернативные компоненты, суть от этого не меняется.

Поскольку прием платежей посредством PayPal мы настраивали впервые, то хотел бы рассказать о важных моментах, которые будет полезно знать коллегам.

Совет первый: используйте песочницу PayPal для тестовых платежей

Обязательно заведите тестовый аккаунт для тестирования sandbox режима ("песочница"): https://developer.paypal.com/webapps/developer/applications/accounts В качестве тестового аккаунта нужно указать e-mail, поэтому не перепутайте с вашим основным e-mail, который используется для приема платежей или добавьте к нему префикс типа Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.. Нужно завести два тестовых аккаунта - продавца и покупателя.

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

Совет второй: отключайте .htpasswd при тестировании PayPal

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

Казалось бы, запаролировали вход на фронт, сохранили в кукис и можно спокойно работать. Не тут то было! Во время тестирования песочницы PayPal мы долго не могли понять, почему платеж проходит успешно, а пользователь и его тарифный не активируются. То есть, оплатив подписку, пользователь не мог авторизоваться, хотя его учетная запись должна быть активирована.

Выяснилось, что причина кроется именно в .htpasswrd. На момент тестирования песочницы, просто отключите паролирование фронта и проблемы с активацией юзеров не будет.

Совет третий: настройка параметра Instant Payment Notification Preferences

Работа над вашим проектом клуба расширений / шаблонов завершена, сайт вылизан и с помпой запущен. :-) Вы отключили тестовый режим, указали свой логин мерчанта PayPal и с большим вожделением ожидаете первый настоящий заказ. Мы столкнулись со следующей проблемой:

Первая покупка. На e-mail пришло три письма:

1. Стандартное сообщение регистрации нового пользователя;

2. Error Log с ошибкой

Error Log Details-

  • Message: Error Occurred in Paypal Payment Process
  • Record Id: 86
  • Record Type: PayplansPayment
  • 0: Invalid Paypal Receiver Email

3. Сообщение от PayPal об успешном зачислении денег на счет.

То есть, сперва приходит error_log, уведомляющий об ошибке, а в следующем письме сообщается об успешном зачислении средств. При этом, вы как мерчант денежные средства получили, а учетная запись клиента не активирована. Представьте реакцию: человек успешно оплатил покупку, но не имеет доступа на сайт. Подобную ситуацию необходимо исключить.

Причина до банальности проста: необходимо в личном кабинете мерчанта PayPal заполнить параметр Instant Payment Notification Preferences, прописав URL для т.н. callback.

Шаги для настойки IPN:

  • Авторизуйтесь в системе PayPal под аккаунтом продавца;
  • В закладке “My Account” нажимите на “Profile”;
  • В столбце “Selling Preferences” нажмите на “Instant Payment Notification Preferences”;
  • Нажмите “Choose IPN Settings” в поле “Notification URL” и вставьте URL своего сайта (например: http://www.mysite.com/index.php?option=com_payplans&view=payment&task=notify);
    (это для PayPlans, если используете другой компонент, нужна соответствующая ссылка!)
  • Выберите опцию “Receive IPN messages (Enabled)” для включения вашего IPN;
  • Нажмите на кнопку “Save”. Готово.

Приведен пример с пользовательским интерфейс на английском языке, но вам не должно составит труда разобраться в русском интерфейсе и найти аналоги.

После осуществления данных действий, система будет настроена правильно.

Eugene Sivokon
Предприниматель, менеджер проектов, Joomla-энтузиаст. Занимаюсь созданием сайтов с 2002 года. Координатор нескольких Joomla проектов. Обожаю путешествовать, интересуюсь историей и изучаю иностранные языки.

Подпишитесь на рассылку новостей CMScafe