Skip to content
On this page

Connected platform guide

Connect Paddle to Drawspan

Use completed transactions to issue and renew licences, then use approved adjustments to handle refunds and chargebacks.

Before you start

  • A separate Paddle sandbox account for testing.
  • A Paddle product and price.
  • A client-side token and a working Paddle Checkout.
  • A default payment link or approved checkout domain.
  • A Drawspan product with a reusable licence plan.
  1. In Connected platforms, choose Connect platform, then Paddle.
  2. Give the connection a name your team will recognise. Keep its workspace open.
  3. Expand step 1 and copy the webhook URL. Paste that URL into the provider dashboard below.
  4. Save the provider secret in the matching Drawspan endpoint. For Lemon Squeezy, generate it in Drawspan first. Gumroad has no signing secret.
  5. Expand step 2, link the product, then follow the testing instructions before enabling live sales.

Read the shared testing, expiry, email and recovery rules. Drawspan grants access to customers and seats; it does not email separate licence keys or issue ownerless licences.

Configure the webhook

Open Developer tools → Notifications → New destination.

Create the Test destination in the sandbox account and the Live destination in the production account.

FieldValue
TypeURL
Destination URLThe Drawspan webhook URL (the same URL for Test and Live)
API versionThe current Paddle Billing version for the account
Usage typeAll for sandbox checkout and simulator events; Platform for production events only
Endpoint secretEdit the saved destination, copy its secret, and store it in the matching Drawspan endpoint. Test and Live must use different secrets.

Select events

Select or create the events in the order shown below. The names follow the provider’s event picker.

  1. adjustment.createdRevoke for an approved full refund or chargeback. Pending or partial refunds leave access unchanged.
  2. adjustment.updatedRevoke correlated access when Paddle approves a full refund or chargeback. Partial refunds leave access unchanged.
  3. customer.createdRetain the buyer email for completed transactions.
  4. customer.updatedRefresh signed customer history and retry waiting purchases.
  5. transaction.completedIssue a one-time licence or start and renew a subscription term.

Test the connection

  1. Set up a sandbox client-side token and default payment link before opening Paddle Checkout.
  2. Open a real sandbox Checkout for the mapped price. Checkout uses a pri_ ID even when Drawspan maps its pro_ Product ID.
  3. Complete the payment with 4242 4242 4242 4242, a future expiry, and CVC 100.
  4. In Drawspan, refresh the connection and inspect Recent webhooks. Confirm the transaction and mapped Price ID. Sandbox data does not grant production access.
  5. The Paddle webhook simulator checks delivery and signature verification. Drawspan does not issue access from simulated events.

Checkout setup

Use Paddle Billing, not Paddle Classic. In the sandbox dashboard, create a client-side token under Developer tools → Authentication and configure Checkout → Checkout settings → Default payment link. Open this page from that allowed checkout domain. Customer webhooks provide the email; custom data is optional for already signed-in buyers. Use your own token and price below. Never put a Paddle API key in browser code.

<script src="https://cdn.paddle.com/paddle/v2/paddle.js"></script>
<button id="buy">Buy</button>
<script>
Paddle.Environment.set('sandbox');
Paddle.Initialize({ token: 'test_YOUR_CLIENT_SIDE_TOKEN' });
document.getElementById('buy').addEventListener('click', () => {
  Paddle.Checkout.open({ items: [{ priceId: 'pri_YOUR_PRICE_ID', quantity: 1 }] });
});
</script>

Inspect the event’s outcome, then check the customer, product, seats and expiry separately. A verified sandbox mapping does not prove production issuance or email delivery. For a local development rehearsal with test processing enabled, also verify the licence and captured email, then refund the test purchase. For subscriptions, exercise renewal, cancellation and a renewal refund. See the verification checklist.

Purchases, renewals, refunds, and cancellations

ChangeWhat Drawspan does
Initial paymenttransaction.completed issues access after Paddle completes the transaction.
Renewalsubscription_recurring transactions extend access through the provider period end without shortening it. Subscription updates and payment-method changes do not renew.
Cancellationsubscription.canceled stops future renewals. The recorded paid-through date stays unchanged.
Full refund or chargebackAn approved full adjustment revokes access linked to the transaction.
Partial adjustmentAn approved partial refund is recorded without changing access, even when one item is fully refunded. Adjust licences manually if needed. Pending and rejected adjustments do not revoke.
Several partial refundsDrawspan uses Paddle’s full or partial adjustment type. If several partial adjustments refund the remaining balance, review the customer and revoke manually; Drawspan does not add up Paddle adjustments.
Failed or past-due paymentDrawspan records the event and leaves existing paid access unchanged.

Limits and recovery

  • Inspect the notification delivery in Paddle before changing the Drawspan mapping.
  • If an adjustment stays pending, wait for adjustment.updated after Paddle approves or rejects it.
  • Restore a disabled destination in Paddle, then send a real sandbox transaction to verify the complete path.
  • Keep the sandbox and production endpoint secrets different. Drawspan uses the verified secret to identify the environment and rejects an identical pair.
  • Repeat the setup in the production Paddle account. Sandbox products, prices, client-side tokens, destinations, and secrets are separate.

After correcting an accepted event, open Recent webhooks in its connection and choose Retry processing. Signature-rejected events cannot be retried inside Drawspan; resend them from the provider after fixing the secret. A missed event that was never accepted still requires a provider resend or manual correction. Recovery details.

Troubleshooting

Checkout says something went wrong
Configure the default payment link, client-side token, and allowed domain before opening the overlay.
A completed transaction has no customer
Enable both customer events and resend the customer notification. Drawspan retries the waiting transaction when its matching history arrives. Checkout custom data is optional.
The simulator arrived but no licence was issued
Complete a real sandbox checkout. Drawspan ignores simulated purchases.
A full refund did not revoke access
Check that Paddle reports an approved adjustment with type full. Partial adjustments leave access unchanged. Recover the original transaction if unresolved, then retry the receipt.

Official references