Wading into eCommerce: shopping for a 'simple' buy button

buy buttonIn the last post, I discovered that my first choice, Etsy, may not be ideal for my ecommerce needs and decided to explore my other options before settling on that as my solution.  One of those other options turned out to be my own website!  A pleasant surprise. So that's my next avenue to investigate. 

My website, bringmagichome.com, easily could be considered a blog.  It's pretty common for blog owners to realize the need to sell stuff to help offset the expenses of running a blog and/or to simply make some money.  A variety of ecommerce add-ons have evolved that enable conducting business from a blog page.  This seems like it should be reasonably quick and easy to make happen.  To offer a single product for sale that doesn't have any options, a simple buy button may be all that's needed.  To handle multiple items/purchase and/or multiple options, a cart most likely will be required. 

I'd like to start simple with a single product and a simple 'buy button'.  Let's have a look at what's out there.


Perhaps the simplest option that's frequently recommended is the venerable PayPal buy buttonCreate a button, online, for either a single item purchase or to use the PayPal cart and customers pay on PayPal.  The PayPal Standard account terms are:

  • No monthly fees or long-term commitments
  • no monthly minimums
  • no setup or cancellation fees.
  • *flat-rate price of 2.9% + $0.30 per U.S. transaction.

* Actual cost schedules are on this page.  Goes up to 4.4% for international orders.  That's good to know.

Take out the item listing fee and the 3.5% commission and the rest is about the same as was seen for Etsy. That could provide some welcome pricing relief! 

But what about handling sales tax and shipping?  Their info says their side will 'automatically' calculate sales tax and shipping costs.  OK.  But I've learned it's always important to make sure what they call 'automatic' is what I expect it to mean.  The user manual page for those topics reveals that PayPal will apply the values, 'automatically', that have previously been MANUALLY entered into your seller's profile.  Dang.  Same sales tax problem encountered with Etsy and now all the shipping stuff has to be manually entered, too.  We have to earn that 3.5% savings!  Moving right along....

Amazon express

Apparently, Amazon has decided to muscle their way into the payment gateway business and has launched their own Amazon Pay service.  Their rates look competitive:

  • Domestic processing fee 2.9%
  • Authorization fee $0.30
  • Cross-border processing fee 3.9%
  • Disputed chargeback fee $20

Digging down into their integration info, they do offer a means to generate simple buttons.  They call it Express and there are two integration options available.  The simple button integration appears to do nothing more than process an order's total charges.  Then there's the custom integration that's a multi-step process that would require a fair amount of coding and doesn't provide any help with the shipping nor tax calculations.  In essence, it's a straightforward payment gateway and nothing more.  About the same as PayPal.  Not the 'simplistic' solution I'm searching for.  Who's next? 

Shopify lite

Can't do a search for buy buttons and not trip over multiple links to Shopify lite.    Up until now, I've quickly bounced off that product to look at others because of:

  • $9/month fee
  • Use Shopify Payments to accept credit cards online and pay 2.9% + 30¢
  • cart available

That monthly fee could be a killer if a nice stream of sales fails to develop quickly.  Entering the arena as a start up with minimal current website traffic, it's reasonable to think that might not happen.  Still, if the service handles the tax and shipping stuff, maybe it earns that monthly fee.  Let's dig in and see what can be found.   The product page, linked to above, tells us:

" Easily integrate orders and shipping ".  Ok.  Is that for real?   By now you know what I mean by that.  For sales tax calculations, it looks like maybe they do handle that.  At least, that's my take from their online manual

Shipping may be the problem.  Hard to tell.  In one place their manual says "If you are on the Advanced Shopify Plan or higher, then you can use your custom credentials with USPS, Canada Post, UPS, or FedEx to display calculated rates at checkout".  That's an ouch since their monthly fee for the Advance Plan is $299/mo. 

However, they also have a blog post that claims shipping calcs are now available for all of their plans.  One brave soul asked if that includes Shopify lite but her query went unanswered.  They have a great page goes into important things to know about shipping, but it doesn't let on which of their plans the info relates to.  I'm at the point where I'd need to call them to get an answer but I'm still eyeing that $9/month fee which will remain in play no matter what their answer is.  So let's first see what else is out there first.


