0

支払いトランザクションが発生する Web アプリケーションがあります。

申請の流れ

ユーザーはアプリケーションを開き、支払いボタンをクリックします。ここで、要求を Payment Gateway プロバイダー (ICICI、EBS、PayPal など) にリダイレクトします。これで、支払いゲートウェイ プロバイダーのページが私の Web サイトに表示されます。これで支払いプロセスが完了し、支払いゲートウェイ プロバイダーが応答を私のアプリケーション (JSP ページ) に投稿します。応答をキャプチャした後、要求を処理します。

私の要件

JSP を呼び出すときに、ICICI、PayPal、または EBS サーバーの IP アドレスを知るにはどうすればよいですか。私が呼び出すrequest.getRemoteAddr()と、クライアントのIPアドレスが提供されます。ペイメントゲートウェイサーバーのIPアドレスを知りたいです。

プロバイダーは、データを POST ではなくGETとして投稿しています。ここでは、実際の支払いゲートウェイ プロバイダーについては言及しませんでした。

4

2 に答える 2

2

一般に、支払いプロバイダーの助けなしにこれを知ることができるのは、次の場合のみです。

  • あなたとプロバイダーの間にプロキシはありません。
  • プロバイダーが HTTP POST (または同様のもの) を直接あなたに送信します

その場合ServletRequest.getRemoteAddr()、プロバイダーのアドレスを提供する必要があります。

代わりにクライアント ブラウザのアドレスを取得した場合、おそらくプロバイダはPOST を直接送信せず、代わりにクライアント ブラウザに送信するように指示します (ほとんどの場合 Javascript を使用します)。その場合、プロバイダーが送信したアドレスを見つける方法はありません。


いずれにせよ、なぜ支払いプロバイダーの IP アドレスを知る必要があるのでしょうか? 自分でプロバイダーにリダイレクトするので、既にアドレスを取得していますね。

あなた、クライアント ブラウザ、支払いプロバイダーの間のデータ フローと、プロバイダーの IP アドレスを知りたい理由を詳しく説明していただけないでしょうか? たぶん、私たちはもっとうまく助けることができます。

于 2013-06-24T08:35:30.907 に答える