Paddle provides a complete payments, tax, and subscriptions solution for SaaS businesses. This article will explain how to integrate Rewardful with your Paddle checkout system.

Rewardful Account Setup

Start by signing up for a Rewardful account at rewardful.com. During the setup process, you'll be prompted to choose a payment processor. You should choose Paddle.

Once that's done, you'll need to find your Paddle public key in the Paddle admin dashboard under Developer Tools → Public Key. It should looks something like what's shown in the screen shot below.

Copy and paste your Paddle public key including the BEGIN and END markers into the text area provided here.

Once you've done that, proceed with the next steps of the setup process: adjusting your account settings and creating a first campaign.

After that's done, you'll need to configure Paddle to send us webhook notifications whenever events occur that are required by Rewardful to maintain records of sales and commissions for your affiliates and referred customers. See our article about how Rewardful uses data from Paddle for more information.

On the last page of the setup process, you should see the unique webhook endpoint URL that we've already generated. Click the Copy button to copy the URL straight to your clipboard.

Navigate to Developer Tools → Events and locate the "URLs for receiving webhooks" section.

Paste the URL you just copied from Rewardful into the provided text field in Paddle shown above, and be sure to click the "Save Changes" button at the bottom of the screen to confirm your changes.

At this point in the process, you'll need to return to Rewardful and follow the remaining instructions to install the Rewardful JavaScript and configure the integration with Paddle checkout which involves sending a Rewardful referral ID to Paddle as a passthrough variable

When someone arrives on your website through an affiliate link, Rewardful creates a unique referral ID to represent that visitor. This value (a UUID string) must be passed to the Paddle.Checkout.open() function call as a custom parameter.

So if your initial checkout setup code looks something like this:

<a href="#!" id="buy">Buy now!</a>
<script type="text/javascript">
function openCheckout() {
Paddle.Checkout.open({ product: 12345 });
}
document.getElementById('buy').addEventListener('click', openCheckout, false);
</script>

You'll need to update it to include an additional passthrough parameter containing the referral ID like this:

<a href="#!" id="buy">Buy now!</a>
<script type="text/javascript">
function openCheckout() {
const referral = window.Rewardful && window.Rewardful.referral
Paddle.Checkout.open({
product: 12345,
passthrough: JSON.stringify({ rewardful: { referral: referral } })
});
}
document.getElementById('buy').addEventListener('click', openCheckout, false);
</script>

Current limitations

Rewardful's Paddle integration doesn't yet support the following features, but we're working hard to add them 🙂

If you have any questions about using Rewardful with Paddle, please email paddle@rewardful.com.

⚠️ Paddle is an alternative to Stripe. It's not possible to use Stripe and Paddle with Rewardful at the same time.

Did this answer your question?