Marketplace · Extension
Paddle
Use Paddle Billing overlay checkout with order prices, refunds and provider-managed subscriptions.
About this package
What it does
Use Paddle Billing overlay checkout with order prices. Agovena sends order data without product ID mapping, supports full and partial refunds, and can create automatic subscriptions through Paddle Billing. Paddle remains the provider-owned checkout surface, while Agovena exposes method-specific options and checks Paddle's transaction preview before opening a filtered overlay. 2
Requirements
Agovena Core ^0.0.1. The manifest declares no additional package dependency. Provider accounts and external service access are separate from package installation. 1
This extension is production-ready for the supported Paddle Billing workflow when the public HTTPS origin, Paddle environment, client-side token, API key and webhook destination are configured consistently. Complete the Sandbox or live account approval and provider-side verification before accepting real orders.
Set up the package
Configure api_key, client_token, webhook_secret and sandbox. Sandbox defaults to true. Configure the Paddle Default payment link as the public Paddle.js launcher at /paddle/checkout; webhook processing cannot be disabled. No Agovena product ID or Paddle price ID mapping is required.
Local status-sync testing
Paddle requires a public HTTPS origin for a complete test because its servers must deliver webhooks. A local localhost URL only becomes testable through a public tunnel such as Cloudflare Tunnel or ngrok. Complete a Paddle Sandbox checkout using the public launcher URL, then verify the order and webhook lifecycle in Agovena.
Operation and failure handling
An empty order prevents checkout creation. Paddle receives the order total as an inline price and returns a provider transaction ID. Paid webhook validation compares payment and order references, currency, grand total and the generated transaction line total. Partial refunds use Paddle adjustments and require the transaction line-item ID. Automatic subscriptions use an inline billing_cycle; Paddle then owns renewal lifecycle. Reconcile an unknown request outcome before starting a new transaction. 2