В данной статье я опущу описание процедуры получения верифицированного аккаунта мерчанта PayPal, и сосредоточусь, непосредственно, на моментах, важных для интегратора.
Итак, для организации приёма платежей нужно использовать такую ecom платформу, которая имеет достаточно гибкую расширяемую систему плагинов и отлично себя зарекомендовала. Вы можете использовать альтернативные компоненты, суть от этого не меняется.
Поскольку приём платежей посредством PayPal мной настраивается уже не первый раз, то я поделюсь информацией о важных моментах, которые сэкономят вам время при настройке этого способа оплаты.
Обязательно заведите тестовый аккаунт для тестирования sandbox режима («песочница»): https://developer.paypal.com/developer/applications/
В качестве тестового аккаунта нужно указать e-mail, поэтому не перепутайте с вашим основным e-mail, который используется для приёма платежей или добавьте к нему префикс типа
Очень важно опробовать в тестовом режиме процедуру покупки пользователем и проверку зачисления виртуальных средств на счет мерчанта. Ни в коем случае не пренебрегайте этим, поскольку клуб, на котором продаются расширения или шаблоны, должен работать как часы.
Во время работы над проектом, мы закрыли фронтальную часть при помощи .htpasswd, поскольку это было наиболее удобным решением, так как нужно было тестировать сайт не только авторизованным пользователем, но и гостем и избежать случайного индексирования полига поисковой системой или визита постороннего человека.
Казалось бы, запаролировали вход на фронт, сохранили в кукис и можно спокойно работать. Не тут то было! Во время тестирования песочницы PayPal мы долго не могли понять, почему платеж проходит успешно, а пользователь и его тарифный не активируются. То есть, оплатив подписку, пользователь не мог авторизоваться, хотя его учетная запись должна быть активирована.
Выяснилось, что причина кроется именно в .htpasswd. На момент тестирования песочницы, просто отключите паролирование фронта и проблемы с активацией юзеров не будет.
Итак, вы запустили Интернет-магазин, отключили тестовый режим, указали свой логин мерчанта PayPal и с большим вожделением ожидаете первый настоящий заказ. Однако есть ньюансы. В своё время мы столкнулись со следующей проблемой:
Первая покупка. На e-mail пришло три письма:
Письмо второе. Error Log с ошибкой
Error Log Details-
Письмо третье. Сообщение от PayPal об успешном зачислении денег на счет.
То есть, сперва приходит error_log, уведомляющий об ошибке, а в следующем письме сообщается об успешном зачислении средств. При этом, вы, как мерчант, денежные средства получили, а учетная запись клиента не активирована. Представьте реакцию: человек успешно оплатил покупку, но не имеет доступа на сайт. Подобную ситуацию необходимо исключить.
Причина до банальности проста: необходимо в личном кабинете мерчанта PayPal заполнить параметр Instant Payment Notification Preferences, прописав URL для т.н. callback.
Приведён пример с пользовательским интерфейс на английском языке, но вам не должно составит труда разобраться в русском интерфейсе и найти аналоги.
После осуществления данных действий, система будет настроена правильно.