Jump to content

E-Commerce with ProcessWire?


Crash-n-Burn

Recommended Posts

Greetings,

I'm very interested in this. In the past, I feel I have had to make a lot of compomises on e-commerce "solutions." These days, because of how great ProcessWire is, I'm looking for e-commerce solutions that can hook naturally with ProcessWire fields and database.

Shopify looks good, and it means a lot that it gets Ryan's endorsement!

Can anyone share examples of fully-developed Shopify sites that use ProcessWire as the core CMS?

Thanks,

Matthew

Link to comment
Share on other sites

Matthew, I have never used shopify and I must agree that it looks like a great product for easy to implement ecommerce sites. I don't know of any sites that are using both shopify and PW but I think that PW can provide a custom ecommerce site if done properly.

Have you looked into using Stripe for a payment solution? I have used their services with great results when it comes to payment methods. The service utilizes javascript which can obviously be used in any form that you create with PW. On one site that I built with PW, I created a payment form using Stripe's services and it was rather easy to implement. Let me know if you need any further help.

Link to comment
Share on other sites

Hello,

Stripe looks excellent. I have done some quick testing of it in the past couple of days, and I think this, together with ProcessWire's amazing API, promises an impressive way to set up an e-commerce system.

There are many ways to do e-commerce, but the compliance rules seem to push in favor of the friendliest off-server credit card/transaction handler. Stripe seems like a major contender.

I'd be curious to see sites done using Stripe and Processwire.

Thanks,

Matthew

Link to comment
Share on other sites

Hello Everyone,

I have been testing extensively the past couple of days. My goal is to design and develop in ProcessWire, and then hook into a system to handle the shopping cart, (PCI-compliant) payment processing, and shipping steps.

I've narrowed it down to these three:

  • Shopify
  • BigCommerce
  • FoxyCart

Shopify and BigCommerce are so close in capabilities, I review them together. FoxyCart is a whole different approach.

Below is my assessment of everything except pricing, which to me feels rather even across all three systems...

Shopify and BigCommerce

Shopify and BigCommerce take you fully into their system, which means we must do all design and structure inside Shopify or BigCommerce. They each do have decent design and structure capabilities to customize the look of your "store," but as I tested them I kept wishing I could just use my $page, $pages, $field, $config, and other variables from ProcessWire to make my pages be what I want them to be.

For payment gateways, Shopify lists 70 and BigCommerc lists 60. I did not have the time to test all the gateways, so I have to trust their Web statements on this!

Shopify and BigCommerce also host your site and take all your files and data onto their servers. The advantage of this is that they can provide more statistical options, and can be used to control inventory.

Shopify and BigCommerce are "Level 1" PCI compliance.

To try out the systems, Shopify has a 30-day trial period, and BigCommerce has a 15-day trial period. At the end of the trial period, you have to decide if you are ready to go live (or, I presume, stop using the test).

Useful information on these systems:

FoxyCart

This one really stands out for me right now:

  • JS-linked forms and buttons that can be integrated into any PHP and hook out to Foxycart's system
  • Can use ProcessWire variables as dynamic values inside the FoxyCart forms or buttons
  • Allows full customization of checkout forms and process by linking to external style sheets

With this system, you can develop everyting in ProcessWire and hook out to FoxyCart when it's time to run transactions. All of the great API elements of ProcessWire can be brought together in your store, but use FoxyCart to handle the messy parts of the e-commerce picture.

FoxyCart lists 57 payment gateways.

Since FoxyCart is only hosting the purchase phase of your transactions. It does not have the capability to keep inventory or other stock-type data.

FoxyCart is "Level 2" PCI compliance. Not sure how significantly this compares to the "Level 1" compliance of the other two systems.

FoxyCart has an unlimited trial period. That means you can test until you want your site to go live.

Useful information on FoxyCart:

Opinion

In my testing, if you want something that can use your ProcessWire knowledge, FoxyCart is best.

Has anyone else here built a working system with FoxyCart? Do you know of other systems that work this way?

Thanks,

Matthew

  • Like 1
Link to comment
Share on other sites

I dislike BigCommerce solely on the grounds that I used Interspire Shopping Cart (the self-hosted version) where they treated us all like crap and strung us along for a couple of years with too few updates, show stopping bugs in many releases and eventually abandoned us to make more money on BigCommerce.

Their forums were the polar opposite of these forums which just shows you how much of a difference it can make when you listen to your customers and aren't solely focused on making big bucks no matter the cost.

Long story short (too late) I wouldn't trust them not to get distracted with their next money making scheme. Their forums (which I think are closed to non-members) are a damning assessment of their disregard for customers (by they, I mean management - there were some excellent support guys in there who were sadly stuck in the crossfire). My rather negative post here is nothing compared to the content of those forums so steer clear would be my advice.

Link to comment
Share on other sites

I think it would make sense to collaborate and expand on apeisa's module. The majos thing that is missing is the integration of payment gateways, and honestly, that's not very difficult to do by reading each one's documentation. With lots of people working on that direction, one gateway at a time, I think it could be done.

  • Like 2
Link to comment
Share on other sites

Hello,

Thanks Pete! You have helped me find a tie-breaker between Shopify and BigCommerce!

I much prefer a system like FoxyCart, where I can use ProcessWire as the engine of my site and just hook into the e-commerce app for the actual processing of cart actions.

Diogo: It would be great to see apeisa's module develop all the way! That would be the best solution, since it would be a native ProcessWire system. In that case, I would think that just hooking into something like Stripe would be great. It seemed as though development had stopped on apeisa's module (last update was 8 months ago). Or am I wrong? What's the status on it?

I've got three fairly large e-commerce sites that I am about to develop, and I really want them to showcase the powers of ProcessWire, so now is the time for me to get into this.

Thanks,

