I know you’ve mentioned multiple times that HivePress w/ Marketplace plugin is not suitable for “physical goods” because it skips the checkout process.
However, we’ve been using it for a physical goods P2P marketplace where we ask buyers and sellers to pay each other privately via P2P methods. We’ve done a significant amount of custom development to support this and it’s been working fantastic.
As we begin discovery on the development of the next version of our application, we’re looking to accept payments ourselves, and then have it work on a “escrow” type system where buyers would be paying us, and then we would issue payouts once the items have been verified received in good condition.
At first glance, the Marketplace plugin seems perfect for this because it has a lot of this functionality built in. However, we would need to implement some sort of checkout experience at some point (in the far future) with things like tax, and potentially integrate a shipping plugin.
Given that the marketplace plugin is tied in to WooCommerce, is there any specific architectural reason that you would recommend going against this route if we’re committed to doing a significant amount of custom development? For example, if we were to “add” the checkout flow back in and do a lot of custom development to support physical goods, is there anything inherently dangerous about pursuing this with still keeping HivePress as sort of our core model?
We’ve really enjoyed HivePress in terms of the model it uses and developing with it, so we’d really prefer to stick with it. But given how many times I’ve seen you recommend against doing a physical marketplace, I just wanted to check in if there’s any blind spots we’re not thinking of. It seems like as long as we do enough customization that we could make it work… but are there any core reasons why you’d recommend against this?
Thanks for the kind words, I’m glad HivePress is useful.
With custom development, there are no restrictions regarding physical products. We decided to keep Marketplace lightweight without features for physical products, and mainly focused on service/booking marketplaces. Currently, there are 2 missing features that prevent using Marketplace for physical products:
cart functionality
shipping rates
While the shipping feature can be added (e.g. by changing product type to non-virtual when the listing is updated, and adding custom fields for sellers to define shipping rates), the cart feature would require advanced customizations and there’s no guarantee that it’s possible purely via the available hooks, without editing the Marketplace extension files directly. The checkout flow for one-time purchases is available by default, though.
ihor, thank you for the response!! This is fantastic news. Just to confirm: Our marketplace is only for used goods and a “cart” experience would never really be desired. Each “purchase” would be treated as a 1-off checkout experience even if someone wanted to buy multiple items from the same vendor (which would be incredibly rare, but even if it did happen, having multiple transactions for that is fine). This is actually one of the main reasons we chose HP, because most other “multi-vendor marketplace plugins” seem to all rely heavily on the concept of a “cart” as if the multi vendors are “stores” (think Etsy) rather than selling 1-off goods (think individual non-commercial sellers on eBay).
For shipping rates, we actually have already added a customization for the vendor to define a shipping rate when creating a listing. So it sounds like if we were to activate the marketplace plugin we’d just need to make sure that syncs up with however WooCommerce expects that information to be stored, etc…
So since we won’t ever need cart functionality, it sounds like with a significant level of custom development, you don’t see any major theoretical roadblocks for continuing to use HivePress for our needs?
Yes, the Marketplace framework relies on single purchases from the same seller, so if the cart functionality is not needed for your site, then everything should be ok. The only needed functionality in this case is allowing sellers to set custom shipping rates and overriding the Virtual product type for products generated for HivePress listings.