e-Commerce Solutions for Wordpress
Wordpress is one of the most popular Content Management Systems(CMS) on the web. It’s a great application supported by a great community. I use Wordpress for many of my own websites, I also recommend it to others looking to start a website that need to manage their content with little programming knowledge. I always thought the lack of e-Commerce plugins for Wordpress was odd, but never really needed to implement any shopping carts on a Wordpress site. If someone required more of an actual shop than a standard website, I would steer them towards an actual e-Commerce application (ZenCart, Magento, OS Commerce etc.).
I decided to try out WP e-Commerce, one of the only free shopping cart plugins for Wordpress. My client’s website was already up and running the latest version of Wordpress. So instead of selling her the idea of switching applications or using a simple shopping cart solution like e-junkie, I decided to familiarize myself with some e-Commerce solutions for Wordpress.
Unfortunately WP e-Commerce is not very stable out-of-box, even though I purchased the Gold Cart which was suppose to be more feature rich then the standard free version. It required some work to get it working properly with Paypal, which is the default payment gateway. Authorize.net was the preferred payment gateway of my client, mainly because she already had an established merchant account with them. Although it didn’t work right away, once I got it working properly I think it is the best gateway to use with WP e-Commerce.
A big turn off from using Paypal as the gateway is the fact you get redirected off the website you are on to make the payment. This isn’t all that bad, especially if you do not wish to purchase an SSL certificate for your website and will be handling your customers financial information, being redirected to a secure paypal site will cover that for you. The biggest issue I noticed with Paypal is users making payments are now required to have a paypal account, which leads to a dead-end for those customers without an account. During the checkout process Paypal requires you to create an account even if you select the options “I do not have a paypal account and would like to make my purchase using a credit card”. I proceeded to signup during my testing, my account was opened simply using the email address I provided, all appeared to be well, then before my card was charged, I was required to verify my new Paypal account by waiting for a specific paypal charge to hit my credit card. This would be fine if the sole purpose for creating my account wasn’t to make a purchase right at that moment. Who is going to wait 3-4 days to verify their Paypal account in order to make a simple purchase I should be able to make instantly.
So although I moved on to Authorize.net which was giving me this error whenever I proceeded to checkout:
refId:
resultCode: Error
code: E00003
text: The ‘AnetApi/xml/v1/schema/AnetApiSchema.xsd:length’ element is invalid – The value ” is invalid according to its datatype ‘Short’ – The string ” is not a valid Int16 value.
subscriptionId:
I decided to get this working and share with anyone else wishing to use authorize.net as their payment gateway. The problems were located in wp-shopping-cart/gold_cart_files/merchants/authorize.php. Instinct, who wrote the script, left references to their own credentials which were hard coded in the script. They probably forgot to swap out their hard coded logins and names with the proper variables of the input boxes you have set in your Payment Options. So in the end no matter what you have set on the options page, Instinct’s API access and login credentials are being passed at checkout.
Fixing the Authorize.net Payment Gateway
- download the updated authorize.php file
- extract the .zip archive to: wp-shopping-cart/gold_cart_files/merchants/ overwriting the old authorize.php file
- upload the new authorize.php file to your server
- make sure your Authorize.net credentials are set in the Payment Options
- You should be all set, reset your browser cache and make a test purchase
If your still having problems with the Authorize.net checkout, remove both your Authorize.net account and the WP e-Commerce plugin from “Test Mode” and try again with $1.00 item.
I’d like to give a a big thanks to Shayne Sanderson, who I found on the WP e-Commerce Support Forums. Shayne went out of his way to help me with this, he was able to contact the lead developers at instinct for me and was very persistent on finding the problem. Shayne will soon be launching his own website to support the WP e-Commerce plugin.
So if you interested in adding a shopping cart to your Wordpress site here are a few options that I know of:
- e-junkie – a simple shopping cart solution for selling basic products on any website. Adds an “Add to cart” button on your products page, then you are redirected to your cart on e-junkie when your ready to checkout.
- WP e-Commerce – A free Wordpress plugin for e-Commerce, very convenient and much potential but is very young and needs some work. Only works with Paypal for payment processing.
- Gold Cart – An additional module to be used with the WP e-Commerce plugin that opens more features and give you the ability to use more payment gateways. Only $15 an absolute most buy if you intend to use WP e-Commerce.