为什么我对Sagepay的POST会返回错误400?

时间:2016-04-05 15:05:00

标签: java post server sagepay

我正在尝试使用服务器集成协议将我的应用程序与Sagepay集成。我已经在JAVA中编写了我的代码,目前我正在向Sagepay发送POST以重定向到他们的付款页面。但是,我得到一个空白屏幕,这是错误400(错误请求)的结果。

在他们的文档中,他们明确指出:

  

数据应作为URL编码名称=以&分隔的值对发送。字符并发送到Sage Pay Server URL,并将服务名称设置为该消息   输入有问题。

我构建的URL是: https://test.sagepay.com/gateway/service/vspserver-register.vsp&VPSProtocol=3.00&TxType=PAYMENT&Vendor=foovendor&VendorTxCode=foovendor-1459865650735-78597&Amount=10&Currency=GBP&Description=This+is+the+description&NotificationURL=http%3A%2F%2Fwww.google.com&BillingSurname=foosurname&BillingFirstnames=fooname&BillingAddress1=fooaddress&BillingCity=foocity&BillingPostCode=foopc&BillingCountry=UK&DeliverySurname=fooname&DeliveryFirstnames=foosurname&DeliveryAddress1=fooaddr&DeliveryCity=foocity&DeliveryPostCode=foopc&DeliveryCountry=UK&CustomerEMail=foo%40foo.com

我错过了什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您的网址未正确设置查询字符串。 我认为

register.vsp&VPSProtocol

应该是

register.vsp?VPSProtocol

即。问号而不是&符号。

另外,你说一篇帖子是必需的,但是在浏览器中粘贴该网址会发送一个GET请求,但是不是吗?