6

これは、市販のパッケージを使用していない PHP (Zend Framework 1.11) サイトです。要求が次の場合:

https://live.sagepay.com/gateway/service/vspserver-register.vsp

TxType(の付きPAYMENT)、次の応答が得られます。

4020 : Information received from an Invalid IP address.

SagePay の管理エリアにログインし、ライブ サーバーの IP アドレスを有効な IP セクションに追加し、正しい SagePay URL を使用して投稿していることを確認しました。

重要な注意点として、この問題は今朝、支払いが送信される SagePay アカウントをVendor属性を変更して変更したときに始まりました。

更新:この同じアカウント (ベンダー) は、フォーム統合方法の他のアカウントで使用されていますが、問題のサイトはサーバー統合方法を使用していました。個々のアカウントは、このような複数の異なる支払い方法をサポートできますか? それとも、一方を有効にする必要がありますか? これに関連するオプションが管理パネルに表示されません。

4

4 に答える 4

11

SagePay からの返信を受け取った後、次の重要なメモを見つけました。

  • 設定を変更したり何かを登録したりする必要なく、同じベンダーのアカウントでフォーム/サーバー/直接統合を交換可能に使用できます
  • 4020 エラーは IP 制限エラーであり、別のエラーを偽装しているわけではありません

ここでの問題は、VPS 上にある Web サーバー (www.mysite.com) の IP アドレスが、要求が行われたときに使用されたものと同じではないことが判明したことです。curlIPを自分にメールで送信するテストPHPページを作成し、$_SERVER['REMOTE_ADDR']別のサーバーに配置しました。次に、curlそのスクリプトを取得して低くすると、それが別の IP であることがわかりました。Valid IPsこれを My SagePay コントロール パネル (管理者アカウントでログイン)のセクションに (ゼロ パディング バージョン)入れると、すぐに動き出しました。

アップデート

以下を使用できます。

curl icanhazip.com

そのようです:

[user@host ~]# curl icanhazip.com
177.12.41.200

ファイルやすべてのマラーキーをアップロードする代わりに、Web サイトをホストしているサーバーのコマンドラインから、使用する正しい IP を表示します。詳細と使用方法はこちら.

于 2013-07-16T11:03:55.090 に答える
5

SagePay コントロール パネルに IP アドレスを追加する必要があります。

その他の提案:

  • www.whatismyip.com で IP アドレスを再確認し、追加したものを比較できます。
  • アドレスを追加してからアドレスが変更されていないことを確認してください (例: 動的アドレス指定がある場合)。
  • Apache ユーザーが別の IP アドレスを使用するように構成されているかどうかを確認します。
于 2013-09-20T15:47:32.010 に答える