Подтвердить что ты не робот

Могу ли я тестировать paypal api из localhost

ОБНОВЛЕНИЕ 1:

В соответствии с этим руководством по Используя мгновенное уведомление о платеже PayPal с помощью PHP, PayPal не может получить доступ к локально размещенным веб-сайтам, если не открыты определенные порты маршрутизатора. Это потому, что веб-сайт находится около IPN или это верно для всех API-интерфейсов PayPal?

ОРИГИНАЛЬНЫЙ ВОПРОС:

На моем ноутбуке у меня есть настройка среды LAMP, когда я использую http://localhost для создания веб-сайта перед тем, как начать жить.

Для нового проекта мне необходимо использовать API-интерфейсы PayPal. Смогу ли я использовать localhost для тестирования API-интерфейсов PayPal, если я подключу свой ноутбук к Интернету? Или мне придется загружать мой сайт на хост LAMP в другом месте?

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

4b9b3361

Ответ 1

Он должен работать. В прошлом году я сделал интеграцию платежей с paypal, и он работал на localhost без проблем.

Используете ли вы программную среду для разработки PayPal? https://developer.paypal.com/

Ответ 2

Если вы хотите отладить свой IPN-код, вам нужно сделать свой сервер общедоступным. Это значит, что PayPal может асинхронно отправлять обратно на ваш сервер позднее после отправки вашего запроса. Обычно это довольно быстро, я думаю (в течение 15 секунд), но это может быть больше.

Одним из простых способов, с помощью которого я могу открыть доступ к серверу разработки, является использование ngrok или forwardhq.com. Это позволяет вам продолжать развиваться в вашей среде IDE, как обычно, запуская свой код в режиме отладки. Когда PayPal отправляется обратно в конечную точку, вы можете отлаживать его прямо там, в вашей среде IDE. Эти сервисы завершают это для вас, поэтому очень легко обойтись без технических ноу-хау.

По моему мнению, это делается с использованием "обратного SSH-туннеля", который позволяет публиковать ваш сайт, проксимируя его через уже открытый общедоступный сервер. Обратите внимание, что перед тем, как вы это сделаете, вы должны учитывать, что не только PayPal может попасть на ваш сайт после его публикации, но любой может, поэтому, пожалуйста, сначала учтите это.

Кроме того, если у вас есть собственный публичный домен и не против играть в терминале с SSH, вы можете сделать что-то вроде этой оболочки script (скопировано из этого значения)

# Usage: show <local-port> <subdomain>
function show() {
    DOMAIN=".yourdomain.com"
    REMOTE="$2$DOMAIN"
    ssh -tR 1080:127.0.0.1:$1 vps "sudo ssh -Nl \$USER -L $REMOTE:80:127.0.0.1:1080 localhost"
}

Чтобы заставить это работать, как описано выше, вам нужно поместить следующее в ваш файл ~/.ssh/config:

Host vps
    HostName <server address>
    User <server username>

Если вы не хотите (или не можете) сделать это, то будет работать следующее:

SERVERUSER="<server username>"
ssh -l $SERVERUSER -tR 1080:127.0.0.1:$1 <server address> "sudo ssh -Nl \$SERVERUSER -L $REMOTE:80:127.0.0.1:1080 localhost"

Ответ 3

Одно простое решение описано на официальной странице разработчиков PayPal:

developer.paypal.com - Локальное тестирование IPN

Трюк состоит в написании небольшого HTML файла с этим контентом:

<form target="_new" method="post" action="https://www.YourDomain.com/Path/YourIPNHandler.php">

<!-- start example variables: -->

<input type="hidden" name="SomePayPalVar" value="SomeValue1"/>
<input type="hidden" name="SomeOtherPPVar" value="SomeValue2"/>
    
<!-- /end example variables -->

<input type="submit"/>
	
</form>

Ответ 5

Он должен работать без проблем, однако он может быть разборчивым, если вы отправляете "недопустимые URL-адреса" для URL-адресов возвращаемых URL-адресов и IPN-сообщений. Значение, отправив http://localhost/cancelpaypal.php, так как cancelURL может сказать вам, что это недопустимый URL.

Однако я не думаю, что это должно быть.

Чтобы открыть порты маршрутизатора, потребуется только для IPN, потому что перенаправление в нормальном потоке является обычным заголовком "Location:", следовательно, ваш браузер должен иметь доступ к сайту (localhost)

Ответ 6

Ну, это больше всего работает, но также вы можете настроить временную локальную запись dns. Все, что вам нужно сделать, это:

  • откройте /etc/hosts
  • добавить новую запись: yourwebsite.com 127.0.0.1

Итак, когда ваш браузерный запрос для веб-сайта будет извлечен из вашего 127.0.0.1, вам понадобится очистить dns (перезапуск/etc/init.d/nscd).

и все, но не забудьте удалить запись, когда вы будете готовы к производству.

Ответ 7

Чтобы использовать IPN, ваш локальный хост должен быть доступен из Интернета. Одним из решений, которое определенно работает, является использование виртуальной машины, установка VPN-сервера, подключение вашего Clinet через VPN и управление виртуальным хостом для перенаправления на ваш локальный IP-адрес. Таким образом, если вы включите VPN, ваш сервер будет доступен извне, и IPN может быть отправлен.