Stripe is another operator that is said to be friendly towards small businesses.  Hopping over to their page for payments, the first thing that caught my eye was "toolkit, built for developers".  Maybe not.  Continuing down the page, I came to "Other ways to use Stripe—no code required".  Better.  I see symbols for Wordpress, Drupal and Magento.  I use Drupal so it's worth a look.  Installing a module usually isn't too difficult. Just need to make sure the dang thing doesn't violate the dreaded PCI compliance!

I know.  We're wandering away from the quest for a simple button and getting more complex, but the options are dwindling so now all options have to be explored.  Most blog owners are likely to be running Wordpress, anyway, so the issue of working with modules should be familiar.  Resorting to adding another module shouldn't be too much of a stretch - as long as it does the deed.

Before getting into all that, let's check their pricing:

  • no setup or monthly fees
  • 2.9% +$0.30 per transaction
  • $15 dispute fee

If I'm reading this right, they don't have a different rate for international charges.  That's a plus! The rates look OK.  Pretty much like the others.  Now, what about the pesky sales tax and shipping calcs?  Are these guys more helpful when it comes to real time calculations?  Let's take a look. 

Hmmm.  Stripe doesn't do the sales tax calculations, themselves, but they will link to a service like Avalara, Taxjar, Taxamo that is supposed to take care of that.  What's that gonna cost?  Avalara offers annual rates with defined numbers of transactions.  Lowest cost is $50/250 transactions or $0.20 per transaction.  Taxjar bills on a monthly basis with $19/month being the entry level and covers 1000 transactions/month for a transaction cost of $0.02/transaction.  Taxmo?  Who knows?  They don't post their prices. 

What I gather from studying the websites of those vendors is that part of the service they're offering/charging for is assistance with tax reporting.  OK, $0.02/transaction is no big deal - if I were anticipating 1000 transactions/month.  Not likely.  More likely that I'd pay $19/month for a dozen transactions.  That wouldn't be OK.  Still, I'd hope to make more than 250 transactions in a year - but I can't guess how many more that might be. 

I kept digging and found Taxcloud. They claim to have arrangements with 24 states that have registered them for compliance such that they don't charge for the tax calculation service.  Luckily, Washington is one of those states and they list Stripe as one of their integrators.  If true, then real time calculation of sales tax should cost nothing once Taxcloud is integrated with Stripe - however that gets done.  That's something I'll be looking into.

On to shipping.  Stripe doesn't handle those calculations, either, choosing instead to integrate with either EasyPost or Shippo.  Yeah, I know.  More stuff to wade through.   

EasyPost is up first.  Pricing looks to be $0.03/package for the calcs and tracking.  Once the customer buys the product and forks over money for the shipping cost, return to EasyPost and pay for the shipping and generate the shipping label.  They offer a page of instructions for integration with Stripe.  Hopefully, the module I'd install in my CMS will handle that. 

Let's check Shippo.  They ask for $0.05/package + shipping costs.  Their Stripe integration instructions are a little less intimidating, but still hard to wrap around without having first looked at what the module for my website is able to handle.  Guess that will be another thing to look into.  At least, Stripe seems to offer all the elements I've been looking for - if I can just find a convenient way to implement all the features!  Not a simple button solution.

Faking it

Let's stop and pause for a moment.  This ecommerce stuff isn't new.  People have been doing it for a long time now.  Guess that's why I figured that all the kinks should have been worked out by now.  Time to take a look at how other folks are managing their setups to see what I may have missed.  Off to the user forums.  So how ARE other small-fry sellers handling this? 

I'd describe what I've read as being 'creative' if not 'skillfull'.   Here's a summary of some of the strategies  I've run across:

  1. Sell only to out of state customers who are exempt from collecting Washington sales tax
  2. Charge only the state tax rate of 6.5% and then eat the local tax bite from your own profits (3.5% if Seattle!) and/or roll some extra into the price of the goods to handle some of that additional local tax bite
  3. Study previous orders, calculate the correct tax for those orders and then use the average value of all those values as the collected tax rate.
  4. Manually add values appropriate for each city and/or zip code (not the +4 code) into whichever service has been selected for use.

I think the tax laws were written by Goldielocks

Numbers 2,3&4 above will likely charge quite a few customers the wrong sales tax.  They likely won't complain about strategy 2, but how will these work when it comes to state tax payments?  Here's what the state of Washington has to say about all this:

