Quick Links

If you're starting an online business, being able to sell products and accept payments through your website is very important. Luckily, there are many services that make it easy to do this, both for new and existing websites.

Do I Need a "Merchant Account"?

A Merchant Account is a special kind of holding account opened with an actual bank. It allows you to take payments directly, without a middleman like PayPal. Generally, you don't have direct access to the funds, it's just where they land before being transferred to your business's primary bank account after being verified.

Every time you swipe your debit card at a brick-and-mortar store, it's usually linked to someone's merchant account behind the credit card terminal, and your card's info, CVV, and PIN are used to transfer the money.

Due to the high potential for online fraud with these accounts, they're harder to get, especially for online storefronts which are less trustworthy than in-person transactions. You will need good credit and documentation on your business. If you have all that, you can get merchant accounts at big banks like Wells Fargo and Chase, as well as accounts from other providers.

If you plan to accept payments online, you will still need a payment gateway, which handles all the backend logic of talking to the customer's bank and doing the transfer. There are a lot of these services that will link your merchant account with a credit card form, but most notable (and trustworthy) are PayPal and Stripe.

However, both PayPal and Stripe are large enough themselves that they don't require you to have a real merchant account from an actual bank---they both have their own account balances, and allow you to link them directly to your business or personal accounts for payouts.

So, the answer is, no, you don't need a merchant account. You'll still be paying fees either way, and for online stores especially, the extra effort isn't worth it when both PayPal and Stripe don't require it. Plus, if you go with an all-in-one solution, you may not have to worry about this at all.

Online Stores: Shopify & SquareSpace

If you haven't built your website yet, and are looking to set up an online store, the easiest option is to go with a fully integrated ecommerce solution like Shopify or SquareSpace. Both allow you to make great looking websites using the built-in editors without having to code it yourself or pay someone to do it.

Shopify, for example, will let you design your page, edit the layout, and manage your list of available products. When a customer visits your site, they'll be able to browse your catalog, add stuff to their shopping cart, and checkout with their payment and shipping info. You can then view current orders through the admin panel. This makes them perfectly suited for small businesses looking to sell products.

Shopify and SquareSpace both use PayPal by default, but can be configured to use other payment gateways like Stripe.

You can also use Shopify on your own website. You'll still manage products and orders on Shopify, but you can embed the buy button on your own custom page, including sites built using tools like WordPress. The customer will get the shopping cart in the sidebar and checkout pages as normal.

It's worth noting that one of the side benefits of Shopify is that it will let you easily accept payments on your website using a cryptocurrency like Bitcoin if you choose.

Stripe

If you'd prefer not to use Shopify, the next best option is Stripe, which is very similar to PayPal and has excellent developer support.

They're a little more complex to set up, but allow you to create fully custom payment flows. You can read their docs to learn more, but the gist of it involves creating an API to handle checkout sessions, a custom checkout page, success page, and cancel page.

Using this, you can create payment flows that never leave your website, and look great with forms on your own page despite not having to handle credit card data yourself.

Stripe is one of the most popular payment processors out there today, so it's definitely well worth a look if you're trying to integrate functionality into your site and you don't mind doing a little coding.

PayPal

PayPal is one of the most popular online payment gateways, and also functions as a full payments system, offering accounts that can store PayPal balance and accept transactions.

Integrating them on your website is fairly easy. Customers can then buy items using PayPal directly, or by using their debit/credit cards through PayPal.

If you're just looking to add a simple button to sell a single product or service at a fixed price, you can create a smart button using their editor. You can then copy the HTML code and add it to your site where you see fit.

If you want to sell multiple products, you'll need to use the PayPal JavaScript SDK to add the buttons yourself. For this, you'll need a client ID for a PayPal app, which you can create from the Developer Dashboard.

Then, you'll need to add the PayPal SDK as a script, replacing YOUR_CLIENT_ID with your app's ID.

<script 

src="https://www.paypal.com/sdk/js?client-id=YOUR_CLIENT_ID"> // Required. Replace YOUR_CLIENT_ID with your sandbox client ID.

</script>

Then, you'll need to create the order, specify a callback OnApprove function, and render the button into a container on the site:

<script>

paypal.Buttons({

createOrder: function(data, actions) {

// This function sets up the details of the transaction, including the amount and line item details.

return actions.order.create({

purchase_units: [{

amount: {

value: '0.01'

}

}]

});

},

onApprove: function(data, actions) {

// This function captures the funds from the transaction.

return actions.order.capture().then(function(details) {

// This function shows a transaction success message to your buyer.

alert('Transaction completed by ' + details.payer.name.given_name);

});

}

}).render('#paypal-button-container');

//This function displays Smart Payment Buttons on your web page.

</script>

Of course, this only handles the payment. If you're selling a digital product, for example, you'll need to call one of your own APIs or services to verify and deliver the product to the customer.