Gateway Message "3125 : The DeliveryCity field is required."
goodmixer opened this issue · 2 comments
Hi I'm getting a failed payment notice on an order when the Shipping Address and Billing Address are different with the following response from SagePay
Gateway Message "3125 : The DeliveryCity field is required."
Gateway Response { "VPSProtocol": "3.00", "Status": "MALFORMED", "StatusDetail": "3125 : The DeliveryCity field is required."
Could this be that the Shipping Address is not being mapped correctly in the plugin?
Found an old similar issue here with SagePay and Drupal https://www.drupal.org/project/commerce_sagepay/issues/2660602
Currently Running
- Craft version:
- Commerce 3.3.1.1
- Sage Pay for Craft Commerce 3.0.0
- PHP version 7.3.27
Did this get resolved?
I am seeing similar with Country Value.
Getting error 3410 Country Value Invalid
Is shipping mandatory for SagePay as we are offering collection, so there is no shipping address?
Surely SagePay only requires a billing address?
@pdaleramirez @nfourtythree @lukeholder can you confirm?
Hi @goodmixer
Thank you for your message.
DeliveryCity
is required by the API so it is worth making sure this is being set correctly. We haven't had any other reports about this not working and a recent test did not throw up any issues. Could you look to see on the Order Edit screen for the cart with the issue that the city is actually being set on the address?
Hi @terryupton
According to the API (https://developer-eu.elavon.com/docs/opayo-server/api-reference/transaction-registration) both billing and shipping addresses are required (mandatory in their terms). This means both will need to be provided.
In your case, if you are only offering collection you can simply have the shipping address set to the same as the billing address and that will mean you meet Sagepay's criteria. You can do this by adding the "shipping same as billing" input field as a hidden form element to your address form on the site.
Hope this helps, thanks!