If Stripe is available in your location (it’s available in most) and you plan to accept payments on your website, Stripe is my preferred payment method.
Stripe Account
The main tasks to concern yourself with are creating your Stripe account, completing the setup wizard, and configuring your Branding.
Reference
As we proceed into the next section, we’ll refer back to this section as part of the instructions.
- API Keys > By default, Stripe will display your Live API Keys. Toggling to ‘Test Mode’ displays your Test API keys.
- Webhooks > By default, Stripe will display your Live Webhook Secret. Toggling to ‘Test Mode’ displays your Test Webhook Secret.
Add Stripe to Your Website
- Install and activate the WooCommerce Stripe Payment Gateway plugin.
- WooCommerce > Settings > Payments > Stripe – Credit Card > Click ‘Finish Setup.’
- Click ‘Enter account keys (advanced).’
- Live Tab > Enter the Live Publishable Key.
- Live Tab > Enter the Live Secret Key.
- Live Tab > Enter the Webhook Secret.
- Live Tab > Click ‘Test Connection.’
- Live Tab > Click ‘Save Live Keys.’
- Test Tab > Enter the Live Publishable Key.
- Test Tab > Enter the Live Secret Key.
- Test Tab > Enter the Webhook Secret.
- Test Tab > Click ‘Test Connection.’
- Test Tab > Click ‘Save Test Keys.’
- Close the ‘Edit Account Keys & Webhooks’ dialog box.
- Account Details Section > Ensure all items are displayed as ‘Enabled.’
- General Section > Check the ‘Enable Test Mode’ box.
- Save changes.
- Test your payments using one of Stripe’s test credit cards.
- General Section > Uncheck the ‘Enable Test Mode’ box when you’re ready to accept Live payments.
- Save changes.
Stay on Stripe’s Good Side
Here are some tips to stay in good standing with Stripe, covering a real-world example of a website that fell on Stripe’s bad side. Let’s preface the below by saying this is not an indictment of Stripe. I believe they are the best/preferred online processor on the market.
Getting on Stripe’s Bad Side. Real-World Example.
The Website Backstory
The website was a WooCommerce website that charged one-time fees and ongoing fees (e.g., subscriptions). It was newly launched, so it hadn’t had many sales yet.
So, the website owner used some of their service offerings (e.g., consulting) to drive business towards their products and supplement their income while the website ramped up. The website clearly states the service details (cost, description, fee schedule, etc.) and rock-solid policies in place.
After several years of business, the website owner had never had a single payment dispute—until now.
What Happened?
The website owner was hired for consulting services and received multiple micro-payments over less than a month. After the services were rendered and both parties went their opposite ways, the customer acted in bad faith by disputing every payment (4+) they made to get the services for FREE.
When the customer filed their disputes, they claimed they were being charged for subscriptions that they had previously canceled, which is an option that Stripe gives.
If there is any silver lining here, the customer messed up by choosing “Subscription canceled” as the reason for their dispute, as the micro-payments alone clearly show these were not subscriptions being paid for.
What Resulted?
The website owner lost money from each disputed sale and had to pay $15-$25 in fees per disputed sale. With low sales on the new website, the disputes quickly put the website over Stripe’s % threshold for disputes vs. sales.
Stripe, therefore, put the website on probation, withholding 25% of every sale until the probation period ends. After a probation period ends (if it ends), Stripe states that it will return any money left over after all disputes are settled.
Stripe could permanently ban the website from using its services if additional disputes occur during or after the probation period. In this case, even if the website owner wins the disputes, they are still flagged in Stripe’s systems, and the only way to clear this is if the customer withdraws their disputes.
Since the customer acted in bad faith, there is zero chance they will take the time to withdraw the disputes, as this would also require an admission of guilt.
Stripe is critical to this website’s business, and this ordeal is potentially devastating in terms of reputation, lost hours fixing these issues, etc.
How to Help Prevent This
Aside from having many monthly sales to offset the number of disputes, you can only do a little to avoid being put on probation with a credit card processor.
No matter what measures you take, if a customer wants to dispute a payment, nothing can stop them, and if you run an online store for any length of time, it’s not a matter of if you will run into this situation…it’s when.
The only guidance I can offer here is how to help prevent disputes in the first place and how to react to them.
Products & Services Pages
WooCommerce product pages include areas where you can describe your product. Use these areas to describe your product and how it’s paid for (one-time fees, ongoing subscription fees, etc.).
Also, consider creating landing pages for your products that go into greater detail about the product and link to these landing pages from the WooCommerce product page.
Use landing pages to help leave nothing open for interpretation, and where applicable, link to your policies within each product page or product landing page.
- Product Description: Clear description of what the product is and isn’t, and link(s) to any applicable policy page(s).
- Fees: Clear breakdown of the fee structure, what’s included in the fee, and link(s) to any applicable policy page(s).
- Payment Schedule: Clear breakdown of the fee payment schedule, whether it’s a one-time fee, ongoing subscription fee, etc..and link(s) to any applicable policy page(s).
- Cancellation Policy: Clear description and link(s) to any applicable policy page(s).
- Refund Policy: Clear description and link(s) to any applicable policy page(s).
Your services may also be WooCommerce products (i.e., productized services), in which case the above product guidance applies. Even if your services aren’t sold as an actual WooCommerce product, I recommend a landing page for each service highlighting the abovementioned areas.
Policies
We won’t discuss all the policies that could be involved in a website but will instead focus on this particular scenario. Policies are critical for MyListing websites for various reasons, and if you’re not confident in your policies, I highly recommend Termageddon.
Fees
Policies should exist, containing crystal clear language regarding Fees, and cover the following aspects at a minimum.
- Product(s)/service(s) included in the fees.
- When fees will occur.
- An easy way for you to be contacted.
Refunds
Policies should exist, containing crystal clear language regarding refunds and covering the following aspects at a minimum.
- When/if refunds are allowed.
- How refunds can be requested.
- When refunds are paid out.
- An easy way for you to be contacted.
Cancellations
Policies should exist, containing crystal clear language regarding cancellations, and cover the following aspects at a minimum.
- How cancellations can be performed.
- What happens once a cancellation is made.
- An easy way for you to be contacted.
Policy Placement
At a minimum, I recommend placing a link to all policies mentioned, where applicable, in the following locations.
- Product/Service page.
- Product/Service landing page.
- Cart/Checkout.
- Policy page.
- Footer.
Response
In this scenario, the customer’s actions were undoubtedly malicious. However, for our purposes, let’s assume that everyone is a kind human.
The first step would be to contact your customer using email so you have documentation of your communications with them.
Non-Malicious Customer
If your customer responds and it’s pretty clear that the disputes were not meant to be malicious, kindly ask them to help you work to withdraw the disputes following this guide from Stripe.
Take that opportunity to ask your customer if there is something your website could have communicated better or if there is something you could have done better. Lick your wounds and make the whole experience a learning opportunity.
Malicious Customer
While it’s not likely this type of customer will respond, if they do, be the better person and kindly ask them to withdraw their disputes.
Explain to them that what they have done has a significant negative impact on small businesses, and the only way to fix the situation is to have the disputes withdrawn.
Unfortunately, reasoning with a malicious customer is typically a no-win situation; depending on the situation, you may have no choice but to take legal action.
Stripe
While Stripe would most likely have contacted you by now, it’s a good idea to be proactive and contact them with your situation, the steps you’ve taken so far, and the steps you plan to take. You could also take this opportunity to ask Stripe if they have any recommendations for approaching your particular situation.