1

私はJavaでWebアプリケーションをやっていて、paypal APIを使いたいです。私のアプリは、インターネット以外のApacheによって私のマシン(ローカルホスト内)で実行されています。myproject@gmail.com など、paypal.developper にアカウントを作成しました。いくつかのサンドボックス アカウント (バイヤー: buy@gmail.com、およびビジネス セラー myproject-facilitator@gmail.com) を作成し、いくつかのテストを実行したところ、すべて正常に動作しました。

私の問題: PDT (Payement Data Transfer) または IPN (即時支払い通知) を構成できません。

Paypal プロファイル - 販売ツール - ウェブサイトの設定に移動しました。auto Return : ON、PDT:ON をクリックし、return url :http://127.0.0.1/myproject/prenotationIsDone.jsp 保存すると、ID トークンが表示されます。

いくつかのテストを実行すると、自動リターンすら行われず、サンドボックスアカウントでテストを行ったときと同じように支払いが行われます。

私はこのようなことをします:

  <form name="paypalForm" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">  
<input type="hidden" name="cmd" value="_xclick" />
     <input type="hidden" name="business" value="myproject@gmail.com" />

     <input type="hidden" name="custom" value="1123" />
     <input type="hidden" name="item_name" value="Camera" />
     <input type="hidden" name="amount" value="20"/>
     <input type="hidden" name="rm" value="1" />
     <input type="hidden" name="return" value="http://127.0.0.1/myproject/prenotationIsDone.jsp" />
     <input type="hidden" name="cancel_return" value="http://127.0.0.1/myproject/cancel.jsp" />


           <input type="submit" value="Continua! "/>

メールをサンドボックス ビジネス メール: myproject-facilitator@gmail.com に変更しても同じです。オートリターンなしでPDTを使用して支払いを行うだけです。

jsp ファイルには、次のような行があります。

Enumeration en = request.getParameterNames();

while(en.hasMoreElements()){
String paramName = (String)en.nextElement();

out.println("parameters"+ paramName);
}

もちろん、PDT が機能しないため、tx のようなパラメーターはありません。これを修正する方法はありますか?

そして2番目の問題:IPN(およびPDTもですが、PDTについてはわかりません)がローカルサーバーで機能しないことがわかりました。これは、ネットの外部から見る必要があるためです。どうすればこれを修正できますか? この手順を試してみましたが、何か間違ったことをしたと思います。最初に、Apache のポートをデフォルトの 8080 からポート 80 に変更しました。NAT で router に移動し、外部 IP でポート 80 をポートフォワードしました。 ( の 1 つwww.whatismyip.com)。たとえば、次のようになります。 198.122.141.2 ブラウザ 198.122.141.2:80/myproject/index.jsp で試してみると、何も表示されないか、オブジェクトが見つからないと表示されます。それでも、動的IP、dydns、またはnoipを設定しようとしましたが、myproject.ns0.it/myproject/index.jspのいずれかになり、何も表示されません。

この問題を解決する方法を教えてください。または、ローカル サーバーでペイパルの支払いを確認する他の方法はありますか。お時間をいただきありがとうございます。私の英語で申し訳ありません

4

1 に答える 1