Skip to main content

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

Принимаем платежи при помощи PayPal: о чем нужно помнить продавцу
Принимаем платежи при помощи PayPal: о чем нужно помнить продавцу
Дата обновления: 13 августа 2023
Дата обновления: 13 августа 2023

Вступление

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

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

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

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

1. Используйте песочницу PayPal для тестовых платежей

Обязательно заведите тестовый аккаунт для тестирования sandbox режима («песочница»).

В качестве тестового аккаунта нужно указать e-mail, поэтому не перепутайте с вашим основным e-mail, который используется для приёма платежей или добавьте к нему префикс типа Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.. Нужно завести два тестовых аккаунта — продавца и покупателя.

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

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

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

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

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

3. Настройка параметра Instant Payment Notification Preferences

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

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

  • Письмо первое. Стандартное сообщение регистрации нового пользователя;
  • Письмо второе. Error Log с ошибкой

    Error Log Details-

    • Message: Error Occurred in Paypal Payment Process
    • Record Id: 86
    • Record Type: PayplansPayment
    • 0: Invalid Paypal Receiver Email
  • Письмо третье. Сообщение от PayPal об успешном зачислении денег на счет.

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

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

4. Шаги для настойки 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”. Готово.

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

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


Title

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.