Если вы хотите отладить свой код IPN, вам нужно каким-то образом сделать свой сервер общедоступным. Это сделано для того, чтобы PayPal мог асинхронно отправлять сообщения на ваш сервер позже, после того как вы отправите свой запрос. Обычно это довольно быстро, я думаю (в течение 15 секунд), но может быть и дольше.
Я нашел один простой способ сделать сервер разработки общедоступным — использовать ngrok или forwardhq.com. Это позволяет продолжать разработку в среде IDE, как обычно, запуская код в режиме отладки. Когда PayPal отправляет обратно на вашу конечную точку, вы можете отлаживать ее прямо в своей среде IDE. Эти службы завершают это для вас, поэтому это очень легко сделать без каких-либо технических ноу-хау.
Насколько я понимаю, это делается с помощью «обратного туннеля SSH», который позволяет сделать ваш сайт общедоступным, прокси его через сервер, который уже общедоступен. Обратите внимание: прежде чем сделать это, вы должны учитывать, что не только PayPal может попасть на ваш сайт после того, как он станет общедоступным, но и любой может, поэтому, пожалуйста, примите это во внимание в первую очередь.
Кроме того, если у вас есть собственный общедоступный домен и вы не против поиграть в терминале с SSH, вы можете сделать что-то вроде этого сценария оболочки (скопировано из этого содержания)
# 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"
person
Brad Parks
schedule
17.07.2012