Custom Store Post Template

The WP EasyCart can leverage the WordPress option “custom post types” to help with the linking of your products, categories, menus, and manufacturers. Using this feature, we are able to create links like http://yoursite.com/store/mens-beanie, rather than http://yoursite.com/store/?model_number=abc123.

This option is enabled in the EasyCart system by going to your WordPress Admin -> WP EasyCart -> Settings -> Additional Settings  and turn “On” the option “Use Custom Post Type Linking”. Once this is functioning, your links will now go to a more search engine friendly URL, but there is a downside. WordPress uses your default post template in your theme called “single.php”.

If this file does not look how you like or looks very different from your store page template, it will cause a disconnect from product list page to product details page. Fortunately there is a solution! Directions will be provided here, but you can read more about this setup in WordPress’s codex here: http://codex.wordpress.org/Post_Type_Templates.

Setting Up Custom Post Template

  1. Copy your themes single.php file in your theme folder and rename it to single-ec_store.php.
  2. Make changes to this file as is needed. Many times it is best to use the layout and info from your page.php file.
  3. Go to your WordPress Admin -> WP EasyCart -> Settings -> Design and turn “On” the option “Use Theme Custom Post Template”.

This will allow your store to use a custom design for the product details, categories, menus, and manufacturers.

Custom Payment Gateway Integration

We have had a huge demand for adding a custom payment integration to your own EasyCart install and it is finally here. Starting with the release of version 3.0.19, you can add a live payment gateway that is customized by you, the programmer! Fair warning to those who are not familiar with PHP, this may be a little difficult to manage and is meant for those with a good understanding of programming.

The highest demand for this service is for those companies that use an Authorize.net emulator. This type of custom gateway is by far the easiest and will the first example provided here.

To start, lets explain how the custom payment gateway option is integrated in general, minus the programming details of customizing the class for your own payment gateway.

[divider]

Basic Custom Payment Gateway Class Setup

1. Start by going to your WordPress admin -> EasyCart Admin -> Store Setup -> Payment Setup and in the Live Payment Gateways section, and select the last option “custom payment gateway”.

2. The system is now looking to include your new payment gateway file, so lets copy an existing payment gateway file into place and rename it so that it is included in the load of the plugin. Do this by copying the file “plugins/wp-easycart/inc/classes/gateway/ec_authorize.php” to “plugins/wp-easycart-data/ec_authorize.php” and rename the file here to “plugins/wp-easycart-data/ec_customgateway.php”.

3. The system is also looking for a class named “ec_customgateway” so lets fix this up. Open the newly copied ec_customgateway.php file and rename the class to read on the first line:

