Paddle is a merchant of record, which means they handle payments on your behalf. This means that they also remit US sales tax, EU/UK VAT, Indian GST and pretty much any other sales tax you can think of. For this service they charge a higher fee (5% + $0.50) than a pure payment processor like Stripe (1.4%-2.9% + $0.30).
With CourseMaker, you can choose either integration.
If you are just getting started, Stripe is an easier option as all the setup steps are automated. If you already handle sales tax / EU VAT yourself then using Stripe means lower fees.
On the other hand, if you don't want to ever have to think about the admin of sales tax, Paddle is a better option.
note that you can always start with Stripe and then switch to Paddle later.
1. Setup a custom domain for you CourseMaker school (ideally with an email address associated with that domain)
See here for the custom domain docs
You'll find the instructions on the Paddle site
Paddle will go through a manual checking process on your site, which takes between 2-5 working days. Under paddle's terms and conditions you are permitted to sell digital goods, but not live teaching/coaching. They usually email to ask about what you are selling.
In some cases, Paddle will also ask you to go through KYC identify verification checks (this depends on the country where you are based).
Once you've received approval from Paddle, in your CourseMaker dashboard go to
school -> payments
Click on "connect paddle"
Then you'll need 3 pieces of information:
- Your Paddle Vendor ID
This is located in your paddle dashboard under Developer Tools -> SDK API
Important*: The API key shown in the SDK API is not** the one you need to enter in the CourseMaker Dashboard.
- Your Paddle API Key This is located in your paddle dashboard under Developer Tools -> Authentication
Under "Active Integrations & Auth Codes" there should be a default API key. Click "Reveal Auth Code" and copy this over to CourseMaker
- Paddle Webhook Public Key This is located in your paddle dashboard under Developer Tools -> Public Key
It is of the format:
-----BEGIN PUBLIC KEY-----abcdabcdabcdabcdabcdabcd-----END PUBLIC KEY-----
Once you've entered these three pieces of information into your CourseMaker dashboard, refresh the page and you should see a green checkmark saying your paddle account is connected.
Your need to tell paddle where to allow sales to occur. In order to do this, in your paddle dashboard go to:
Checkout -> Checkout Settings -> Approved Domains
Enter your domain (without https://), and click "add" then "save". Paddle will manually review this domain (so you need to make sure it is your CourseMaker site's real custom domain), and give approval in a day or two.
Within the CourseMaker dashboard, you can now generate Paddle prices by going to "Add Price". We will use your Paddle credentials to generate these products and prices for you.
Important: You need to rebuild your site via the
Make Live button for these changes to take effect.
At the moment, we only support Paddle integrations for one-time payments (not memberships). Adding this support is on our roadmap. If you need this urgently, we do have an experimental capability (email email@example.com for a guide).
- Q: Do I need to setup Paddle webhooks?
- A: No, this is handled by us.
- Q: Do I need to create products in Paddle?
- A: No, this is handled by us.
- Q: How long does it take for Paddle to approve my site?
- A: 2-5 working days.
- Q: How much do Paddle charge?
- A: They are reluctant to reveal exact amounts, but it is approximately 7%.
- Q: So do I get a report for sales tax / VAT from Paddle?
- A: Yes, but they also do the tax remittance to the appropriate government for you.
- Q: Wait, they do my taxes for me?
- A: They handle all your sales and value added taxes for you. You still have to handle your income tax.
- Q: Can I use Stripe instead of Paddle?
- A: Yes.