sveawebpay / dotnet-integration

SDK for Sveas standalone payment methods
Other
5 stars 14 forks source link

SveaResponse (Hosted) Crashes #20

Closed Tazer closed 9 years ago

Tazer commented 10 years ago

Hello,

It's a problem when getting back a SveaResponse, With a "invalidtransaction" xml tag.

For example: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cmVzcG9uc2U+PGludmFsaWR0cmFuc2FjdGlvbj48Y3VzdG9tZXJyZWZubz5PcmRlck5yOjU0NDQ2LTk0MjdjMzUyMWY3YjQ4NzQ5ZWNkOWU4YTYzZmM2NjUzPC9jdXN0b21lcnJlZm5vPjwvaW52YWxpZHRyYW5zYWN0aW9uPjxzdGF0dXNjb2RlPjMyNTwvc3RhdHVzY29kZT48L3Jlc3BvbnNlPg==

Result in this XML.

<?xml version="1.0" encoding="UTF-8"?><response><invalidtransaction><customerrefno>OrderNr:54446-9427c3521f7b48749ecd9e8a63fc6653</customerrefno></invalidtransaction><statuscode>325</statuscode></response>
kilskrift commented 10 years ago

Hi, thanks for the report. We'll try and reproduce the error on our side -- statuscode 325 indicates an invalid callbackurl in the original request.

Could you provide the request xml as well, that would help immensely in pinpointing the error?

/kgm

Tazer commented 10 years ago

I don't have the request left.

But the problem was that I was sending a url looking something like this "/Booking/PaymentCallback" without http:// etc. (Added a failing test for you also as a pull request)

kilskrift commented 10 years ago

I see.

The service requires that url:s are specified in full, including the scheme part. I.e. always use an url on the format "http://myshop.com/callback", with a maximum length of 256 characters. (http://www.w3.org/Addressing/URL/url-spec.txt)

I'll make sure to update the documentation regarding this.

As for the package crashing on an invalid response, we're revisiting our policy on how and where errors like this should be handled. Don't expect any real results until after the summer though (due to vacations etc.). Your pull request will surely be appreciated as an example.

In the meantime, please make sure to include a full URL in the request to avoid this.

/kgm

Tazer commented 10 years ago

Thanks,

Well that's not really true, Cause with the returnURL , I needed to specify an relative path, and for the callback a full path. Cause I started with full URL everywhere , but when I got the redirect it looked like something like this. http://mydomain.com/http://mydomain.com/Booking/PaymentCallback

Thanks, Yeah it's no hurry , but I would have seen the error faster if the "SveaRespone" handled the 325 error also with the ErrorMessage instead of an exception :)

kilskrift commented 10 years ago

We'll make sure to look further into the redirect issue. From the looks of it, it is more of a service issue.

Thanks again. I'll come back to you in this thread when it's been investigated.

/kgm

kilskrift commented 9 years ago

It's been a while, so I'll just note that documentation on the various response url:s is available in the java package documentation, section 3.5.3: http://sveawebpay.github.io/java-integration/#i35