【问题标题】:Sagepay/.net/Error ResponseSagepay/.net/错误响应
【发布时间】:2016-03-24 13:21:33
【问题描述】:

向 sagepay 测试服务器发送请求并得到以下响应:

“底层连接已关闭:发生意外错误 一个接收。”

最明显的问题:

1.我是否必须为请求/响应设置 SSL? (请记住,这只是一个测试/开发环境)

2。我正在使用 WebRequest 并在标题中传递 VPSProtocol、TxType、Vendor、Crypt vals 3.方法是POST 4. 我已经收录了

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

谢谢

【问题讨论】:

    标签: c# httpwebresponse opayo


    【解决方案1】:
    1. 不,你不知道(见下文)

    2. 听起来您正在与表单协议集成 - 不要将这些值作为标头传递 - 它们应该是查询字符串参数。将您的客户重定向到应该只执行 get 的页面(例如:https://test.sagepay.com/gateway/service/vspform-register.vsp?VPSProtocol=3.00&TxType=PAYMENT&vendor=werwer&Crypt=sdfsdf),然后您应该会得到 Payment 页面(或者至少是一个错误,您可以进行故障排除)。

    【讨论】:

    • 还是不行。 “底层连接已关闭:接收时发生意外错误”我已经如上所述构建了我的 uri(并且 Crypt 是纯文本),使用方法 POST,然后获取响应(HttpWebResponse)。
    • 按照sagepay.co.uk/file/25041/download-document/… 的说明,Crypt val 已加密,但错误消息相同。
    • 在说明中指出:“使用提供的密码作为密钥和初始化向量”作为加密过程的一部分。这是 Sagepay a/c 登录密码吗?什么是初始化向量?
    • 使用 var passToBytes = System.Text.Encoding.UTF8.GetBytes("55a51621a6648525"); myRijndael.Key = passToBytes; myRijndael.IV = passToBytes;然后使用 Key/IV 加密字符串,然后在前面加上“@”以添加到 sagepay url
    • 应该是-System.Text.Encoding.UTF8.GetBytes([表单集成密码])
    猜你喜欢
    • 2012-10-27
    • 2017-05-26
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多