C# c语言中Web服务器上的自适应支付异常#

C# c语言中Web服务器上的自适应支付异常#,c#,paypal,paypal-adaptive-payments,C#,Paypal,Paypal Adaptive Payments,我正在Paypal中的Adaptive Payments中开发延迟链接支付模块。我正在使用AdaptivePaymentsCoreSdk,它在本地主机和一台web服务器上运行良好。一切顺利。但当我将应用程序部署到另一台服务器而不是Service.Pay时,我遇到了一个例外。例外情况如下:- PayPal.Exception.ConnectionException: Invalid HTTP response The underlying connection was closed: An un

我正在Paypal中的Adaptive Payments中开发延迟链接支付模块。我正在使用AdaptivePaymentsCoreSdk,它在本地主机和一台web服务器上运行良好。一切顺利。但当我将应用程序部署到另一台服务器而不是Service.Pay时,我遇到了一个例外。例外情况如下:-

 PayPal.Exception.ConnectionException: Invalid HTTP response The underlying connection was closed: An unexpected error occurred on a receive.
   at PayPal.HttpConnection.Execute(String payLoad, HttpWebRequest httpRequest)
   at PayPal.APIService.MakeRequestUsing(IAPICallPreHandler apiCallHandler)
   at PayPal.BasePayPalService.Call(IAPICallPreHandler apiCallHandler)
   at PayPal.AdaptivePayments.AdaptivePaymentsService.Pay(PayRequest payRequest, String apiUserName)
   at PayPal.AdaptivePayments.AdaptivePaymentsService.Pay(PayRequest payRequest)
   at Payme101.Controllers.HomeController.Order_Pay(Order_Pay single) in  d:\Completed\Payme10\Payme101\Payme101\Controllers\HomeController.cs:line 2404
        PayRequest request = new PayRequest();
        RequestEnvelope requestEnvelope = new RequestEnvelope("en_US");
        ReceiverList receiverList = new ReceiverList();

        request.requestEnvelope = requestEnvelope;

        Receiver receiver1 = new Receiver();
        receiver1.amount = 10;
        receiver1.email = "Primary Email ID";
        receiver1.primary = true;
        receiver1.invoiceId = str;

        Receiver receiver2 = new Receiver();
        receiver2.amount = 8;
        receiver2.email = SellerMail;
        receiver2.primary = false;
        receiver2.invoiceId = str;


        receiverList.receiver.Add(receiver1);
        receiverList.receiver.Add(receiver2);

        request.receiverList = receiverList;
        request.actionType = "PAY_PRIMARY";
        request.currencyCode = "USD";
        request.returnUrl = "http://ServerIP/Home/complete/?payKey=${payKey}";
        request.cancelUrl = "http://ServerIP/Home/cancel?payKey=${payKey}";

        //request.returnUrl = "http://localhost:1735/Home/complete/?payKey=${payKey}";
        //request.cancelUrl = "http://localhost:1735/Home/cancel?payKey=${payKey}";

        AdaptivePaymentsService service = null;
        PayResponse response = null;
        try
        {
            Dictionary<string, string> configurationMap = Configuration.GetAcctAndConfig();

            service = new AdaptivePaymentsService(configurationMap);

            response = service.Pay(request);
        }
        catch (Exception ex)
        {

          //Here I am getting Exception.
          return RedirectToAction("Order_Pay2", "Home", new { id = ex.ToString() });
        }

        Dictionary<string, string> responseValues = new Dictionary<string, string>();
        string redirectUrl = null;


        if (!response.responseEnvelope.ack.ToString().Trim().ToUpper().Equals(AckCode.FAILURE.ToString()) && !response.responseEnvelope.ack.ToString().Trim().ToUpper().Equals(AckCode.FAILUREWITHWARNING.ToString()))
        {

            redirectUrl = "https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_ap-payment&paykey=" + response.payKey;

            return Redirect(redirectUrl);

        }
