0

デスクトップ アプリケーションで C# の Web ブラウザー コントロールを使用して、ゲートウェイ経由でクレジット カードを実行しています。

簡単に言えば、フォームの読み込み時にページを読み込みます。

public Form1()
{
  InitializeComponent();

  webBrowser1.Url = new Uri("https://paymentgateway.com/hosted.aspx?" +
                            "Username=dddd" +
                            "&Password=dddd" +
                            "&MerchantKey=5159" +
                            "&BillingAddress1=123 some street" +
                            "&BillingCity=Somewhere" +
                            "&BillingState=SC" +
                            "&BillingZip=39399" +
                            "&CustomerName=me" +
                            "&Amount=392.00" +
                            "&InvNum=123567" +
                            "&AccountNumber=0133333" +
                            "&CustomerId=0199999");


}

(セキュリティ上の理由から、すべての参照が変更されました)

ページは次のようになります。

ポータル

私の質問は、[プロセス] ボタンをクリックしてフォームを閉じると、どのように応答を取得するのですか? それが承認されたかどうか、およびその時点からの残りの情報を知る必要があります。

ボタンを制御できないため、応答をキャプチャする方法がわかりません。

再度、感謝します!

4

2 に答える 2

2

DocumentCompletedイベントにサブスクライブし、Document、DocumentText、または DocumentStream を介してそこで応答を処理する必要があるようです。

次に、出力が何であるかに応じて適切に反応します。例えば:

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
  HtmlDocument document =  webBrowser1.Document;
  //now use any of the methods exposed by HtmlDocument to parse the output
}
于 2012-04-18T15:55:19.537 に答える
0

フォームでは、パブリック メソッドを作成して、フォームを呼び出した場所からアクセスできる情報を取得できます。次のように、dialogResult == DialogResult.OK でこのメソッドを呼び出すことができます。

        object your_info;

        Form1 form1 = new Form1();
        if (form1.DialogResult == DialogResult.OK)
        {
            your_info = form1.getInfo();
        }
于 2012-04-18T15:50:40.633 に答える