I am using the Sagepay Form module and when US customers try to book they receive this error message when they click confirm order
Error: MALFORMED: 3147 : The BillingState field is required.
or
Error: MALFORMED: 3148 : The DeliveryState field is required.
Any help or advise would be great!
Thanks
Latest News: (loading..)
Sagepay Form Error for US customers
Started by li_osc, Aug 16 2010, 14:03
6 replies to this topic
#1
Posted 16 August 2010, 14:03
#2
Posted 26 August 2010, 13:26
li_osc, on 16 August 2010, 14:03, said:
I am using the Sagepay Form module and when US customers try to book they receive this error message when they click confirm order
Error: MALFORMED: 3147 : The BillingState field is required.
or
Error: MALFORMED: 3148 : The DeliveryState field is required.
Any help or advise would be great!
Thanks
Error: MALFORMED: 3147 : The BillingState field is required.
or
Error: MALFORMED: 3148 : The DeliveryState field is required.
Any help or advise would be great!
Thanks
As per the SagePay protocol 2.23 specification the BillingState and DeliveryState values must be the 2 letters state codes only not a value in the address. Check the Protocol 2.23 documentation for more details.
or just trap the request and response sent and received from sagepay to analyze what is being posted and recd.
Satish
Ask for osCommerce value addon suggestion tips for your site.
Check My About US For who am I and what My company does.
Check My About US For who am I and what My company does.
#3
Posted 20 January 2011, 17:48
I am having the same error from SagePay but i dont know how to fix it. I read some guy say that "ive looked into it and its not a problem with the module it was to do with my US zones...". Can anyone tell me what my zones should look like?
At the moment mine look like this;
zone_id - 12
zone_country_id - 223
zone_code - CA
zone_name - California
Does anybody have any ideas?
Thanks
JPA
At the moment mine look like this;
zone_id - 12
zone_country_id - 223
zone_code - CA
zone_name - California
Does anybody have any ideas?
Thanks
JPA
#4
Posted 20 January 2011, 23:02
digitalTag, on 20 January 2011, 17:48, said:
I am having the same error from SagePay but i dont know how to fix it. I read some guy say that "ive looked into it and its not a problem with the module it was to do with my US zones...". Can anyone tell me what my zones should look like?
At the moment mine look like this;
zone_id - 12
zone_country_id - 223
zone_code - CA
zone_name - California
Does anybody have any ideas?
Thanks
JPA
At the moment mine look like this;
zone_id - 12
zone_country_id - 223
zone_code - CA
zone_name - California
Does anybody have any ideas?
Thanks
JPA
It is a problem with the module and I think Sagepay only enforced this week as previous it worked even though the 2.23 protocol info has been around for a while. I spent a few hrs last night figuring this out and coded a quick fix for it. I have uploaded a fix to the sagepay form contribution page
Thanks
Nick
#5
Posted 21 January 2011, 00:34
Thanks for the response. I've just given it a go and now i am getting this error.
This transaction attempt has failed. Please use the Proceed button go back to the web store from which you were purchasing. The details of the failure are given below.
Status: INVALID
Status Detail: 4006 : The TxType requested is not supported on this account.
Any ideas?
This transaction attempt has failed. Please use the Proceed button go back to the web store from which you were purchasing. The details of the failure are given below.
Status: INVALID
Status Detail: 4006 : The TxType requested is not supported on this account.
Any ideas?
#6
Posted 21 January 2011, 00:45
I seem to have got it working.
On line 292 you had
//$transaction_type = 'PAYMENT';
$transaction_type = 'DEFERRED';
So i just changed it back to the default one which was
$transaction_type = 'PAYMENT';
It now seems to be taking payments from US and UK (thats all i've tested and i need to get to sleep) with no error so now its time for it to be tested on live by customers.
Thanks alot for your help and i hope these post helps others in the same position.
DigitalTag
On line 292 you had
//$transaction_type = 'PAYMENT';
$transaction_type = 'DEFERRED';
So i just changed it back to the default one which was
$transaction_type = 'PAYMENT';
It now seems to be taking payments from US and UK (thats all i've tested and i need to get to sleep) with no error so now its time for it to be tested on live by customers.
Thanks alot for your help and i hope these post helps others in the same position.
DigitalTag
#7
Posted 21 January 2011, 19:23
Yeah - we use the deferred payment type so I guess that makes sense














