0

約 10 個のフィールドを Realex 支払い処理サーバーに渡す Webforms を使用して構築したソリューションがあり (リダイレクト メソッドを使用します)、そこではすべて正常に動作します。私は MVC を初めて使用し、現在 Web フォームでセットアップしているのと同じ機能を MVC を使用して配置しようとしています。私の Webforms ソリューションでは、ボタンクリック イベント ハンドラーとポストバック URL を使用して、Realex に渡す必要があるデータを収集し、URL はポストバックで管理されます。

MVC を使用すると、イベント ハンドラーまたはポストバック URL 宣言を使用していないようです。または、使用する場合はフォームにポストバックすることしかできませんが、データを外部 Web サイトにポストする必要があります。

そのため、私の MVC コントローラーでは、Realex に渡そうとする値を (テスト目的で) ハードコーディングしました。

上記の最後の行 (Return Redirect) は、Realex ページに移動します (クレジット カードの詳細を入力するためのボックスは表示されませんが、代わりに「無効な MerchantID またはアカウント番号です」という 506 エラーが返されます)...

私は Realex を利用していますが、アカウント ID や注文番号など、私がサーバーに渡そうとしている上記のデータを見ることができると彼らは言っています。

これを適切に投稿するためだけに、ビュー内でこの方法を試してみました:

    <input id="ORDER_ID" name="ORDER_ID" type="hidden" value="6264286038162642860381" />
    <input id="ACCOUNT" name="ACCOUNT" type="hidden" value="XXXXXXXXX" />
    <input id="AMOUNT" name="AMOUNT" type="hidden" value="100" />

/>

しかし、フォームフィールドをコントローラーに接続する方法がわかりません。ここではまだ「Webフォーム」を考えていて、MVCについては考えていません。MVCの経験がほとんどなく、移行を見つけているからです。私よりも難しいMVCへ。

これについて何か助けてくれてありがとう...

4

1 に答える 1

0

私はあなたがこのようなものが欲しいと思います.もっとエレガントな解決策があると確信していますが、これはうまくいくはずです.

 public ActionResult ShoppingCart(decimal _TotalPriceBox = 1)
 {
    //After populating your shopping cart model

    ViewBag.MerchantId = My_Cart.MYUSERIDSTRING;
    ViewBag.Account = My_Cart.ACCOUNT;
    ViewBag.OrderId = My_Cart.ORDER_ID;
    ViewBag.Amount = My_Cart.AMOUNT;
    //Rest of needed properties
    return View()
  }

次に、ビュー内のフォームで

<form action="https://epage.payandshop.com/epage.cgi" method="post">
  <input id="ORDER_ID" name="ORDER_ID" type="hidden" value="@ViewBag.OrderId" />
  <input id="ACCOUNT" name="ACCOUNT" type="hidden" value="@ViewBag.Account" />
  <input id="AMOUNT" name="AMOUNT" type="hidden" value="@ViewBag.Amount" />
  //Rest of inputs needed
  <input type="submit" value="send" />
 </form>
于 2014-08-16T13:02:11.507 に答える