Just another WordPress weblog
13 Apr
I had a problem with SagePay and IP address. This post really helped me out:
The problem was differing IP address setup on the server.
http://drupal.org/node/541746
I have traced the code to see what the issue is. If I put:
print_r($response);
after
list($response, $http_response_code, $curl_error) = uc_protx_vsp_direct_curl($url, $post);
which is line 535 of the module file I get:
Array
(
[VPSProtocol] => 2.23
[Status] => INVALID
[StatusDetail] => 3058 : The CardHolder field is required.
)
There is indeed no field on the screen for “CardHolder.” If I hard code that field in the code, then it proceeds. I actually realize now that the reason I thought it wasn’t connecting was because I was logging into the SagePay live system and it was configured for the Test system. When I set it for Live, then it indeed connects and I see the error in my SagePay transaction listing: “INVALID – 3058 : The CardHolder field is required.”
I have temporarily set the CardHolder value to be Billing First Name, space, Billing Last Name and now it works fine.
But why do I not have a CardHolder field in the form?