How to reproduce
- Populate your cart with some products
- Proceed through checkout until the Billing and Delivery information
- Enter values longer than 20 charachers in any of the following: billing_first_name / billing_last_name / billing_phone / delivery_first_name / delivery_last_name / delivery_phone
- Proceed through to order review and submit
What should happen
You should be sent through to sagepays payment page where you select your card type and then proceed through to entering details.
What actually happens
You are redirected back to the /cart/checkout page with no errors, trying the same details again and the customer enters an endless loop.
The file attached is sagepays server integration guidelines. Page 42 and 43 document the #maxlengths accepted.
DPR of $form[billing_first_name] showing maxlength = 30;
[billing_first_name] => Array
(
[#type] => textfield
[#title] => First name
[#description] =>
[#size] => 32
[#maxlength] => 32
[#required] => 1
[#default_value] =>
[#summary] => First name is not set.
)
| Comment | File | Size | Author |
|---|---|---|---|
| #1 | uc_sagepayserver_1065756.patch | 1.29 KB | md2 |
| SagePaySERVERProtocolandIntegrationGuidelines.pdf | 1.72 MB | md2 |
Comments
Comment #1
md2 commentedPatch attached, simple hook_form_alter to reduce the #maxlengths.
Comment #2
leo pitt commentedThanks - I've just committed this to dev, once this has come through in the latest build, please test it out.
Comment #3
leo pitt commentedStill getting my head around git - this patch should be present in the next build of 6.x-1.x.
Comment #4
leo pitt commentedFixed in 6.x-1.5