Although calculating sales tax by address or ZIP+4 codes is most accurate, we understand that it is currently not possible for everyone. In the interim, the Department's expectation is that sellers will do their best to determine the correct tax rates to collect and to report the sales to the correct jurisdictions when filing their tax returns. If the sales tax collection method used results in the over- or under-collecting of tax, sellers are still required to remit all tax to the Department of Revenue, or if requested, refund the over-collected tax to the customer.

As we continue to develop solutions for e-commerce businesses, please also consider the following options:

  • Contact your shopping cart vendor directly: Find out what they can offer or suggest a solution that they could consider incorporating into their software.
  • Investigate other shopping carts: The demand for these services is high, and new solutions are emerging in the market place. Your local business association may be able to give you specific solution providers.
  • Consider using a Certified Service Provider (CSP): These are companies that have been certified by the National Streamlined Sales Tax Organization to act as agents in performing a seller’s sales and use tax functions. Their services are designed to allow sellers to outsource most of their sales tax administration responsibilities. Currently, there are six companies certified, Accurate Tax, ADP Taxware, Avalara, Exactor, Fed-Tax, and Speedtax. For more information about certified service providers, please see the National Streamlined Sales Tax website.
  • Use our customer database conversion service: If you have a consistent customer database, the Department’s database conversion service may be helpful. Businesses with a consistent customer database can submit their customer address file/database through a secure transfer method, and we will provide the corresponding tax rate and location code for each address.

I take all that to mean that 'faking' it may work in the short term but doesn't get around having to compute and pay the correct tax and could result in having to refund over-charges back to customers.  Not getting it right in the first place will lead to a lot of extra work down the road.  Got to get the tax rate that's JUST RIGHT!  Goldielocks would be so proud.  I can see her smiling face right now.

Clicking some of the links to those certified companies didn't work.  Went to the National Streamlined site and found this current list:

Sovos and Exactor don't appear to list their pricing.  Never a good sign.  Accurate Tax charges based upon the number of 'calls'/month and the service rendered.  Taxify asserts 'by Sovos' and also charges for their service.  TaxCloud and Taxometry promote themselves as free.  That's a price I could easily live with.  Taxometry is light on details about their service.  TaxCloud looks like not much has been done there since 2014.  Hmmm.

Missing from this list are Taxmo and TaxJar. Wonder why?  That means the only certified tax calculating service integrated with Stripe is Avalara.  TaxCloud can be made to work with Stripe (or virtually any other simple payment gateway) via an awkward 'bolt on' solution which I'll probably get into in the next post.  It's not for anyone unfamiliar with Javascript and PHP or .NET. 

And, if you don't mind getting your hands dirty with a little Javascript, then the WA State DOR's own REST lookup service might also work.  Going that route won't result in any automatic reports being sent to the state DOR - but for some folks - that may be a good thing.  You'll have to keep the detailed transaction records, yourself, and manage the require reporting/payment deadlines. 

I grow weary of this tax mess.  On to shipping.

Shipping cost estimations

As if to further test our will to continue on the path to selling online, there's the issue of shipping.  And, to add even more sport to all this, some states require shipping to be taxed and some states don't.  Lucky me.  Washington state requires shipping to be taxed.  Whatever 'button' I end up using, shipping costs will need to be calculated first and then sales tax calculated on the combined total.  If your state doesn't tax shipping, you'll get to avoid that mess.  I hear Oregon is a very nice place to live.

I've already mentioned my state of confusion concerning shipping using Shopify.  Still haven't contacted them to get that straightened out.  And I also mentioned that Stripe 'integrates' with both Shippo and EasyPost.  Sellers using services like PayPal and Amazon Express must be doing something to handle shipping their products.  Back to the forums.

Here's some of the takeaways from threads I've scanned:

  1. A label printer may become a necessary expense with any significant volume of shipping
  2. Charging a flat rate is simplest but requires some study to keep from grossly overcharging or eating cost over runs
  3. Research the rates to the shipping zones for anticipated customer locations and charge the average
  4. Average the actual shipping costs from previous sales data
  5. Similar to #3, pick large cities in each shipping zone and calculate shipping to each and take average
  6. Roll an estimate of the upper end for shipping costs into the product cost and offer "free" shipping.
  7. Paying for shipping online can be cheaper than going to the shipper's brick and mortar locations.

Packaging expenses need to be rolled in there somewhere, too.  In a way, none of these approximations should be necessary.  Most of the shippers, including USPS, have online APIs that are free to use and provide accurate costs. 