Matthew

Link to comment
Share on other sites

Depending on whether your products have variations like size and colour (clothing and such) or not that would determine for me whether to use PW and FoxyCart or something specific to e-commerce.

The problem is that you could end up with 5 colours multiplied by 7 sizes and have different weights, costs and inventory for each, and there are more complicated examples than that - that's something that you might want to turn to specific software.

If on the other hand you're dealing with simpler products like books or other products that don't have variations (or certainly don't have many) then PW and something like FoxyCart would be perfect.

Link to comment
Share on other sites

Hey Pete,

Yes, what you said is exactly right. For the sites I'm developing now, I don't have product variations.

I've played with FoxyCart more today, and I have written to the developers with some questions. Based on my reading, and the way the developers communicate, I must say there is something about FoxyCart that seems very much aligned with the philosophy we all like about ProcessWire. The developers have an attitude that the system should provide core capabilities, but not intrude on styling or structure. Also, the way objects are accessed in FoxyCart is very much in line with the JQuery/ProcessWire fundamantals.

I'm also continuing to look at Stripe, and testing ways to take ProcessWire forms and go directly to that system. But right now, FoxyCart is still in the lead for my upcoming projects. Shopify continues to be a contender for other projects.

One correction from my earlier write-up: FoxyCart does allow more use of statistics than I had thought. You can get XML feeds back to your site/database from FoxyCarts transactions. That's very exciting, and the flow seems to look like this:

START INSIDE PROCESSWIRE [site design/database/product pages/form development]

EXIT PROCESSWIRE BRIEFLY [sensitive monetary parts]

BACK INSIDE PROCESSWIRE [customer and transaction data/build datatables]

In other words, I only have to leave ProcessWire while handling the parts that we are better off not dealing with, but can stay in ProcessWire for the parts that it does better than anything else.

I'm also thinking that it's possible to create a FoxyCart module where you could automatically feed certain fields to FoxyCart?

I'm putting together a full shop test site with ProcessWire and FoxyCart. I'll report back more on my tests.

Thanks,

Matthew

Link to comment
Share on other sites

Development of shop module hasn't stopped. It has been running on live site for that 8 months. I just recently implemented product variations, but need to think about those a little more. Since we have implemented only one shop with pw, we haven't had that many feature requests. But I am happy to collaboration and we will definitely push shop module further when some of our clients need it.

And zero problems in that 8 months, I might add.

  • Like 1
Link to comment
Share on other sites

I looked on google for a php library for gateway integration and found only one http://www.php-merchant.org/ and the developer must have taken the code from github https://github.com/i...ct/PHP-Merchant. There is however a WordPress plugin that uses it, so the code must be fully here https://github.com/w...ce/PHP-Merchant. It does look interesting, and, if we can't use it as is, at least studying it can give us some light about the patterns that can be fount on the different gateway integrations.

edit: Hm, it seems that they only completed the paypal integration...

Link to comment
Share on other sites

Of course shit can happen, but I think it's very handy to be able to read the database when needed, so I agree with Pete.

:D this was the answer to another thread... what a mess... ts

Link to comment
Share on other sites

Hello,

Apeisa: thanks for your valuable input and contributions. I've looked at the module you created and it seems like a terrific solution -- all ProcessWire!

Now that I have compared using your module side-by-side with the PW/FoxyCart arrangement, I think that with a bit more your module gets the vote. Going the FoxyCart route, we are using native PW and hooking out for payments. With your module, we can do more inside PW, but still go out for payment gateways. This is the only remaining hurdle.

How are you handling gateways now in your live shop?

Thanks.

Matthew

  • Like 1
Link to comment
Share on other sites

In Finland most people pay with their online bank, each of them have little bit different payments gateways so it usually took something like 4-8 different gateways for each online shop. And that was the easy and cheap part: merchant also needed to open account on each banks and create agreements for online payments with each bank. Paypal is not that popular and neither is credit cards.

But, few years ago payment integrators started popping and it has been much nicer to implement these. One agreement, all the banks + credit cards and more exotic payment methods. This is what most seem to use nowadays here in Finland: http://suomenverkkomaksut.fi/ (their name means something like: "Webpayments Finland") and it is the only payment method I have implemented for the shop so far: https://github.com/apeisa/PaymentSuomenVerkkomaksut

I have also implemented PaymentExample to show how to create payment methods in PW shop: https://github.com/apeisa/Shop-for-ProcessWire/blob/master/PaymentExample.module and this most simplest "invoice" payment method: https://github.com/apeisa/Shop-for-ProcessWire/blob/master/PaymentInvoice.module Those are good ones to take a look if you are planning to implement payment methods.

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

My company just started working with a new client who needs an ecommerce solution as part of their website. Being the Processwire advocate that I am, I'm desperately hoping that I can somehow implement the shopping element within Processwire, without having to have a separate app (i.e. OpenCart) for ecommerce and Processwire for the rest. The main reason being that some products featured on the site will not be for sale on the site while others will be, and I don't want to require the client to have to enter product information and images twice-- once by logging into PW and again by logging into OpenCart for the ones they are selling.

I'm looking at Braintree to handle all of the payment information and having PW handle all the rest with apeisa's module. If I understand correctly, Braintree's integration method avoids having to worry about PCI compliance issues: https://www.braintreepayments.com/developers

The company does all of their own shipping/deliveries, but charges different prices based on zip code. So the only unique requirement would be to calculate a price based on the zip code. I considered FoxyCart initially, but they lack this capability. I know that, at least with ProcessWire, there is surely a way to do it.

I can program, but I'm much more of a designer than a coder and I'm not completely sure how best to approach this. Does pursuing this route (PW + Braintree) make sense, and would it be secure?

Finally, I am willing to contribute something monetarily to this project if it will help.

Thanks!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...