How to Enable/Disable the Shipping Fields & Ship to Different Address on CartFlows Checkout Page?

How to Enable/Disable the Shipping Fields & Ship to Different Address on CartFlows Checkout Page?

We will see in this article on how to set up shipping options and the shipping zones for your store. Also, we will see how you can effectively enable/disable the shipping fields section for specific CartFlows checkout pages along with some common questions.

Let』s begin!

Sometimes some products are physical products and we have to ship it to the user』s address at their doorstep and while shipping some courier companies charge some shipping charges which we have to apply and display on our store while purchasing the product.

To apply the shipping charges on the product we have to set the shipping rates and the shipping zones in the WooCommerce Settings. So that we can display the zone/area wise shipping charges. 

By setting the shipping zones and the options it will display the Shipping fields section on the checkout page. If it is not set then the shipping fields will not be displayed.

You can follow this simple & easy article to set up the shipping options to display the shipping fields. 

Now, after setting up the shipping, there might be a case, that you want to hide it on any particular checkout page of the CartFlows, for the same we have provided the option to enable & disable it.

You can follow below simple steps to enable/disable the shipping fields section on the CartFlows checkout page. 

Step 1: Go to CartFlows -> Flows -> Your Flow

Step 2: Click on the edit button on the checkout page.

Step 3: Scroll to the Custom Fields tab & disable the 「Ship to Different Address」 checkbox.

Step 4: Click Update button to save the changes. And check on the frontend.

——–

A few common questions.

Ship to different address checkbox is pre-checked

If the 「Shipping Destination「 is set to 「Default to customer shipping address」 then the Ship to Different Address checkbox will be pre-selected.

Ship to Different Address is not displaying on the checkout page

 If the shipping zones and the shipping options are not set in the WooCommerce』s setting then the Ship to Different Address checkbox and the Shipping fields will not be displayed.

How to Turn Off the Auto-fill of Address Fields on Entering Zip-Code?

How to Turn Off the Auto-fill of Address Fields on Entering Zip-Code?

You might be wondering why your Country, State & City fields are getting automatically filled with the proper data when you enter the zip code on your checkout page. Well, it』s not magic, it』s a feature. 

We have integrated the 「Zippopotam」 library API in the CartFlows which automatically search for the Country, State & City associated with the zip code that you have just entered on the checkout page. 

If the data is found for respective ZIP code then it will be fetched and auto-filled on the checkout page of the CartFlows automatically. 

There might be some cases where you might want to disable this feature and for that, we have provided the following WordPress Filter –

/**
* Filter to enable/disable the address auto-fill using the zip code.
*
* @param string $allow having yes/no
* @return string $allow yes or no
*/

add_filter( 'cartflows_autocomplete_zip_data', 'wa_disable_autocomplete_zipcode', 10, 1 );

function wa_disable_autocomplete_zipcode( $allow ) {
$allow = 'no';
return $allow;
}

Note: Add the above filter to your child theme』s functions.php, here』s an article to help you Add Custom code.

Which Multi-Currency Plugin does CartFlows Support?

Which Multi-Currency Plugin does CartFlows Support?

CartFlows supports the official WooCommerce Multi-currency plugin.

In this article, we will see how to set-up the WooCommerce Multi-Currency plugin. And also on how to add the dropdown option to convert the currency based on the user』s choice. 

So we will be using the WooCommerce Multi-Currency plugin to add multiple currencies and currency switcher on the CartFlows Checkout page.

You can download the plugin from the official website of WooCommerce from here.

Now, it』s time to set up the plugin for your needs and requirements.

Tutorial: You can follow this in-depth and easy steps guide provided by WooCommerce.

This multi-currency plugin provides a set of shortcodes to display the currency switcher option on any page of your website. You can add this multi-currency shortcode on the Landing & Checkout page of the CartFlows.

If you want to include the same shortcode in the CartFlows shortcode then it is not possible because both the shortcodes are different.

While using this shortcode, you may get certain requirements such as – you may want to or you may have included the multi-currency shortcode in the footer or header or even in the sidebar widget.

So, in that case, the multi-currency shortcode will not be displayed. 

The reason behind this is – CartFlows by default does not load any widget and theme's Header & Footer on its pages. If you want to display it in the header or footer or in the sidebar widgets then you need to change the page template to 「Default」 and this article will help you with it.

How to Resolve 「The Following Required Query String Data is Missing: Instance」 Error Message?

How to Resolve 「The Following Required Query String Data is Missing: Instance」 Error Message?

Are you facing the 「The Following Required Query String Data is Missing: Instance」 error message while activating the CartFlows Pro API License and wondering what is the reason and searching for the solution at the same time.

Well, I bet you are on the right article. Let』s see then.

This message will be displayed on the plugins page in the license activation popup window while activating the license. There are only a couple of cases in which you will get this error message.

Below we have explained the cases in which this error may occur –

First: If the site is cloned/migrated:

If the website is cloned or migrated from one hosting/domain to another there might be a chance that the instance for the license activation is not set or not updated while migration.

Second: Cache

If any cache is set on your website then the instance ID that is generated automatically while activating the CartFlow Pro plugin does not get stored in the database and not in the cache as well.

As there is no instance ID is set while sending a license activation API request, The API validator checks all the parameters and if the instance ID is not found then it returns this instance not found error message. 

To solve this problem and activate the CartFlows Pro license on your website you can follow below simple steps.

Step 1: Clear all the cache on your site including your browser's cache. This must include the Local & Server-Side cache too.

Step 2: Deactivate any Cache plugin [ For sometime ]

Step 3: Deactivate the CartFlows Pro plugin. [ For sometime ]

Step 4: Re-activate the CartFlows Pro plugin.

Step 5: Click on the activate license button

Step 6: Add your license/API key.

Step 7: Click on activate button. 

Note: Always clear the cache and deactivate the Cache plugin before activating the CartFlows Pro』s license/API key on your website.

What to Do if the Order Status is Stuck at MainOrderAccepted?

What to Do if the Order Status is Stuck at MainOrderAccepted?

Are you looking to find on why some of your orders have a MainOrderAccepted order status and a way to fix it?

The MainOrderAccepted order will be set after the purchase is made from the checkout page. This status means that a product has been purchased from the checkout page.

The order status MainOrderAccepted is set by the CartFlows when the main checkout product is purchased so this would delay the sending of the order delivery email by WooCommerce.

The reason behind that after the checkout page we will be displaying a new page which is Upsell or Downsell.

If the user abandons the checkout process by closing the Upsell / Downsell pages directly by closing the browser window then only the order status will be set as MainOrderAccepted.  Because the user has left the checkout process in-between the ongoing checkout process.

But to mark the order as complete CartFlows have set the WP cron, which will automatically mark the order as complete after 30 minutes of the order. So in your case that CRON is not working. 

To check whether the CRON is working you can install the WP Crontrol plugin which will verify its working. After installing the plugin you can search for the 「carflows_schedule_normalize_order_status」 cron name and check for the next run time.

If the cron is not registered then there might be a two possible cases and they are as follows:

First is that the plugin conflict: 

There might be some plugin restricting the execution of the CRON. To find it out, you can deactivate all the plugins except the WooCommerce, CartFlows and the Page Builder. Then place the test order and close the browser window as soon as you view the upsell/downsell page.Now, go to the WP-Crontrol plugin and check whether the CRON is set or not. If it is set then wait for 30 minutes.After 30 minutes, check whether the order status is updated to complete or not. If it changes then there is a conflict with one of the plugins.

Second is that the CRON service is disabled:

The CRON job is a service available on the hosting server. So, in that case you need to get in touch with the hosting provider and ask them to enable the CRON job service.This will automatically start the CartFlows CRON to work and your order will be marked as completed from now on. 

Note: In most of the cases, many hosting providers provide the Cron Job but it is disabled. They will enable it when the user asks for them to enable it.

How to Solve the Never-Ending Loading Issue on the Checkout Page?

How to Solve the Never-Ending Loading Issue on the Checkout Page?

Are you noticing a Never Ending loading Icon on the CartFlows Checkout Page? Let us diagnose and resolve the issue –

Why does this error occurs?

This loading icon issue can be seen due to the following reasons –

Firstly, if you are using a firewall plugin.Next, if the hosting server is not allowing the request for pages other than WooCommerce.Or usually due to the Caching plugins or server-side cache.

In simple terms, what happens is that – whenever you are adding a product on the Checkout Page or making a transaction using the Payment Gateway or Changing the Address Fields.

In such scenarios, an Ajax request that is made to the server to fetch the data, receives and 403 error response i.e. not the expected response to complete the above process from the server.

As the website does not receive the expected response thereby failing to display the desired output.

Hence, you notice the a continuous loading icon.

What is the 403 Response Error?

Receiving a 403 response is the server telling you, 「I'm sorry. I know who you are – I believe who you say you are – but you don't have permission to access this resource. Maybe if you ask the system administrator nicely, you'll get permission. But please don't bother me again until your predicament changes.」In summary, a 403 Forbidden response should be used afterward, when the user is authenticated but isn't authorized to perform the requested operation on the given resource.

How to solve this 403 error?

Get in touch with your host and share the screenshot of the 403 error from the browser's console. Ask them to clear the cache of your server and exclude the CartFlows Pages from the cache.

How to Activate the 「API Key/License」 of the CartFlows Pro?

How to Activate the 「API Key/License」 of the CartFlows Pro?

Are you looking on how to Activate the API / License Key of the CartFlows Pro plugin?

CartFlows Pro is a plugin that extends the CartFlows Free plugin and adds more features to it.

You can activate the license of CartFlows Pro from WordPress Dashboard > Plugins > CartFlows Pro > Activate License.

Note: Make sure you have the CartFlows Pro installed and activated to find the License Activation option below the CartFlows Pro on the plugins page. Here's an article to help you install and activate the CartFlows Pro plugin.

Following are the benefits of activating the CartFlows Pro License key –

Access to all the Pro FeaturesGet the plugin』s Auto Updates.Import the ready-made templatesCreate unlimited Flows

Follow the below steps which will help you to activate the API / License key of CartFlows Pro.

Step 1: Get the API / License Key

To get the API / License Key, please login to your CartFlows account from here.

Navigate to the API Keys section & copy the API / License Key & store it in your favorite text editor for later use.

Step 2: Activating the License.

Go to the WordPress Dashboard > Plugins pageClick on the Activate License button which is marked in green color

After clicking on the button, a popup will appear and Enter the License key in the text box and click the Activate button.

Note: Make sure that you have Cleared the cache and Deactivated any Caching plugin before activating the License key.

Common Issues while activating the license –

License is already activated for this domain/resource/website.

This error message will be displayed only if the current license key is already activated for the current site i:e entry for this website is present in your account under API Keys section. So, to solve this error, you need to delete the entry from your CartFlows Account for the same website on which you are currently activating the license.

License is activated for the same instance ID.

This error message will be displayed in two conditions. Firstly, if you have migrated the website from one domain to another. Secondly, if you are re-trying to activate the license and the cache is in place.

So to solve this error, you need to follow a few simple steps as mentioned below –

Clear the cacheDeactivate any Caching pluginDeactivate the CartFlows Pro PluginReactivate the CartFlows PluginTry adding activating the License key.

This should fix this issue.

No resource available for this API key

This error message will be displayed if the entered API Key is not correct. So, to solve this issue you need to login to your CartFlows account and copy the API Key as it is and paste it in the API / License Key text box for the activation.

So to activate the API / License Key of the CartFlows Pro, you will need to install & activate the plugin on your website. Refer to this article which will help you in case you are facing some difficulties while installing the plugin.

How to Add the Custom Support of any Payment Gateway for One-Click Upsell & Downsell in the CartFlows?

How to Add the Custom Support of any Payment Gateway for One-Click Upsell & Downsell in the CartFlows?

In this article, we will see the step-by-step guide to add your Custom Support for your Payment Gateway in the CartFlows for the Upsell & Downsell.

To add the custom support of your Payment Gateway below are the few simple steps to follow –

Step 1: Adding the Class & file name in the CartFlows gateway』s library.

In this step, you need to decide the file name and the Class name which you want to use in the Custom Support for your Payment Gateway. After deciding the name of the file & class you need to add those names in the CartFlows Gateway library.

To add it navigate to the CartFlows Pro』s directory then into Classes folder and open a class-cartflows-pro-gateways.php file.

Now, find the function named as 「get_supported_gateways」 and add your class & files name in the already provided array. OR you can use the following filter to add your class & file name without touching the CartFlows Code.

add_filter( 'cartflows_offer_supported_payment_gateways', 'your_function_name' );

/**
* Add new payment gateway in Supported Gateways.
*
* @param array $supported_gateways Supported Gateways by CartFlows.
* @return array.
*/
function your_function_name( $supported_gateways ){

$supported_gateways['payment_gateway_slug'] = array(
'file' => 'yourfilename.php', // Your Custom code's file name
'class' => 'YourClassName', // Class name used in the Custom Code's file.
);

return $supported_gateways; // Adding the payment gateway name.
}

Step 2: What to write in the custom code』s file

Create a function named as 「process_offer_payment」. This function will be called automatically by the CartFlows in order to process the charge for Upsell & Downsell if they are accepted by the user. 

So, all your business logic should be added in this function.

Step 3: Add your custom code』s file at the right place

To add the custom code』s file where you have written the code to add the support for Upsell & Downsell. So navigate to the cartflows-pro/modules/gateways directory and place your file. 

For the reference on what is written in the 「process_offer_payment」 function you can take a look at the other payment gateway files that are currently available in the cartflows-pro/modules/gateways directory.

In this way you can add your payment gateway』s Custom Support in the CartFlows so that you can add the support for Upsell & Downsell.

How to Resolve 「Order Does not Exist Error」 on Upsell & Downsell Page?

How to Resolve 「Order Does not Exist Error」 on Upsell & Downsell Page?

Are you currently seeing an error 「Order does not exist」 on your Upsell & Downsell page? Just like this the below screenshot –

This error message can be seen only on the Upsell & Downsell page of the CartFlows.

This message means that you might have not gone through the regular checkout process of CartFlows and directly visited the Upsell or Downsell page and trying to purchase the upsell or Downsell product.

Below are the cases in which this error message will be displayed –

Case 1: When the Upsell & Downsell pages are opened directly from the URL.

And you are trying to purchase the product by clicking on the Accept Upsell button and that is why it displays this error message.

Note: This message will be displayed only when you are logged in.

Case 2: When you add the Upsell and Downsell page before the checkout page and accept the Upsell or Downsell product then this error will be shown.

The Upsell and Downsell page should be added after the checkout page.

How to Resolve 「Sorry this product cannot be purchased」 Error Message?

How to Resolve 「Sorry this product cannot be purchased」 Error Message?

Are you seeing 「Sorry this product cannot be purchased」 error message on your checkout page?

The meaning of this error message is, among the products that you have added/selected on the CartFlows checkout page is not purchasable. That means this product cannot be purchased for certain reasons.

Why the issue?

This error may occur due to the product being restricted to purchase from WooCommerce or the price, type, or any other required information is not added while creating the product. 

So, to find the actual cause of this error message, try buying the same product from the WooCommerce』s default checkout page. If you receive the same error message on the default checkout page then this confirms that the error is in the product.

Solution!

Now, if you are getting the same error message on the WooCommerce Checkout page, then edit that product and check if all the necessary options are filled. Such as Name, price, and Subscription information if the product is a subscription product.

If any one information is missing then add that information and update the product and try purchasing the same product from the default WooCommerce』s checkout page. 

Once the product is purchased from the default WooCommerce』s checkout page then it can be purchased from the CartFlows page too without any issues.