By not including these services into their payment gateways, 'button' providers, such as PayPal and Amazon Express,  are conceding that they're really intended for use with some sort of cart software that will provide the necessary missing services 'upstream'.  In short, it seems there really isn't a 'button' that's gonna do the deed if you live in one of the destination-based sales tax states. 

Preventing the cart coming before the horse

Before leaving the shipping topic, I mentioned that WA State wants tax applied to the shipping costs, too.  From what I've seen of some of the workflows for some carts and such, they like to calculate the taxes first and then the shipping.  That could limit the choices.  So far, I know of two solutions that should work.  TaxCloud is mostly a Javascript library that could be made to do the right thing.  And TaxJar has this to say

"Some states require sales tax on shipping charges, others don’t. TaxJar SmartCalcs takes care of this for Stripe users so you never have to worry."

Social media 'buttons'?

The reality these days is that most people spend the lion's share of their online moments on one or the other of the social media sites.  Location, location, location.  As a seller, that's where we want to get our 'buttons' placed, right?  Well, maybe not.  From what I read, most of the social media platforms have dabbled in some form of online commerce support and it hasn't gone well.

The situation is bad enough that Twitter has decided to give up on the idea altogether!  What gives?  This seems like a natural. Most of the commerce solutions I've scanned boast that they'll help get my products on Facebook, et al.  Is it worth it?


Facebook says that 450 million people use Facebook to buy and sell every month.  That suggests selling there ought to be pretty good.  Most of those sales they tell us have taken place in their groups.  Maybe that explains things.  If you want to stick a button on Facebook it has to go on a page.  The PayPal button folks have mentioned the same thing. I haven't figured out how to get a page and/or a button into a group.  Could be their buttons just aren't going up in the right spots.  And, if you do manage to get a button on a page, it has to link to a commerce page somewhere else.  Facebook doesn't appear to be in the payment gateway business.  At least, not yet.

That first Facebook link above also served to announce Facebook's Marketplace, which strikes more than a few folks as a Craig's list-like free for all.  It's more for connecting buyers and sellers.  Not really for making transactions. 

I've seen very sketchy info about a buy button for Messenger.  No idea how this would work.  Payment gateway?  Tax handling?  What?

I'm going to conclude that Facebook may be a great place to get your product in front of a lot of people but I'll still need to have a setup elsewhere to carry out any transactions.


One of the articles I read indicated that Pinterest may have more success with buy buttons than the other social media platforms.  Checking out their setup, it seems that the avenues to participate there are pretty limited.   If you're not using one of the following:

then you're out of the game as far as Pinterest is concerned.  Shopify would be the most tempting option from that list as far as my interests are concerned.


In my previous article, I discovered that YouTube is another one of the places that seems to attract posts about Made with Magic products and might be a good spot to try to get a buy button inserted.  They do offer a somewhat curious social media marketing option.  It starts by setting up a Merchant Center account with Google. 

Then products need to be imported into that account using either their API or a product feed from an existing store.  The supported store feeds are:

No Shopify at this time, or anything else for that matter.  Then one needs to set up and purchase an interactive video ad.  To prepare the ad, go through the steps for preparing a TrueView shopping campaign.  Transactions don't get carried out on YouTube, they simply send interested viewers to wherever the actual product offering is located.

Billing for the ad is determined by:

"TrueView video ads are billed on a cost-per-view (CPV) basis, which means you pay when a viewer watches 30 seconds of your video (or the duration if it's shorter than 30 seconds) or engages in other video interactions, such as clicks on call-to-action overlays (CTAs), card teasers or icons, or companion banners. "

If I understand all that correctly, my entire advertising budget could be exhausted by casual viewers who have no real interest in the product.  Doesn't sound tempting.  Especially since url information can be embedded in the actual video at no cost and links may be included in the blurb about the video that's available directly beneath the videos that send interested parties to the product page.  Pass.

In conclusion

My search for a simple 'buy button' turned out to be futile.  Not because they aren't out there.  They are.  Mostly it's because I live in a state that requires destination-based sales tax calculations that include shipping costs.  To get that right requires real-time calculation of shipping costs and sales tax that goes beyond what is possible using the buy button offerings.

The gateway that may come closest to meeting my needs appears to be Stripe.  I'll be looking into what I can get done using it, Shippo and TaxCloud/TaxJar and if I can get that to work with my current Drupal blog.  I probably also will take a look at Shopify and see if that might work.  Gotta come up with something so I can get my Made with Magic kits up for sale.