class ec_customgateway extends ec_gateway{

4. At this point you have a custom gateway setup, but need to customize this to function as a custom class to your system. Please read the next section about editing the class to work as an Authorize.net gateway emulator.

[divider]

Authorize.net Emulator Class Setup

If you have not completed the “Basic Custom Payment Gateway Class Setup”, please complete that section first. There are many companies that use the Authorize.net API as their method for collecting payment from their merchants. The reason they do this is that Authorize.net is one of the most popular, if not the most popular integration in the e-commerce industry and by leveraging their API, they can quickly integrate with any platform. Their system requires you to change the endpoint (the server that receives the transaction information) to point to their own payment servers. The following steps will help you alter the newly created payment class:

1. The first thing to do is enter your custom settings and there are two ways to do this. The easiest way is to first return to WordPress admin -> EasyCart Admin -> Store Setup -> Payment Setup and in the Live Payment Gateways section and change back to Authorize.net as your payment gateway. Enter your login id, transaction key, test mode off, and your currency code, then click save. At this point the authorize values are saved to your system, no matter what gateway you select from this point on. So you can now open the live payment gateway section again once the page reloads and switch it back to the custom payment gateway option. The other option here is to replace the following code:

$authorize_login_id = get_option( ‘ec_option_authorize_login_id’ );
$authorize_trans_key = get_option( ‘ec_option_authorize_trans_key’ );
$authorize_test_mode = get_option( ‘ec_option_authorize_test_mode’ );
$authorize_currency_code = get_option( ‘ec_option_authorize_currency_code’ );

TO:

$authorize_login_id = “YOURLOGINID”;
$authorize_trans_key = “YOURTRANSKEY”;
$authorize_test_mode = false;
$authorize_currency_code = “USD”;

2. Edit the get_gateway_url method to use the emulator endpoint instead of the authorize endpoint. The edit will change:

$is_developer_account = get_option( ‘ec_option_authorize_developer_account’ );

if( $is_developer_account )
return “https://test.authorize.net/gateway/transact.dll”;
else
return “https://secure.authorize.net/gateway/transact.dll”;

TO:

return “https://yourendpoint.com/endpoint”;

3. At this point you should be able to upload your custom gateway and run it successfully. We have noticed some errors occur in that the response may not be returned in the “body” as Authorize.net does. If this is the case, you will need to investigate the format of the response and is easily done by changing:

function handle_gateway_response( $response ){

TO:

function handle_gateway_response( $response ){

print_r( $response ); die( );

which will print the response to the screen and stop once printed. Use this to point yourself to the right response information to process and remove it when you are happy with your understanding of the response data.

[divider]

Custom Payment Gateway Company

We also know there may be some of you out there that have a company you would like to integrate with that does not follow closely to any other payment gateway. We will do our best here to describe our process for custom integration with payment gateways.

1. We recommend using the ec_securenet.php payment gateway class as a starting point. The reason for this is that it covers many of the most common requirements for custom gateway integration.

2. Typically there are two types of data format that are sent to your payment gateway, an array or XML string. The ec_securenet.php shows gateway data in the format of an array, use this is a starting point if you are going that route. If you are using a gateway that accepts XML data, look into the ec_securepay.php file instead.

3. Notice that ec_securenet.php does not use the method “get_gateway_data” as this is not necessary when you need to use a custom CURL call (ec_securenet.php does this). Some gateways work great with the default call and in this case, follow the format of returning the data through the “get_gateway_data” method. This is a technical option based on the requirements of the payment gateway. Following the ec_securenet method is the easiest way to avoid technical difficulties.

4. Some gateways require an authorization header and ec_securenet as an example of this. If your gateway does not require this, you can remove the line that adds this to the header array.

5. Once you are able to build and send your gateway data, the next, and most difficult, part is to process the response.  We always send the response data to the “handle_gateway_response” method for processing. Please notice that if you are viewing the securenet version, the response from them is in JSON formatting and is why we process it through the json_decode function first, but many gateways return their data as an array in the $response[‘body’] array element. Our recommendation is to start by sending the whole response into the “handle_gateway_response” method and use a print out to determine where to go from there. Once you send the data to the response function, we should start by adding “print_r( $response ); die( );” to the top of the “handle_gateway_response” method. This will show you the path to getting the response messages out of the data and applying them to the correct class data elements.

6. The first processing step is determining the attribute that signifies a successful payment, typically an “APPROVED” or “SUCCESS” value and may be accessed through $response[‘body’]->result or $response[‘result’]. If XML is returned, you may need to first run the $response data through:

$response_body = $response[“body”];
$xml = new SimpleXMLElement($response_body);

and access the value by $xml->result or something similar. This is the most difficult task because it requires you to have a complete knowledge of the type of response and if it is formatted as an array, object, xml, JSON, etc… Once you are able to access and check for success, set the $this->is_success to true or false.

7. We also ask that if there is an error, try to set $this->error_message = $xml->response_message; or whatever your response error message is.

8. The last thing to do is insert the response to the database for later access and troubleshooting. This is done by editing the following line to fit your needs:

$this->mysqli->insert_response( $this->order_id, !$this->is_success, “Gateway NAME”, print_r( $response, true ) );

If you are able to get through all of this, get a response from your gateway, process the return data successfully, and set the success value to true or false, then you are done. The EasyCart will insert and process the order based on your success value and requires nothing else once you get your gateway setup to process the credit card through your own gateway.

[divider]

Successful Custom Payment Integration

If and when you complete your custom payment integration, you are welcome to send to us for review and to add the gateway as a default option in the cart. Having us add new gateways to the cart is especially useful for developers that reuse the EasyCart for multiple projects and want the same gateway to be available quickly. We are always open to adding new gateways, so please contact us in the event that you would like your gateway in the cart by default!

Getting Started with Taxes

Taxing within the EasyCart

You may not know it, but the EasyCart is a very powerful system when it comes to getting taxation correct for your store. We offer six different ways to tax your customers, ways to allow users to be tax exempt, and all the tools you need to operate within the laws in your situation. For this article we will cover our largest customer bases (USA, Canada, EU, and Australia) and give tips on how to operate within the laws most easily.

USA Taxation

Businesses based in the USA have it easy, if you have a physical presence in a state, collect applicable local and state sales tax. If you have multiple physical locations in multiple states, then you must collect the tax applicable to each state that you have a physical presence. In addition, you only have to charge that sales tax to purchases that ship to states you plan to tax, for example: No need to tax someone from Arizona if your business is located in Washington. Lately we have had a lot of questions in regards to taxing each state you sell to, regardless of the location, but this is simply not true at this time. We happily point you to an article on the SBA’s website, which quickly confirms the small amount needed for most small businesses; to read more on this topic: https://www.sba.gov/content/collecting-sales-tax-over-internet.

Setting up sales tax is simple for many operating in the USA (we will cover the exception next). Go to your WordPress admin and go to EasyCart Admin -> Store Admin -> Rates -> Manage Taxes to begin setting up. First select “Enable State Tax”, then, for each state you need to tax within, select the state and enter a tax rate (e.g. 8.5) and click save.

EasyCart State Tax Display

[divider]

TaxCloud_Logo

As mentioned above, there is a small exception to the rule of thumb that tax in the USA is easy for online sales. If you have lots of physical locations across a state that has different local tax rules, you are theoretically supposed to charge a sale from each area in the state a different amount. Luckily, a wonderful tool is available and already integrated for use within the WP EasyCart, Tax Cloud! Tax Cloud allows you to setup a free account and establish the necessary tax rules by cities, counties, and states, making the process of taxing the correct amount easy! For more information on integration with Tax Cloud, we refer you to our docs on the topic: http://wpeasycart.com/docs/3.0.0/settings/advanced_options.php#taxcloud.

Canada Taxation

Tax in Canada consists of GST, HST, and PST, which makes setting up slightly more complicated than setting up in the USA, but never-the-less a fairly simple process once you know which options to select. The first step is to go to the WordPress admin -> EasyCart admin -> Store Admin -> Rates -> Manage Tax Rates and enable the country tax system and add a 5.00% tax for Canada. Then move over and enable the state tax system and add the appropriate tax rates for each province/territory, if you are unsure of these rates, you can find the exact rates on http://en.wikipedia.org/wiki/Sales_taxes_in_Canada.

canada_tax_setup

EU Taxation (VAT)

We have now come to the most complicated taxation system around and because of this we offer the most options for our EU customers. Start by navigating to your WordPress Admin -> EasyCart Admin -> Store Admin -> Rates -> Manage Tax Rates. The first choice is do you want to charge VAT at a specific rate globally or different rates for each country. The latest VAT laws require you to charge VAT in the country that you ship to, so our recommendation is to go straight to the country to country rates. The next choice is between including VAT in the price of the product or adding VAT to the order totals during checkout and this varies from country to country so choose the method best for you, but if you choose to include VAT in the product pricing remember to set your pricing to include your countries base rate, the cart will adjust from there for each country.

VAT Setup in EasyCart

Now that you have the basics setup we should move to adding individual country rates. If you are on the screen shown above, click the set individual country rates button, otherwise navigate to EasyCart Admin -> Store Admin -> Settings -> Manage Country List and edit each country that you plan to sell to. A complete list of rates is available here: http://en.wikipedia.org/wiki/Tax_rates_of_Europe.

EasyCart Country VAT Rate Setup

At this point you should be taxing your customers correctly according to the EU rules, but in order to be in complete compliance you will need to do a few more things to really be ready to sell. The first requirement of 2015 is that you must require your customers to confirm that they are providing accurate information as to the shipping location. To do this, first turn on the requirement that the customer agree to your terms and conditions in the WordPress Admin -> EasyCart Admin -> Store Setup -> Basic Settings and in the cart section turn on “Require Terms Agreement”. You should also add links to your terms and conditions in the basic settings while you are there, which should be a separate page on your website. Edit the agreement text in the WordPress Admin -> EasyCart Admin -> Store Setup -> Advanced Language in the section “Cart – Payment Information”, edit the terms text to fit your specific requirements.

The final thing to know is that you are required to collect and save evidence of the customer, including the purchaser’s IP Address and proof they agreed to your terms (which should now include information about how they agree they are shipping to the intended country, even if their IP Address is outside the country). We collect this for you and can be downloaded from the WordPress Admin -> EasyCart Admin -> Store Admin -> Orders -> Store Orders -> Export Orders. You will find this information at the far right of the downloaded excel file.

Australia Taxation (GST)

By far the easiest setup is for Australia, go to your WordPress Admin -> EasyCart Admin -> Store Admin -> Rates -> Manage Tax Rates and enable VAT tax by country with VAT included at the product level and the VAT Rate a general 10% tax. Once you save this, set the individual country rates and set Australia to 10%. This should make your store compatible by law.

To adjust the wording on the store and fix the VAT display to say GST, go to the WordPress Admin -> EasyCart Admin -> Store Setup -> Advanced Language and edit the content to switch VAT to GST.

Other Great Options

1. Product taxation on/off – To turn tax on or off for each product, simply go into the advanced listing options while creating the product and check/uncheck the VAT option.

2. User Tax Exemption – You can allow specific users to be tax exempt by going to the user’s account in the store admin -> accounts area and check the “Exclude Taxes” box.

3. VAT included/excluded from shipping – By default, VAT is added to the total including shipping, to disable this option go to WordPress Admin -> EasyCart Admin -> Store Setup -> Advanced Options and turn on “No VAT For Shipping”.

Shipping Setup Guide & Tips

WP EasyCart offers an abundant amount of shipping options all within a low-cost plugin, but that doesn’t mean the options are not as powerful as some competitors plugins.  The shipping options of an online business can be confusing, and often difficult to setup regardless of the plugin used and the configuration needed.  When you consider all the facts that need to go into a good well rounded shipping system, it can easily be overwhelming.

This guide is to help you consider some of the many options EasyCart has to offer.  While I will be the first to say we do not offer ALL shipping configurations and options one could conceive, we do offer a good well rounded majority of choices that many businesses can adopt.

First Tip:    Before you read further, consider every software package is built for the masses, so if you have developed a shipping system that MUST be used, reconsider as it may not be conventional at all and/or have a small portion that will not conform to any software package…  be flexible as you explore options in software.

 Second Tip:  Are your products shippable.  Not every item in EasyCart is made to apply to shipping charges.  Downloads and Gift Cards for example are digital goods, they will not trigger shipping charges on checkout.  Also consider if you have a weight for a product!  If you enter a weight of 0.00 for a product, then it’s considered intangible good like a service… so shipping will not apply.

[divider]

Step One:  Determine your Shipping System

WP EasyCart offers a variety of systems, all fit different businesses, different models, and will likely cover at least a good portion of what shipping system you need in your business.

 

 

Price and Weight Table Rate – These methods use triggers to establish shipping prices.  The are extremely stable if you set them up correctly and provide a quick return on shipping rates.  You essentially enter either a price or weight that you want to trigger and the rate it should show.  So you start with a trigger price or quantity  of 0.00 and then establish a rate, say $5.00.  Then at maybe $50 dollars you want to trigger a rate of $7.50 and then at $100 you want to trigger $10.00.  so on and so forth.  Same goes for weight, if a user has a total weight order of 5 in their cart, then trigger $x.xx amount, so on and so forth.  Remember that weight in EasyCart is just a numeric value… it can represent pounds or ounces, you set the measurement of calculation in various places where appropriate, such as live shipping gateways which use this.   Easy to setup, and easy to see working.

Percentage Table Rate – This method is the same as price and quantity, except you simply establish a set percentage when a trigger price range is reached.  Say from $0.00 to $99 dollars you want to charge 10% shipping, and then from $100 – $500 in cart total you want to charge 7.5% in shipping, this method allows you establish tiered pricing using  a percentage of their order.  Again, very easy to setup and very reliable system.

Quantity Table Rate – Like the other table rates, quantity table rate shipping simply adds the total in the cart.  This can be appropriate if you need to track how many items there are and then charge appropriately.  Set a quantity trigger, and then the price to charge.  The quantity table system only looks at products, so if you have option sets that change quantity, it will likely not be affected.  So this may work in your situation, or it may not.  It’s reliable and easy to setup.

Static Method Rates –  These are by far the most reliable shipping methods available.  Set a name for the static shipping and a rate… that’s it.  So if you always ship ‘Standard Ground’ and charge $5.00 for it, use this method.  Customers always see the correct list of options.  You can create several shipping methods using this option, such as a ‘Ground’, ‘Next Day Air’, ‘Express’, ‘In Store Pickup’ or whatever you need.  It gives you control over labeling, pricing, and options available to customers.

Fraktjakt – This is primarily only available to swedish residents, but a popular option that allows customers to select from several live carrier rates and get current up to date rates.

Live Shipping – UPS, FedEx, USPS, DHL, Australian Post, and Canadian Post have all been pre-integrated with EasyCart.  Live shipping can be intriguing and many businesses think they want live rates, but there are a few considerations before you choose to go this route.  Every detail must be accounted for on your part of the setup.  If you think you can just offer UPS Ground, think again…  Hawaii, international orders, they will see error messages with that setup.  If you offer only Express and 2nd day air, think again, some cities don’t offer all services… so those customers will see error messages.

Live shipping can be difficult to understand, but the key to it is to consider every single variable in the shipping world and it needs to be setup.  If you are game to tackle this, then we can show you some tips.

1.  Setup one shipping carrier first, get it working, connected, and then move on to another carrier.

2.  Include as many shipping codes as you can.  I realize you may just want ‘ground’ and ‘2nd day air’ but those may not be available in all cities or locations.  Adding more shipping codes means that you will likely get more to show to the customer and also less errors and holes in your locations.

3.  Do not apply shipping zones.  We will discuss this later, but if you only ship to US and Canada, don’t create zones for that.  The purpose of zones is to provide different rates, not limit who can buy on your store.  Get the entire shipping system working for your default country, whether that be US, Canada, Europe, Australia, or wherever…

4.  Use as few shipping carriers as possible.  It may be nice to show FedEx, USPS, UPS, and DHL, but that’s 4 calls to 4 carriers during checkout and can greatly slow the system down.  Try to stick with one or two.

5.  If you want to offer free shipping, simply add a common shipping code, such as ‘Ground’ and then override the price with $0.00.  You can even override the name of it and say ‘FREE shipping’ so customers have that as a selection.

6.  Even if you enter 6, 7, 10 shipping codes, EasyCart will only display what the carrier returns for that location.  So your customer may only see 1, 2 or 3 rates.  This is why we really suggest testing.  We have found some cities require select shipping codes if shipping within the same city.  If you have zero rates returned, we suggest you look at your settings zip code and the zip code during checkout and contact your carrier to see what rates are available.

7.  IF you have negotiated special rates with your carrier, we will try to display those instead of general rates.  AGAIN, test, test, test…  you are the web developer and that is part of the job!

 

[divider]

Step Two: Test Your System

We can not say it enough, but as a WordPress user you are likely taking on the task of making a website yourself.  Part of that job is to test your system.  Don’t assume it should just work or is working without going through the entire checkout process as a customer would.  This would be like fixed someones automobile as a mechanic and then assume it’s fixed and hand the vehicle over to the customer.  Always check to see if it is working as desired and fix accordingly.

test-shipping

 

Even when using basic table rate shipping systems, we have seen gaps in triggers, which means there is no rate going to show up.  We have seen live shipping setups without any shipping codes, which means no user will ever be charged shipping.

 

 

[divider]

Step Three:  Adding Shipping Zones

IF you feel you need to have a shipping zone, then you must be thorough about your setup.  Shipping Zones is not for the faint of heart.  You must have a thorough knowledge of what it means to setup a shipping zone, and DO NOT use shipping zones to limit who can buy from your store.  That is not the purpose.  IF you want to remove china or any country from ordering, do so by removing the country from the pull down of countries within the store admin -> settings -> manage countries.

 

 

Third Tip:  Think of shipping zones as a post-address filter.  It only works AFTER the customer has entered their billing/shipping address information.  NOT when a customer just views the shopping cart.

So you decide you want to setup different rates for the US versus Australia versus Canada…  EasyCart can do that, but only with the right setup.

1.  Setup all of your shipping for your default country with ‘Do Not Apply Zone’ for every setting.  Whether using table rates, static, or live rates, set it up first without any zones.

2.  Test to insure it’s working for your default country.  What this will do is establish a ‘Default’ rate that all customers will see when they simply add an item to the shopping cart and view the cart.  Remember, they have not entered their address yet, so without a default, they would just see $0.00 for shipping, and it’s better to supply SOME type of shipping in the cart.

3.  Once all your default shipping is working, now you can setup a shipping zone.  Lets say you are in australia, and you setup all your shipping for australian customers.  Now you can add more shipping prices, triggers, or live shipping codes and add a shipping code.  So maybe you use Australian POST live rates, you could add ‘International shipping’ with a shipping zone of ‘North America’.  IF easycart sees a user checking out from anywhere in North America, it will apply International Shipping code that you applied.  If someone from Europe ordered, it would not see this ‘Post Fitler’ and just apply default shipping codes.

4.  This means if you use, for example, Price or Weight table rates, you would setup an entire table structure with ‘Do Not Apply Zone’ and then you would create an entire table structure for  each zone.  It’s necessary that you do not have any gaps, so 10 trigger rates would be added for default, then north america, then europe, then asia, so on and so forth.  This way you do not have any gaps…

Fourth Tip:  If you get confused, create a simple spreadsheet, list out the ‘Shipping Method’, ‘Trigger Rates’, and the ‘Rate expected’ and you can see how vast the options can become.  Now throw in a shipping zone and see things multiply!  Pre-Planning is important and can become overwhelming

 

[divider]

Step Four:  Handling Fees and Expedite Order Options

EasyCart has tried to make shipping as flexible as possible, without getting overly complicated that nobody could set it up.  Two options that are common are to add a handling fee.  Let’s say you have a trigger rate system or live shipping system, but want to add a simple $5.00 handling charge to it, we provide a quick way to do so.  Another option is to do it at the product level.  Only add a handling charge to a product IF you enter it at the product level under advanced pricing options.  A great example is a furniture store… a couch may incur an extra large handling fee on one product, while the rest of the products may be just regular shipping rates.

 

 

We also offer an ‘Expedite Shipping’ option.  This can represent anything you want, maybe same day processing or actually a shipping expedite upgrade.  You can choose to enter that for trigger rates or not.

Fifth Tip:  Don’t be afraid to be a little off on shipping.  If you get fairly close on shipping costs, it usually will come out in the wash.  Consider the time and hours it may require to setup a perfect shipping solution versus setting up a really good solid simple solution easy for customers to understand and you may come out neutral.

 

 

[divider]

Step Five:  Keep It Simple Stupid (KISS)

As a web developer or business owner who is building their own website, the old web design rule of keeping it simple stupid should apply…  Try to keep things to a minimum because if it’s hard for you to figure out, your customers may find it impossible to understand.  Many visitors want a choice or two on shipping, or to have it simply calculate automatically… which makes trigger table rates a good choice.   Static rates work great for flat rate type orders… giving customers simple pricing that is consistent and accurate.

The fewer intricate details you try to build into your shipping system the fewer errors you will receive on shipping, the less over and under charging you will receive, and the more conversions can be had by doing so.  Fewer errors, fewer complaints, and more conversions is what every store owner wants!  Keep It Simple…

Sixth Tip:  Remember EasyCart is an $80 dollar plugin made for the masses in WordPress.  If you NEED a solution that you do not see, you might consider ramping up to an Enterprise shopping cart solution and spend the thousands it costs to attain your specific customization.

EasyCart Child Themes and Layouts

What is a EasyCart Child Theme and Child Layout?

Beginning in version 3 of the WP EasyCart, we offer developers the option to keep the latest theme and child files up to date automatically as the plugin upgrades without having to manually upload the latest store theme and store layout! This is a great option to help developers keep their clients’ stores up to date and functional at a single click of the button. With this great new feature we know developers still need the ability to override certain files, images, css, etc… In order to make the store customized for their specific project (a great example of this is customizing the email receipt).

This is where a child layout becomes an extremely important feature! Child themes and layouts allow you to specify a child theme or layout folder in which you can place individual files to override a specific functionality of the store, while simultaneously allowing your theme and layout to keep the latest features for the rest of store.

How Does the Store Find a Layout or Theme File?

Every file loaded from the design folder of your shopping cart system goes through the following check to find the correct file:

  1. Does the file exists in the plugins folder at wp-easycart-data/design/layout/{your selected child layout}/file.php?
  2. If not, use the latest file in the wp-easycart/design/layout/base-reponsive-v3/file.php

This applies exactly the same to the theme folder and can be useful for specifying a custom image not found file.

How to Set Up and Specify a Child Design

Setting up and specifying a child theme or child layout is quick and easy! First, add a new folder in the wp-easycart-data/design/layout/ folder (something like my-custom-layout) and repeat this for the wp-easycart-data/design/theme/ folder. Next, go to the WordPress Admin -> WP EasyCart ->  Settings -> Design area and select your newly added custom theme and/or layout folders in the drop down boxes.

That is it! Your store will now look first in your custom child theme folder and next to the latest files in the main plugin. To override any files you should first copy the file you are editing to your custom theme folder and make your corrections there (custom changes should be in the wp-easycart-data folder).

Selling Digital Downloads with EasyCart Product and Membership Pages

There are a lot of ways to sell goods these days, but EasyCart makes it easy with one location for all your retail goods, digital download goods, subscriptions and membership services and more.  With digital downloads, you can easily sell products with little to no overhead  other than building your content and product.  Once it’s operational, your downloads can be sold with little to no interaction from you on your end.  No packaging, no shipping, and no handling make this arena of e-commerce an attractive candidate for many businesses.

Selecting your Shopping Cart

There are a hundred+ e-commerce packages that can allow you to sell online digital downloads.  After looking into many of these various software packages, some are expensive and can cost $1000+ to acquire licensing and setup.  Other software packages are so limited that the management of the digital downloads is lost, tracking is lost, and the overall experience is not selling the digital download, but rather luring you into buying their software.

WP EasyCart tries to offer a low cost solution to WordPress store owners who want a powerful plugin, but also a low overhead cost.  At only $80 dollars, the plugin is low cost for sure.  Starting a business with an $80 dollar startup cost is extremely inexpensive, so you can quickly regain your costs with a few sales… Yet EasyCart offers a wide variety of methods to sell digital downloads.

Selling Individual Downloads

The easiest way EasyCart can sell downloads is to offer a single downloadable product that users can add to their shopping cart and checkout with.  This process is very easy to setup in EasyCart, since you setup the product just like a normal retail good, with the exception of adding the download ZIP package or other digital file to the product.

single_download_product

sell digital downloads with EasyCart!

EasyCart takes care of the rest for you.  Customers add the product to their cart, they checkout and pay just like any other website.  Once they purchase and the process is approved, the customer can access their account at any time to download their digital download.  Be wary of plugins that send a download link, this is often a security issue and lets customers send out that link to friends and family to also jump on and download the exposed files.

Offer Downloads on Your Server or Amazon S3 Servers

WP EasyCart also allows you to use Amazon S3 servers for storing digital content.  If you sell large files or videos, simply use their servers and connect it to the product.  This way the security and download processes are loaded on the Amazon S3 server instead of your hosted account.

amazonS3_link

Select Amazon S3 to store and deliver digital content if needed.

Added Security for Downloads

For extra security, EasyCart even gives you the option to limit how many times the download can be attempted OR a time limit, giving customers a week or so before the link in their account expires.  This can also help curb customers sending out credentials to their accounts or passing links around to files… something many low cost plugins neglect to help eliminate.

max_download_limits

Add security to your download links!

 

 

Selling Membership Downloads

Another great feature EasyCart offers that many competitors do not offer is a subscription based system.  For those selling digital downloads, it’s often a nice idea to offer a membership area on your website for subscribers to log into.  This way you can offer more than just a link to a product, but actually offer multiple download links, descriptions of the products, forms for subscribers to use, video material, all from a single page.

subscription_signup_product

EasyCart includes ability to let customers subscribe and become members!

We even use this feature at WP EasyCart to sell our premium subscribers various WordPress themes, extra plugins that we build, and even access to our live chat systems.  Whatever your needs are, the membership/subscription system is a great way to pass material to customers who pay.

The WP EasyCart subscription system is easy to use, but can take some setup time.  It utilizes the stripe.com payment processing system to link payments and subscriptions to an active system.  Customers can then cancel memberships, upgrade/downgrade subscriptions, even update their credit information directly from EasyCart.  This makes it easy for customers to maintain their accounts without the need to contact your support facilities.

 

Creating Membership Page Content

Once you are setup with stripe.com, you setup a subscription product and customers can ‘Sign-Up’ on the frontend.  As for membership pages, that is even easier… just add our membership shortcode to a wordpress page and you can enter both ‘secured’ content and ‘unsecured’ content within the shortcodes.  We usually add our membership secured content in the ‘secured’ area and links to signup or login in the ‘unsecured’ section.

members_shortcode

access easycart shortcode from WordPress page text editor!

member_alternative_content

Create secured and non-secured membership content easily!

 

Conclusion

Selling digital download and media doesn’t need to be complex.  Once you understand the workflow of what it takes to sell and manage digital downloads for your customers, picking and choosing the software can be easy.  EasyCart offers the flexibility and features to get your videos, music, sermons, pictures, and other digital downloads out to the masses.

Version 3.x Updates Important!

We have been working hard to improve the process of our plugin updates and plugin compatibility, while streamlining the overall shopping system in version 3.  It is important to stay current with any software, but with a shopping system, even more so.

New Update Processes

With V3, we have streamlined the plugin into a one click update within the regular WordPress plugins section.  In V2, you had to update  the plugin PLUS update your theme and layout files for WP EasyCart, but not anymore.

V3 brings the ability to handle child themes.  When we say child themes, we are talking about EasyCart’s system, not WordPress themes.  Since there are so many design elements in a shopping cart, we actually have our own design files and with V3 they are updated along with the plugin.

How Do You Use the New Theme Files?

To insure you are using the latest downloaded theme files, simply go to the EasyCart Admin -> Store Setup -> Design File Management area and select ‘No Child Theme’ for both layout and theme.  The system will then use the new design files that are updated with every plugin update from here forward.

How do Child themes work in EasyCart?

Just simply create a folder in the /wp-easycart-data/design/layout or theme folder and then copy the file you wish to modify from the regular /wp-easycart/design/layout or theme folder to your child theme in the wp-easycart-data folder. The go to the EasyCart Admin -> Store Setup -> Design File Management page and select the folder you created. The logic for this system works as follows: IF the EasyCart finds a child file in this /wp-easycart-data folder specified, it will use it, OTHERWISE, it will fall back to the main design files in the core plugin.

A great example is if you wanted to modify the email receipt that goes to your customers.  Simply copy that file from the /wp-easycart folder down to the /wp-easycart-data child folder you create and select your folder to be used as a child layout.  Now that one file will be used, but everything else can be used from the core plugin.  If you update the plugin, your changed file is not removed, yet the rest of the core files are updated.

Security Fixes

It’s also important to understand as we continue to update the plugin, keep your plugin version up to date so that you have the most current security fixes and modifications to work in latest WordPress version. If current on updates and design files, you are much less likely to get into trouble with compromised systems.

EasyCart Review and Walk-Through

Sell-with-WP-Logo-Stack

The folks at Sell with WP have created a really nice objective review of the WP EasyCart software and eCommerce system.  The article is an in depth analysis of the entire installation process, major features, and pros and cons to the new software.

One aspect we really enjoyed about the article was the refreshing way they covered a large plugin like EasyCart in-depth.  Many reviews are very short and often compare apples to oranges, while this review actually compares it’s features with the way it is constructed in an overall sense.

For anyone who is new to eCommerce and plugins, this is a great walk-through on how to get the EasyCart setup, installed and configured, and what steps you should likely do in chronological order for a fast setup time.

While the folks at Sell with WP do work for a competing eCommerce platform, we felt they were still fairly objective in their review and show the strengths and weaknesses of  the software.  For more information and to read the full review, simply click on the logo above, or Click Here.

Marketing Strategies to Sell Online

One of the most popular questions any online business has with regards to selling products online is what marketing strategies are there and how effective are they.   We try to outline some of the popular methods below and hopefully help kick-start your online business.

One thing we have found is that there is no one way to market your site, and a good mix of all these methods is the best approach.  Try to cover your basis and be realistic about the approach you are taking and the expected results from that effort.  The question of whether or not it pays to do a marketing tactics is always the defining question and will vary depending on your given business, customers, and consumers.

 

Email Marketing

A very popular method with low cost and many times, low results.  While spamming the world with emails is probably not the best marketing method, it is not something you should over-look.  The biggest recommendation is to get followers who consciously sign-up for your newsletters and that you know are interested.  Have a section on your site for sign-ups, download your subscriber lists and import into popular online email programs dedicated to sending messages.

popular sites:  YMLP.com or ConstantContact.com

 

Pay Per-Click Advertising

Google Ad words is a marketing machine and can be very beneficial to the start-up business or online e-commerce system.  It gets your brand name out on search engine sidebars with visitors who have searched for specific content.  And best of all, you only pay if they click on the link.  You are getting your message in front of those who want to see it, leaving your site to do the selling if possible.  The best advice on these is to start with small budgets, and work your way up.  Be sure to use the search engines tracking code to ensure you are converting from those and watch out for the point of no-return, but a good $50 or $100 dollar investment a month will get a lot of visitors.

Common types of Pay Per-Click advertising methods are:

CPM – cost per thousands impressions or another said metric
CPC – cost per click
CPA – cost per certain action on your site

The most popular being CPC, it is a good compromise between impressions shown to users and those actually interacting and making it to your site through the ad.

popular sites:  Google Adwords or Bing Ads

 

Social Media Advertising

Facebook, Twitter, Pinterest, and others can attract visitors and requires little effort other than posting a few hot topics about your business.  The hardest part about social media is you have to keep up with it.  Start by building a simple Facebook page for your business, get a small banner and logo going, links to your website, and a twitter page.  You can connect Facebook and twitter so that when you post on Facebook, it automatically goes out on twitter as well.  Be sure to spend some time liking and following those comparable businesses that you like and many will follow you back.  It doesn’t take anything cost wise, but it does take a lot of time.  Setup a schedule or a reminder on your calendar to post something of interest to keep the content fresh and consistently revolving.

Social media such as Facebook now have great promotional tools, and will show your ad across the Facebook network for fees.  Give it a test and put out $30 dollars on a few of your important posts and see if you can attract new customers and convert some users into customers.

popular sites:  Facebook, Twitter, Pinterest, Digg, and others.

 

Local Advertising

Even though you probably are reading this to gain traction online, don’t forget your local advertising channels.  Some businesses still profit from pointing local customers to a website for viewing, inventory and to see any new items.  Radio, newspapers, and yellow pages are still good avenues to get your brand out to local customers.  While they may not convert on the website as much, why would they when they can come to your store, it still gives a convenient path for them to check in and see what is new.

 

Tracking Your Efforts

Once you have all your advertising channels in place, be sure to track your investments.  There is no way to see if your online social media campaign, email campaign, or Pay Per-Click campaign are working without tracking them, and Google adwords, Bing Ads, and yahoo make this easy using their tracking tools.  The best part is you do not have to use their proprietary tracking system.  Just use Google Analytics and put a small piece of code in your header and your site will begin tracking page statistics on where customers come from, what they searched for, what city they are from, how long they were on your site, and where they went once on your site.

To track a specific advertisement, simply use unique URL identifiers at the end such as ?adwords=101 and then you can analyze the results each time someone visits with that unique link.  Each ad can be tracked this way, and with the WP EasyCart shopping system, we track Google e-commerce results, so each order and product gets results back in analytics.  This way you can see not only which ads are clicked on, but which ones get converted the most.

This leads you to spending money in the appropriate marketing campaign that pays the most converters and therefore, makes you a successfull online marketing machine!

 

How To Securely Process a Credit Card in HTTPS

In today’s age of ecommerce, it is imperative that you secure customer information.  We highly recommend you always get an SSL from your web host and they will install it for you.  Once they install it, you can download a simple plugin to force SSL onto the /cart and /account pages in wordpress.  This way customers will automatically get forced into https:// secure pages and see a padlock in their browser.  To do this, complete the following steps:

 

  • Contact your hosting provider and ask for them to setup an SSL Certificate on your server for your website. This is typically around $100/year.
  • Download and install the “WordPress HTTPS (SSL) plugin, located here.
  • Edit your cart and account pages and check both boxes, the “Secure Post” box, and the “Secure Child Posts”
  • Save the pages and you are done!

 

https