Я пытаюсь реализовать шлюз оплаты Sagepay, но у меня проблема с адресом уведомления. Это, как я ее получения:Sagepay NotificationUrl
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.
Я представил билет, и они сказали:.
«Ваш Notification URL должен отвечать только с состоянием, RedirectURL и не необязательно поле StatusDetail Нет других HTML, заголовки, комментарии или текст должен быть включен либо до, либо после того, как эти поля. Sage Pay обрабатывает весь такой текст как ошибку и не выполняет транзакцию. Чтобы ответить на ваш вопрос, амперсанды не могут использоваться, поскольку они не соответствуют кодировке URL RFC1738. Обратите внимание, что мы не разработчики здесь, в Sage Pay, но мы будем попробуйте помочь вам в устранении неполадок. Ниже приведена ссылка на наше Руководство по протоколу сервера, а также ссылку на StackOverflow на форум профессиональных веб-разработчиков «
Возможно, я неправильно понял, но я подумал, используя
&
для амперсандов, которые были бы правильными.
Кто-нибудь сталкивался с этим?
Возможно, я обойду его, имея один параметр и разделяя параметры с помощью трубы или чего-то еще. Но было бы неплохо сделать это правильно с отдельными параметрами.