【发布时间】:2014-11-01 02:12:04
【问题描述】:
我正在尝试实施 Sagepay 支付网关,但我遇到了通知 URL 的问题。这就是我生成它的方式:
request.NotificationUrl = string.Format(
"{0}Notification.aspx?orderid={1}&vendortxcode={2}&amount={3}",
SagePaySettings.SiteFqdn,
Request.QueryString["orderid"],
request.VendorTxCode,
txtOnlineDepositAmount.Text.Trim()
);
当我提交付款时,在我的 sagepay 门户中,它会将通知 URL 报告为:
Callback URL: https://www.****.uk/Notification.aspx?orderid={3a35f950-5b7c-e311-8437-12d0d8a96a66}
orderid 后面的参数全部丢失。
我提交了一张票,他们说:
“您的通知 URL 应仅以 Status、RedirectURL 和可选的 StatusDetail 字段进行响应。在这些字段之前或之后不应包含其他 HTML、标题、cmets 或文本。Sage Pay 会将所有此类文本视为错误并且交易失败。要回答您的问题,不能使用 & 号,因为它们不符合 RFC1738 URL 编码。请注意,我们不是 Sage Pay 的开发人员,但我们会尽力帮助您解决问题。这是指向我们的服务器协议指南以及专业网络开发者论坛 StackOverflow 的链接”
我可能有误解,但我想通过使用
&
对于正确的&符号。
有人遇到过这个吗?
我可以通过使用单个参数并用管道或其他东西分隔参数来解决它。但是最好使用单独的参数正确地做到这一点。
【问题讨论】:
标签: opayo