2014-03-26 143 views
0

我正在尝试将sagePay集成到ASP.NET MVC项目中。我使用了SagePay的Iframe模式。 之后,我使用支付按钮提交信用卡信息,我能得到回应我的通知控制器(我发送给我们的通知URL)与消息“0000:授权是全成”WasTransactionSuccessful为真SagePay响应问题

控制器代码:

public ActionResult Notify(SagePayResponse response) 
     { 

      if (string.IsNullOrEmpty(response.VendorTxCode)) 
      { 
       return new ErrorResult(); 
      } 

      if (response.WasTransactionSuccessful) 
      { 
       return RedirectToAction("Success", new { vendorTxCode = response.VendorTxCode }); 
      } 
      else 
      { 
       return RedirectToAction("Failed", new { vendorTxCode = response.VendorTxCode }); 
      } 
     } 

相同的控制器已经与相同的值称为五次反复

但是最终响应配备了一个错误“5004:交易状态无效”。并且变量WasTransactionSuccessful为假。如图中所示。

enter image description here

最后,我相信,因为这些错误我得到的IFrame所包含同一页面下面的错误。

enter image description here

七,八分钟后,我的PaymentResponse控制器再次接到电话,并显示错误消息“2008:交易超时”

enter image description here

请帮我找出这个错误的真正原因。

回答

0

解决了美国国家用户需要通过的额外字段,即州代码,这是缺少的。