2013-06-13 4 views
0

Я пытаюсь отправить некоторые данные в службу платежей и вернуть ответ обратно и HttpHandler. Ответ - это форма, которую пользователь заполняет, чтобы внести свой платеж. Это приложение для веб-форм, поэтому я не могу использовать несколько форм (я знаю, что вы можете вообще, но существующий код, над которым я работаю, затрудняет его. У меня есть ссылка на обработчик с идентификатором заказа в querystring.ASP.NET отправка данных в службу платежей с помощью HttpHandler

Я даже не уверен, что то, что я пытаюсь сделать здесь, является хорошей идеей или даже будет работать. Если у вас есть идея, пожалуйста, дайте мне знать. Вот код, который у меня есть до сих пор. :..

using System.Net; 
using System.Text; 
using System.Web; 

namespace Web 
{ 
    public class Begin_invoice : IHttpHandler 
    { 
     public void ProcessRequest(HttpContext context) 
     { 
      var orderNumber = context.Request.QueryString["invoice-numer"]; 

      //todo: get some extra data from local service here 

      var URI = "https://somepaymetservice/start.action"; 

      var data = new StringBuilder(); 

      data.Append("merchant=" + HttpUtility.UrlEncode("666111") + "&"); 
      data.Append("amount=" + HttpUtility.UrlEncode("1") + "&"); 
      data.Append("lang=" + HttpUtility.UrlEncode("sv") + "&"); 
      data.Append("currency=" + HttpUtility.UrlEncode("752") + "&"); 
      data.Append("orderid=" + HttpUtility.UrlEncode(orderNumber) + "&"); 
      data.Append("accepturl=" + HttpUtility.UrlEncode("http://localhost:50113/Complete-invoice.ashx") + "&"); 
      data.Append("test=" + HttpUtility.UrlEncode("1") + "&"); 

      using (var client = new WebClient()) 
      { 
       client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; 
       var response = client.UploadString(URI, data.ToString()); 

       context.Response.Write(response); 
      } 
     } 

     public bool IsReusable 
     { 
      get { return false; } 
     } 
    } 
} 

Очевидная первая проблема заключается все ресурсы на странице оплаты Urls к ресурсам по сравнению с тем, они не будут загружены есть некоторые библиотеки или другие функции, которые могут позаботиться об этом прокси-материале, могу ли я использовать какой-либо заголовок местоположения или что-то в этом роде? лем, связанные?

+1

У меня есть подозрительное подозрение, что вы на неправильном пути здесь. Предоставляет ли провайдер документацию и образцы? Какой это поставщик? –

+0

Это называется dibs.se, все, что я делаю, размещает некоторые данные в форме на странице, размещенной на dibs.se. Если бы я мог использовать обычную форму html на моем конце, все было бы очень легко. У меня есть существующая страница (не сделанная мной) со списком неоплаченных счетов-фактур. Я надеялся, что могу просто добавить простой «счет-фактуру» -link для каждой строки. Поскольку все существующие данные хранятся в форме, требуемой веб-формами asp.net. Но я согласен, что это доставляет ощущение правильного пути. – Pelle

+0

Вы видели это? http://tech.dibspayment.com/10_step_guide/choose_your_method_of_authorization/ Метод 1 выглядит проще. Я также замечаю, что в области загрузок, к которой у меня нет доступа, они предлагают примеры ASP.NET и, если вы хотите пойти с методом 2, .NET DLL. –

ответ

0

В конце концов, я был вынужден реорганизовать мою разметку, чтобы разрешить несколько форм на странице. Как только это было сделано, DIBS api был очень прост в использовании.