Appearance
Paddle
Paddle is the most established merchant of record for software. It has one structural difference from every other provider here, and it's worth understanding before you start.
Paddle has no hosted checkout by default
Every other provider gives you a URL to send buyers to. Paddle instead creates a transaction, and the payment link for it points at a page you host — on a domain Paddle has approved, running Paddle.js.
PackEdge hosts that page for you at packedge.dev/pay. You approve our domain once and never think about it again.
Paddle also offers a fully hosted checkout at pay.paddle.io, but it requires separate approval on live accounts. If you have it, tick Use Paddle-hosted checkout and buyers skip our page entirely.
What you need
| Field | Required | Where |
|---|---|---|
| API key | Yes | Paddle → Developer tools → Authentication |
| Client-side token | Yes* | Paddle → Developer tools → Authentication → Client-side tokens |
| Use Paddle-hosted checkout | No | Toggle in the connect form |
* Required unless you use Paddle-hosted checkout. The client-side token is public by design — it's the value a normal Paddle integration ships in its own frontend. It is not your API key, and PackEdge only ever puts the client token in the checkout URL.
Before you connect
- Set a default payment link in Paddle → Checkout → Checkout settings. Transactions cannot be created without one.
- Get the domain approved. Add
packedge.dev(or your own page's domain) in Paddle → Checkout → Request domain approval.
Live domain approval takes time
Sandbox domains are approved automatically. Live domains are reviewed manually — Paddle estimates 5–7 business days. Do your setup in sandbox while you wait.
Webhook
Paddle does not let PackEdge create the endpoint. Add it yourself:
Paddle → Developer tools → Notifications → new destination, type Webhook, pointing at the URL shown in the console. Subscribe:
transaction.completedsubscription.created,subscription.activated,subscription.updatedsubscription.canceled,subscription.past_due
Copy the destination's secret key into the console.
Replaying a delivery
Paddle → Notifications → Logs lets you replay any delivery. That's the easiest way to confirm your webhook works without paying again — and PackEdge dedupes, so a replay won't mint a second license.
Plans
Automatic. PackEdge creates a Paddle product per plan and a price under it. Like Stripe, Paddle prices are immutable — a price change mints a new one and archives the old.
Test mode
Sign up separately at sandbox-vendors.paddle.com. Sandbox needs no business verification and approves domains automatically, which is why all first-time setup should happen there.
Card 4242 4242 4242 4242, any future expiry, CVC 100.
