After much deliberation and testing the WooCommerce myFastway shipping plugin we have put together a list of requirements for achieving the best results and avoiding any errors with shipping.
We understand that this may not be the best user experience, although we feel that to avoid any errors and user dissatisfaction this needed to be applied.
1, WooCommerce customers need to have an account before they can use the checkout.
2, WooCommerce user GUEST checkout cannot be used.
3, Edit the WooCommerce Checkout page fields and move the phone and email fields.
The myFastway API
https://github.com/mindfulsoftware/myFastway.ApiClient/wiki/Endpoints%EA%9E%89-Consignments
Minimum Information Required to Consign
The following is the minimum amount of information required to create a consignment. All fields below are mandatory. The supplied address must conform to the Address Validation process
{ "To": { "ContactName": "", "PhoneNumber": "", "Email": "", "Address": { "StreetAddress": "", "Locality": "", "StateOrProvince": "", "PostalCode": "", "Country": "" } }, "Items": [ { "Quantity": 0, "Reference": "", "PackageType": "P", "WeightDead": 0, "WeightCubic": 0, "Length": 0, "Width": 0, "Height": 0 }, { "Quantity": 0, "PackageType": "S", "SatchelSize": "A4" } ] }
As you can see from the myFastway API documentation the minimum information includes the Name, Phone number, Email, Street Address, City/ Suburb (Location), State, Post Code and Country.
WooCommerce user GUEST checkout cannot be used.
Obtaining shipping rates on the cart is not possible, this could also cause some errors for a customer if they go back and forth from the cart and checkout, additionally altering the cart contents.
As WooCommerce will hold on to certain information in regards to the suburb/city and postcode entered at the checkout, going back to the cart adding in some items and clicking 'Update Cart' will trigger the WooCommerce error notification 'There are some issues with the items in your cart. Please go back to the cart page and resolve these issues before checking out.', when trying to visit the checkout page.
If you go ahead and remove the suburb and postcode then try and visit the checkout page again, you can reach the checkout page.
JQuery/Ajax
On the checkout page certain fields invoke ajax, these fields include the Country, Street Address, Town / City, State/ Country and Post Code.
The Phone and Email fields do not update dynamically using ajax when entered on the checkout page.
If a WooCommerce user is a guest, entering in the required information to receive a myFastway rate, as the phone and email are after the dynamic updating feature on the checkout page, this will cause the user to not receive a shipping quote.
WooCommerce customers need to have an account before they can use the checkout
WooCommerce users need to create a WordPress account and be logged into their account, and have already entered all their address information, these include,
[ country, house or unit number and street name, city, state, post code and phone number ]
before purchasing any product and checking out to receive the best possible user experience.
Being a WooCommerce account holder will also not cause any errors when updating the cart quantity, example: deleting, adding or subtracting products.
We understand that this may not suit all user cases as the guest checkout streamlines the checkout process although in this case we can find no other alternative, we will endeavour to allow the guest checkout process if anything changes with WordPress/WooCommerce or the myFastway API.
WooCommerce > Settings > Accounts & Privacy settings requirement.
Prompt users to register for an account before checking out via the 'My Account' page.
Or user can login via the 'My Account' page.
Edit the WooCommerce Checkout page fields and move the phone and email fields up to underneath the company field.
You can use a free WordPress/Woocommerce plugin to edit the information fields on the checkout page.
We used this plugin: https://wordpress.org/plugins/woo-checkout-field-editor-pro/
Example:
Comments
3 comments
WooCommerce customers need to have an account before they can use the checkout.
Does that mean that the option "Allow customers to create an account during checkout" cannot be enabled in addition to "Allow customers to create an account on the "My account" page"?
Hi Ola
If you move the phone and email fields up on the checkout page you should be fine with this setting. "Allow customers to create an account on the "My account"
Please test this scenario first before enabling this setting.
The WooCommerce myFastway plugin works best if a user is logged into an account and they have added in 'ALL' their account information.
WooCommerce users need to create a WordPress account and be logged into their account, and have already entered all their address information, these include,
[ country, house or unit number and street name, city, state, post code and phone number ] before purchasing any product and checking out to receive the best possible user experience.
Please sign in to leave a comment.