我的代码如下:-

 PayPal.Exception.ConnectionException: Invalid HTTP response The underlying connection was closed: An unexpected error occurred on a receive.
   at PayPal.HttpConnection.Execute(String payLoad, HttpWebRequest httpRequest)
   at PayPal.APIService.MakeRequestUsing(IAPICallPreHandler apiCallHandler)
   at PayPal.BasePayPalService.Call(IAPICallPreHandler apiCallHandler)
   at PayPal.AdaptivePayments.AdaptivePaymentsService.Pay(PayRequest payRequest, String apiUserName)
   at PayPal.AdaptivePayments.AdaptivePaymentsService.Pay(PayRequest payRequest)
   at Payme101.Controllers.HomeController.Order_Pay(Order_Pay single) in  d:\Completed\Payme10\Payme101\Payme101\Controllers\HomeController.cs:line 2404
        PayRequest request = new PayRequest();
        RequestEnvelope requestEnvelope = new RequestEnvelope("en_US");
        ReceiverList receiverList = new ReceiverList();

        request.requestEnvelope = requestEnvelope;

        Receiver receiver1 = new Receiver();
        receiver1.amount = 10;
        receiver1.email = "Primary Email ID";
        receiver1.primary = true;
        receiver1.invoiceId = str;

        Receiver receiver2 = new Receiver();
        receiver2.amount = 8;
        receiver2.email = SellerMail;
        receiver2.primary = false;
        receiver2.invoiceId = str;


        receiverList.receiver.Add(receiver1);
        receiverList.receiver.Add(receiver2);

        request.receiverList = receiverList;
        request.actionType = "PAY_PRIMARY";
        request.currencyCode = "USD";
        request.returnUrl = "http://ServerIP/Home/complete/?payKey=${payKey}";
        request.cancelUrl = "http://ServerIP/Home/cancel?payKey=${payKey}";

        //request.returnUrl = "http://localhost:1735/Home/complete/?payKey=${payKey}";
        //request.cancelUrl = "http://localhost:1735/Home/cancel?payKey=${payKey}";

        AdaptivePaymentsService service = null;
        PayResponse response = null;
        try
        {
            Dictionary<string, string> configurationMap = Configuration.GetAcctAndConfig();

            service = new AdaptivePaymentsService(configurationMap);

            response = service.Pay(request);
        }
        catch (Exception ex)
        {

          //Here I am getting Exception.
          return RedirectToAction("Order_Pay2", "Home", new { id = ex.ToString() });
        }

        Dictionary<string, string> responseValues = new Dictionary<string, string>();
        string redirectUrl = null;


        if (!response.responseEnvelope.ack.ToString().Trim().ToUpper().Equals(AckCode.FAILURE.ToString()) && !response.responseEnvelope.ack.ToString().Trim().ToUpper().Equals(AckCode.FAILUREWITHWARNING.ToString()))
        {

            redirectUrl = "https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_ap-payment&paykey=" + response.payKey;

            return Redirect(redirectUrl);

        }
PayRequest请求=新的PayRequest();
RequestEnvelope RequestEnvelope=新的RequestEnvelope(“en_US”);
ReceiverList ReceiverList=新的ReceiverList();
request.requestEnvelope=requestEnvelope;
接收方1=新接收方();
收款人1.金额=10;
receiver1.email=“主电子邮件ID”;
接收方1.primary=真;
接收方1.invoiceId=str;
接收方接收方2=新接收方();
接管人2.金额=8;
receiver2.email=SellerMail;
接收方2.primary=错误;
接收方2.invoiceId=str;
接收人列表。接收人。添加(接收人1);
接收者列表。接收者。添加(接收者2);
request.receiverList=接收方列表;
request.actionType=“主要付款”;
request.currencyCode=“USD”;
request.returnUrl=”http://ServerIP/Home/complete/?payKey=${payKey}”;
request.cancelUrl=”http://ServerIP/Home/cancel?payKey=${payKey}”;
//request.returnUrl=”http://localhost:1735/Home/complete/?payKey=${payKey}”;
//request.cancelUrl=”http://localhost:1735/Home/cancel?payKey=${payKey}”;
AdaptivePaymentsService服务=null;
PayResponse=null;
尝试
{
Dictionary configurationMap=Configuration.GetAcctAndConfig();
服务=新的自适应支付服务(配置图);
响应=服务。支付(请求);
}
捕获(例外情况除外)
{
//在这里我得到了例外。
返回RedirectToAction(“Order_Pay2”,“Home”,new{id=ex.ToString()});
}
字典响应值=新字典();
字符串重定向URL=null;
如果(!response.responseEnvelope.ack.ToString().Trim().ToUpper().Equals(AckCode.FAILURE.ToString())和&!response.responseEnvelope.ack.ToString().Trim().ToUpper().Equals(AckCode.FAILUREWITHWARNING.ToString())
{
重定向URL=”https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_ap-付款和支付密钥=“+response.paykey;
返回重定向(重定向URL);
}
谁能告诉我我做错了什么,我应该做些什么来删除这个异常并成功付款


提前感谢…

假设您的代码和配置在其他环境中是相同的,那么就没有什么可做的了。在这里尝试启用跟踪以捕获有关客户机/服务器通信的更多详细信息:假设您的代码和配置在其他环境中是相同的,那么就没有什么可继续的了。尝试在此处启用跟踪以捕获有关客户端/服务器通信的更多详细信息: