Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This article explains how to configure your BigCommerce cart to redirect to a FunnelKonnekt checkout.

Note

Only follow this article if your checkout and upsell flow is finished inside of FunnelKonnekt and you are ready to start sending the BigCommerce customers to your FunnelKonnekt checkout page

To redirect the BigCommerce cart to the FunnelKonnekt checkout page, it is required to manually set the routing on your BigCommerce cart page.

Redirect Checkout

  • Login to your BigCommerce store

  • Make a copy of your existing theme files as a back-up

    • Navigate to Storefront → My Themes → then click Advanced and select Make a Copy

  • Copy the below code Snippet

 

Code Block
 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $('body').delegate('a[href="/checkout"], a#checkout', 'click', function(e){
            e.preventDefault();

            if (!$(this).hasClass('processing')) {
                $(this).addClass('processing').text('Please wait...');

                $.ajax({
                    url: '/api/storefront/cart',
                    success: function(cart) {
                    	var lineItems = cart && cart[0] && cart[0].lineItems && cart[0].lineItems && cart[0].lineItems.physicalItems ? cart[0].lineItems.physicalItems : [];
                    	var urlData = [];
                    	var getUrlData = function(index) {
                    		$.ajax({
                    			url: lineItems[index].url,
                    			dataType: 'html',
                    			success: function(data) {
                    				var $data = $(data);
                    				var customFields = $data.find('.productView-info-name');
                    				var productId = lineItems[index].productId;
                    				var sku = lineItems[index].sku;

                                    customFields.each(function(){
                                        if ($(this).text().trim() === 'ProductID_' + sku + ':') {
                                            productId = $(this).next('.productView-info-value').text();
                                        }
                                    });

                                    urlData.push(productId + ':' + lineItems[index].quantity);

                                    if (index < lineItems.length - 1) {
                                        getUrlData(++index);
                                    } else {
                                        var checkoutUrl = 'you.must.define.a.checkout.url?products=' + urlData.join(';');
                                        console.log(checkoutUrl);
                                        window.location.href = checkoutUrl;
                                    }
                    			}
                    		})
                    	}

                    	if (typeof lineItems === 'object' && lineItems.length > 0) {
                    		getUrlData(0);
                    	}
                    }
                });
            }
        });
    });
</script>
  • Navigate to Storefront → My Themes → Advanced → Edit Theme Files.

  • Paste the code snippet at the end of /templates/layout/base.html file, before the ending </body> tag.

  • Replace the text you.must.define.a.checkout.url with the URL of your CRM checkout page (see below)

  • Save and apply the theme changes

  • Test the redirect

Accessing Your Checkout URL:

Select the Settings option on your FunnelKonnekt checkout page:

Image RemovedImage Added

This will open the page configuration panel on the right side of the builder.


Define the Published Page Name (slug) for your checkout page. Tab off the field to save.


At the bottom, mark this checkout page as the Default Page.

Then close the panel and Publish the funnel.

Image RemovedImage Added

Select the page Settings once more:

Image RemovedImage Added

Copy the entire Live URL and replace you.must.define.a.checkout.url in the code snippet above.