2

サイトの支払いページを設定しています。最初に単純なショッピングカートの子供を完成させ、次にユーザーが「送信」をクリックすると、トランザクションデータを外部のクレジットカード処理サイトに POST し、ユーザーをリダイレクトする必要がありますそのサイト。そこにクレジット カードの詳細を入力すると、サイトは承認または拒否されて、私にリダイレクトされます。

問題は、MVC インターフェイスに、POST アクションでリダイレクトできるものが何も表示されないことです。このRedirect()メソッドは GET を使用します (これはサードパーティのサイトでは機能しません)。を使用してプログラムによる投稿を試みましたWebClient.UploadValues()が、その文字列から戻ってきて、ユーザーに提示できる文字列が返されContent()ますが、そのフォーム内のリンクは、CC 処理サイトに関連しているはずですが、代わりに次のように解釈されます。私のサイトと比較して、それは私には役に立ちません。

どうすればいいですか?

4

2 に答える 2

5

投稿を使用してリダイレクトすることはできません。

ただし、これを行うことができます:

  • ポストを受け取り、それに何かをする
  • 処理されたデータを含む非表示フィールドで満たされたフォームを含むビューをユーザーに返します
  • JavaScript を使用してフォームを自動的に送信する (CC プロバイダーで投稿アクションを設定する)
  • ユーザーが CC プロバイダーにアクセスする
  • ユーザーがサイトに戻る

編集 - jQuery を使用して、フォーム ID ccform を使用してフォームを投稿し、アクションを cc プロバイダーの URL に設定し、隠しフィールドを次のようにします。

$.ready(function() { $('#ccform').submit(); });
于 2012-04-23T19:03:41.247 に答える
0

クレジット カード処理プロバイダーによって、メカニズムが異なる場合があります。通常、GET を URL パラメーターと共に使用し、それを使用してセッションにデータを入力し、クレジット カード情報を収集するフォームにリダイレクトするか、より可能性が高いのは、チェックアウト ページのアクションとしてその URL を使用することです。サイトに直接投稿されるようにします。メカニズムはサポート対象によって異なるため、プロバイダーのドキュメントと例を確認してください。

于 2012-04-23T18:51:20.333 に答える