Paddle checkout

Integrate PartnerStack with your Paddle.com powered checkout

📘

Prerequisites

This guide requires you to have completed a link-tracking integration (PartnerStackJS , S2S) to create a customer in PartnerStack

🚧

Check your Paddle version

This guide covers the integration with Paddle Classic API. The newer Paddle Billing has some different webooks to use.

Getting started

This guide outlines the process of capturing Paddle classic checkout purchases as PartnerStack transactions, allowing you to reward partners with a revenue share of sales.

1. Add CustomData to Paddle checkout

Each checkout instance needs to include the unique customer_key you selected during your link tracking setup. The customer_key is often set to be the customer's email or unique user ID.

Paddle Custom Fields attach structured key-value data to each Paddle checkout instance. This data will be returned to PartnerStack via webhook or API post transaction.

Checkout.Open()

To send custom fields to Paddle, you can pass valid structured JSON into the Checkout.Open
method call in your Paddle.js javascript code.

Your customData must be valid JSON, and include at least one customer_key for proper customer attribution **

Paddle.Checkout.open({
      product: 12345,
      email: "[email protected]",
      customData: {
          "partnerstack_customer_key": "partnerstack_customer_key"
      }
})

2. Setup Paddle webhooks

Now that you've added the customer's unique customer_key to your checkout object, you can set up your paddle webhooks to deliver transactional data to PartnerStack.

About Paddle webhooks

Paddle classic webhooks return customData fields with a custom_data key

  • Subscription payment succeeded (link)
    subscription_payment_succeeded event is fired when a subscription payment is received successfully. Recurring and one off payment related to subscriptions.
  • One-time payment succeeded (link)
    payment_succeeded event is fired when a payment is made into your Paddle account related to a one-time product, not a subscription.
  • Subscription payment refunded(link)
    A subscription_payment_refunded event is fired when a refund has been made to a subscription payment. The refund type can be either full or partial.
  • One-time payment refunded (link)
    payment_refunded event is fired when a refund has been made to a one-time payment. The refund type can be either full or partial.

Capture Paddle events in PartnerStack

With PartnerStack

  1. Reach out to your CSM to log a ticket with an Integration Specialist to assist with this integration.
    Your Integration Specialist will create a recipe with a PUT/POST form encoded webhook trigger

With Paddle

  1. Login to Paddle
  2. Click Developer Tools in the navigation in your Seller Dashboard.
  3. Click on the Events item.
  4. Enter the URL provided by your integration specialist
  5. Check each alert that you wish to receive a notification for. (Subscription Payment Success, Subscription Payment Refunded, Payment Success, Payment Refunded)
  6. Click the "Save Changes" button to confirm your alerts.