检测到不支持的HTTP请求方法

时间:2014-12-20 20:39:07

标签: c# payment

现在我正在使用quickpay处理某些付款到我的网站,当我尝试访问我需要通知我的付款的页面时,这样就出现了错误:

Message Error Detected

An unrecoverable message error has been detected with the following information:

Unsupported HTTP request method detected - please use HTTP POST request

Please correct the problem and re-submit.

当我发送信息发送到他们身边时,我喜欢这个:

HTML

<asp:HiddenField ID="protocol" runat="server" Value="" />
<asp:HiddenField ID="msgtype" runat="server"  />
<asp:HiddenField ID="merchant" runat="server" />
<asp:HiddenField ID="language" runat="server" />
<asp:HiddenField ID="ordernumber" runat="server" />
<asp:HiddenField ID="amount" runat="server" />
<asp:HiddenField ID="currency" runat="server" />
<asp:HiddenField ID="continueurl" runat="server" />
<asp:HiddenField ID="cancelurl" runat="server" />
<asp:HiddenField ID="callbackurl" runat="server" />
<asp:HiddenField ID="autocapture" runat="server" />
<asp:HiddenField ID="md5check" runat="server" />
<asp:Button ID="ButtonBuyNow" OnClick="ButtonBuyNow_Click" runat="server" CssClass="btn pi-btn-base pi-btn-wide pi-uppercase pi-weight-700 pi-letter-spacing" />

当您点击按钮时我会这样:

c#中

protected void ButtonBuyNow_Click(object sender, EventArgs e)
{
    if(CheckBoxGodkend_Handelsbetingelser.Checked)
    {
        Response.Redirect("https://secure.quickpay.dk/form/");
    }
    else
    {
        LabelErrorCheck.Text = "- Husk at acceptere vores handelsbetingelser";
    }
}

通过continueurl和cancelurl以及callbackurl隐藏到我的隐藏中我写了这样的:

string okpage_value = "/PayContinue";
            string errorPage_value = "/PayError";
            string resultpage_value = "/PayCallback";

1 个答案:

答案 0 :(得分:0)

Response.Redirect是一个get请求;您需要设置提交按钮的PostBackURL属性,该属性不会回发到您的站点,而是回传到Quickpay站点。请参阅this reference on MSDN

<asp:button id="paybutton" runat="server"
  text="Pay with QuickPay" 
  postbackurl="..url.." >
</asp:button>

看起来应该有效:http://www.appetere.com/Blogs/SteveM/September-2010/Cross-site-posting-of-form-data-to-an-external-URL