我的雇主有一个他想要改变的申请。应用程序本身用于处理支付信息,它是一个桌面应用程序。
几乎只是放在我的腿上。使用的前API是Authorize.Net处理信用卡的东西,现在他正在切换到PayPal API。
虽然这对他来说可能很棒,但对我来说这很糟糕,因为我的网络开发经验几乎为零。我正努力将其作为桌面应用程序保留,但我所见过的所有内容都尖叫“ASP.NET ASP.NET ASP.NET”,据我所知,ASP.NET适用于Web应用程序。
有什么方法可以在Windows窗体应用程序中执行此操作吗?对于如何在C#.Net WinForms桌面应用程序中实现PayPal API,是否有一步一步的毫无根据?
答案 0 :(得分:2)
您必须实施一项Web服务才能与PayPal API进行通信。但是,您可以从Winforms应用程序中调用Web服务。试试这个StackOverflow问题并回答:
Call webservice in windows application
此外,您所看到的引用应该是ASP.Net,它与ASP不同,ASP是Active Server Pages,是旧技术。
答案 1 :(得分:1)
所以事实证明我让它变得比它需要的更复杂。虽然在Authorize.net需要做之前,PayPal实际上需要(为了我们的目的,你的里程可能会有所不同)除了设置你的东西之外没有任何东西。它只需要将一些格式正确的信息发布到网址:
sUrl = "https://pilot-payflowpro.paypal.com"
WebRequest request = WebRequest.Create( sUrl );
request.Method = "POST";
string PostData =
"USER=/*User*/" +
"&VENDOR=/*Vendor*/" +
"&PARTNER=PayPal" +
"&PWD=/*PassWord*/" +
"&TRXTYPE=S" +
"&TENDER=C" +
"&ACCT=/*CC#*/" +
"&EXPDATE=/*CC Expiration Date*/" +
"&CVV2=/*CCV Code*/" +
"&AMT=/*Order Amount*/" +
"&FIRSTNAME=/*First Name*/" +
"&LASTNAME=/*Last Name*/" +
"&STREET=/*Address Street*/" +
"&CITY=/*Address City*/" +
"&STATE=/*Address State*/" +
"&ZIP=/*Zip Code*/" +
"COMMENT1=/*Any Comment*/";
byte[] bar = Encoding.UTF8.GetBytes( PostData );
request.ContentLength = bar.Length;
using ( Stream datStream = request.GetRequestStream( ) ) {
datStream.Write( bar, 0, bar.Length );
datStream.Close( );
}
string serverResponse;
WebResponse wResp = request.GetResponse( );
using ( Stream datStream = wResp.GetResponseStream( ) )
using ( StreamReader datSReader = new StreamReader( datStream ) )
serverResponse = datSReader.ReadToEnd( );
this.Response = HttpUtility.ParseQueryString(serverResponse);
IsSuccess = this.Response.Get( "RESULT" ) == "0";
if ( !IsSuccess ) MessageBox.Show( "RESULT != 0: RESULT = " + this.Response.Get( "RESULT" ) );
return IsSuccess;
此代码在更改之前的形式直接来自PayPal的人员,并且通过Windows窗体应用程序管理事务变得更加容易。