Jump to content
Sign in to follow this  
li_osc

Sagepay Form Error for US customers

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

 

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/Skype for Free osCommerce value addon/SEO suggestion tips for your site.

 

Check My About US For who am I and what My company does.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Yeah - we use the deferred payment type so I guess that makes sense

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×