IPN コードをデバッグする場合は、何らかの方法でサーバーを公開する必要があります。これは、お客様がリクエストを送信した後で、PayPal がお客様のサーバーに非同期でポストバックできるようにするためです。通常、これはかなり速い (15 秒以内) と思いますが、それよりも長くなる可能性があります。
開発用サーバーを公開する簡単な方法の 1 つは、このリストにある、boringproxyなどのトンネリング ソリューションを使用することです。これにより、デバッグ モードでコードを実行して、通常どおり IDE で開発を続けることができます。PayPal がエンドポイントにポストバックすると、IDE ですぐにデバッグできます。これらのサービスがこれをまとめてくれるので、技術的なノウハウがなくても非常に簡単に行うことができます。
私の理解では、これは「リバース SSH トンネル」を使用して行われます。これにより、既に公開されているサーバーを介してサイトをプロキシすることでサイトを公開できます。これを行う前に、サイトが公開されると PayPal だけでなく、誰でもアクセスできることを考慮する必要があることに注意してください。そのため、最初にそれを考慮してください。
また、独自の公開ドメインを持っていて、SSH を使用してターミナルで遊んでもかまわない場合は、おそらくこのシェル スクリプトのようなことを実行できます (この gist からコピー) 。
# 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"