Я пытаюсь внедрить PayPal на своем веб-сайте.
Я использую этот класс: http://www.micahcarrick.com/php-paypal-ipn-integration-class.html
Сейчас я тестирую тестовую программу PayPal.
Вот проблема:
Я не знаю, почему IP-адрес PayPal переадресовывает с состоянием платежа в ожидании?
Кто-нибудь знает, что я делаю неправильно?
Когда вы войдете в свою тестовую бизнес-учетную запись, вручную перейдите к:
https://www.sandbox.paypal.com/ca/cgi-bin/?cmd=_profile-pref&source=acct_setup&fli=true
Вы, как правило, сможете добраться туда, выполнив «Мой бизнес-настройку», но в настоящее время он перенаправляет на PayPal в прямом эфире (несмотря на то, что он находится в песочнице).
Когда вы на этой странице, измените «Блокировать платежи, отправленные мне в валюте, которую я не держу», чтобы «Нет, принять их и преобразовать в …»
Кроме того, не забудьте подтвердить свой бизнес-аккаунт, используя интерфейс API-интерфейса PayPal Sandbox и «Test Email» в API.
Моя проблема заключалась в том, что мой торговый счетчик песочницы был сделан как британский пользователь (и GBP в качестве валюты). Когда я попытался пройти заказы в датской кроне (DKK), это скажет мне, что покупка была «невостребованной» в представлении продавца. Как только был принят один заказ в DKK, и я решил создать новую валюту в DKK, IPN отправил мне все сообщения «payment_status = completed».
После решения этой проблемы немного и PayPal меняет пользовательский интерфейс,
Вот точные инструкции технической поддержки PayPal Merchant :
Благодарим вас за обращение в службу технической поддержки Merchant.
Попробуйте выполнить приведенные ниже инструкции, чтобы отключить функцию просмотра платежей для вашей учетной записи Sandbox:
!!! Убедитесь, что вы делаете это на своей PayPal SandBox Merchant Account !
& То, что это выглядит:
Вы можете решить эту проблему с помощью следующей инструкции.
Войдите в свой Центр разработчиков.
Нажмите вкладку «Проверить учетные записи» слева. Вы должны были создать эти тестовые учетные записи для тестирования на Sandbox.
Найдите столбец «Обзор платежей».
Найдите учетную запись песочницы, которую вы используете, и нажмите «Включено» в столбце «Обзор платежей».
Это должно измениться на «Отключено», и теперь платежи, полученные с вашего баланса, и кредитная карта будут завершены мгновенно.
Две возможные причины:
1. У продавца есть возможность принять или отклонить платеж
В этом случае вам необходимо войти в систему как продавец и принять оплату, и вы получите еще один IPN с помощью payment_status = Completed
шаги:
2. Просмотр платежей включен
Решение:
Это должно измениться на «Отключено», и теперь платежи, полученные с вашего баланса, и кредитная карта будут завершены мгновенно.
Я изменил « Allow payments sent to me in a currency I do not hold
Yes
во всех учетных записях пользователей в «песочнице», но она все еще не работает.
Я также попытался создать те же самые валюты в форме PayPal, и для учетных записей пользователей песочницы здесь. Создание новой валюты первичной. Преобразование денег в новую валюту. Все еще нет успеха.
Затем я заметил последнее предложение ответа Уэса Хэнни: «Подтвердите свой бизнес-аккаунт, используя интерфейс PayPal Sandbox». Попытка этого тоже не сработала.
MGPalmer предложил в своем ответе создать немецкий торговый счет. Не работает.
Какая хлопот!
Через час, когда я был близок к тому, чтобы вытащить компьютер из окна, я понял, что забыл одно. Изменение моего адреса электронной почты получателя в форме PayPal на адрес электронной почты продавца песочницы. Это решило это для меня.
PS: Может быть, ошибка глупого новичка? Но может быть полезно для других, сталкивающихся с той же ситуацией.
У меня была та же проблема, и ни одно из предложений здесь не работало. Тогда я понял, что проблема заключается в том, что я пытался сделать платеж с учетной записи в виде песочницы на активную учетную запись. Например, если ваша зарегистрированная учетная запись: email@example.com
то все платежи в виде песочницы должны быть email-facilitator@example.com
по email-facilitator@example.com
иначе они попадут в режим PENDING.
Аналогичная проблема здесь – мой торговый счетчик (sandbox) был создан как в США, и я пытался делать платежи в евро.
Для меня неважно, какие настройки я изменил, он работал только после создания новой торговой учетной записи в Германии.
Никакие решения выше не работали для меня, но помогли мне найти решение.
Если вы используете учетную запись по умолчанию и покупателя, возможно, это решение будет работать для вас.
Перейдите в developer.paypal > sandbox.accounts
https://developer.paypal.com/developer/accounts/
Войдите в систему и нажмите значок клона в своем бизнес-аккаунте sandobx и учетной записи покупателя.
Установите новые имена и электронные письма и нажмите « Создать новую учетную запись».
Откройте профиль обеих учетных записей и убедитесь, что Payment Review выключен
Измените целевую учетную запись в коде / приложении и разместите новую учетную запись
Повторить транзакцию с использованием новой учетной записи покупателя
Это решение не только решило мою проблему. Благодаря этому дизайн sandox.paypal изменился на новый дизайн, который использует реальные учетные записи .
Это важно, потому что некоторые данные, полученные IPN в этом случае, могут отвечать на другое имя.
Решение – это то, что @Jadeye объясняет:
Перейти на сайт разработчика PayPal
Вам еще нужно проверить:
Сделайте так, чтобы языковая кодировка вашей учетной записи PayPal была установлена в UTF-8. В некоторых случаях по умолчанию установлено значение «windows-1256». Чтобы изменить его на UTF-8, вам необходимо:
Каждой учетной записи Paypal, которую я установил в Германии, по умолчанию была установлена кодировка «windows …». Затем IPN не будет работать с веб-сайтом с кодировкой UTF-8, даже в Woocommerce или EDD или эспрессо события.
Проблема в том, что если валюта отсутствует в вашей торговой учетной записи PayPal, будет помечена как «невостребованная», поэтому она возвращает статус «ожидающий»,
Вам нужно нажать на статус «невостребованный», потребовать сумму, а также выбрать опцию, открывающую новую линию фонда в валюте, которую вы требуете, например EUR. Это откроет Euro-депозитную линию на вашем счете PayPal, а затем проверит заявленную транзакцию и будущие.