Frequently asked questions

Everything about Paddle for WooCommerce — setup, pricing, webhooks, security.

General

What is the Paddle for WooCommerce plugin? +

PimiPay is a WooCommerce Paddle plugin that integrates Paddle Billing with your store. It handles product synchronization, checkout, refunds, real-time webhooks, and automatic order management — so you can accept payments worldwide with minimal setup.

Is PimiPay a WordPress plugin or a hosted service? +

It is a WordPress plugin that you install on your own site. Nothing is hosted for you and your store does not move anywhere: orders, customers and products stay in your own WordPress database, and Paddle is used only to take the payment and handle the tax. That is the difference between this and selling through a hosted storefront, where your catalogue and customer records live on someone else's platform.

Do I need a Paddle account? +

Yes, you need an active Paddle Billing account. You can sign up for free at paddle.com. The plugin works with both sandbox (staging) and production environments for easy testing before going live.

What are the system requirements? +

- PHP 8.3 or higher - WordPress 6.0 or higher - WooCommerce 4.0 or higher - An active Paddle Billing account - SSL certificate (HTTPS required for webhooks)

Is it compatible with WooCommerce HPOS? +

Yes. The plugin fully supports WooCommerce High-Performance Order Storage (HPOS), which is the modern order storage architecture. Your store is future-proof whether you use HPOS or the legacy post-based order storage.

Does it work with the Cart & Checkout Blocks? +

Yes. The gateway is registered with the WooCommerce Cart & Checkout Blocks as well as the classic checkout, so Paddle appears as a payment method either way and payment completes on the order confirmation page in both flows. Availability is decided on the server, so the method disappears from the block checkout when the API is not configured or a cart item has not been synced to Paddle. Stores on a WooCommerce version without Blocks are unaffected.

Can I use it alongside other payment gateways? +

Yes. PimiPay for Paddle registers as a standard WooCommerce payment gateway. Customers can choose between Paddle and any other active gateways (Stripe, PayPal, etc.) at checkout.

Products & Checkout

Does this work with variable products? +

Yes. The plugin fully supports both simple and variable products. Each variation is synced as a separate price in Paddle, allowing customers to purchase any variation through the checkout modal.

How does the product sync work? +

Go to your WooCommerce Products page in WordPress Admin, hover over any product, and click "Sync with Paddle". The plugin creates the product and all its variations in Paddle automatically, storing the Paddle IDs as product meta for future reference.

Can I sync products in bulk? +

Yes, three ways: - Select any number of products on the Products screen and choose "Sync with Paddle" from the Bulk actions dropdown. If the selection is large enough that the sync runs out of time, it stops early and tells you how many products were not synced, so you can run it again for the rest. - Tag the products you sell through Paddle (default tag: "paddle") and enable Auto-Sync. All tagged products are then synced on a schedule you choose, including price changes. - Sync any single product from its row on the products list using the "Sync with Paddle" action link.

Can two products point at the same Paddle product? +

No, and the plugin now stops you doing it by accident. If you set a Paddle Product ID that another WooCommerce product already holds, the save is rejected and the sync stops rather than quietly taking the link over. This matters because two products sharing one Paddle product also share its prices: both charge the same amount at checkout no matter what WooCommerce displays, and syncing either one rewrites what the other sells at. It is invisible for as long as the two happen to cost the same, which is exactly the situation right after duplicating a product — so duplicates are created unsynced too.

Can I sell physical products through Paddle? +

No. Paddle is a merchant of record for digital products and software, and its terms do not cover shipping physical goods. This is a Paddle restriction, not a plugin limitation. The catch is that nothing fails visibly — a Paddle checkout containing a physical product completes normally, and the problem surfaces later as a rejected payout or an account review. Because of that, the plugin has an option to hide Paddle automatically whenever the cart contains a product that is not marked Virtual, so those customers are shown your other payment methods instead. It is off by default, so enabling it is your choice.

How does the checkout work? +

When a customer places an order and selects Paddle as the payment method, they are redirected to the order confirmation page where the Paddle checkout appears automatically, pre-filled with the customer's email and name. This works the same way on the classic checkout and the Cart & Checkout Blocks. After successful payment, the order status is updated via webhooks.

Can the checkout be embedded in the page instead of a popup? +

Yes. The Checkout Display setting offers two modes: - Overlay (popup) — the default. Paddle's hosted checkout opens on top of your page. This is the simpler, more thoroughly tested path. - Inline (embedded in the page) — Paddle renders the payment form into a container in the page, so nothing pops up. Inline mode renders the payment form only, so your page stays responsible for showing the order summary, and custom checkout templates may need some styling work. If the container is missing, the plugin falls back to the overlay rather than leaving the customer with no way to pay.

Can I change how the Paddle checkout looks, or what language it is in? +

Both, from the gateway settings. Checkout Theme switches Paddle's own checkout between light (Paddle's default) and dark, which matters if your store is dark and a white checkout drops on top of it. It changes the Paddle checkout only, not your store around it. Checkout Language decides which language Paddle shows the checkout in. By default Paddle follows the customer's browser, even when they have deliberately switched your store to another language. Setting it to match the store language sends Paddle whatever language WordPress is currently serving, so a multilingual store built with WPML or Polylang gets the right checkout language automatically on every request, with no mapping to maintain. If the store's language is not one Paddle's checkout supports, it falls back to following the browser rather than sending Paddle something it would reject.

What payment methods does Paddle support? +

Paddle supports credit and debit cards, PayPal, Apple Pay, Google Pay, wire transfers, and many local payment methods depending on the customer's region. PimiPay inherits all payment methods available in your Paddle account — no extra configuration needed.

Does Paddle handle sales tax? +

Yes. Paddle acts as a Merchant of Record (MoR), which means they handle sales tax, VAT, and GST calculations and remittance automatically in supported regions. You don't need to worry about tax compliance — Paddle takes care of it.

Can I refund an order from WooCommerce? +

Yes. Use WooCommerce's own refund button on the order edit screen, in full or in part, and the plugin sends the refund to Paddle as a refund adjustment. Paddle approves some refunds immediately and reviews others manually, which can take days. While a refund is awaiting approval no money has moved, so the plugin deliberately does not record a WooCommerce refund yet — the adjustment is stored on the order with a note explaining that it is pending. Once Paddle approves it, the refund appears on the order automatically; if Paddle rejects it, an order note says so instead.

What if I refund from the Paddle dashboard instead? +

An approved refund made in the Paddle dashboard is synced into WooCommerce as a refund on the matching order, so both sides stay in step without any manual work. This is also the route to use when an order's currency differs from its Paddle transaction currency — those amounts cannot be mapped one to one, so the plugin refuses the refund locally and leaves it to the dashboard, from where it syncs back.

Can customers manage their own billing and invoices? +

Yes. A Manage Billing item is added to My Account for customers who have paid with Paddle. It takes them straight into Paddle's hosted customer portal, where they can see their payment history, download invoices and update their card — no second login. The portal session is created fresh on each click, since Paddle's portal links are short-lived, and nothing is stored on your site.

Does it support subscriptions? +

Subscription support through Paddle Billing is on the roadmap and planned for a future release. Currently the plugin handles one-time payments. Stay tuned for updates.

What is cart recovery? +

Cart recovery handles Paddle's recovery email links. If a customer abandons checkout, Paddle can send a recovery email. When the customer clicks the link, they are brought back to their pending order on your site where they can complete the payment.

Webhooks & Security

Are webhooks required? +

Webhooks are highly recommended for automatic order status updates. Without webhooks, orders can still be verified on the thank you page, but you won't get real-time updates for refunds, cancellations, or other payment events. The plugin makes webhook setup easy.

How are webhooks verified? +

All incoming webhook notifications from Paddle are verified using HMAC SHA256 signature verification. The plugin checks the signature header against your webhook secret to ensure the notification is authentic and hasn't been tampered with.

Is my data secure? +

Security is a top priority. Webhook notifications are verified with HMAC SHA256 signatures. All transactions are validated server-side before order completion — the plugin checks that payment amounts match order totals and verifies transaction status. API keys are stored securely in WordPress options.

How do I know my webhooks are working? +

The gateway settings include a webhook health panel for the environment you are configured against. It shows a traffic light with the current state and a suggested fix when something is wrong — no webhook secret configured, nothing ever delivered, the last delivery rejected, or nothing verified in over a week — alongside when the last delivery arrived, what event it was, and how it was handled. "Show recent deliveries" fetches the 15 most recent notifications from Paddle with their event, status, time and attempt count, and each row has a Replay button that asks Paddle to send that delivery again. The panel is built from a privacy-safe local summary — timestamps, event type, result and counters — so opening the settings page never waits on the Paddle API, and no payloads or customer data are stored.

What happens if a webhook fails? +

Paddle automatically retries failed webhook deliveries. The webhook health panel in the gateway settings shows the failure and its likely cause, and lets you replay any recent delivery once the problem is fixed. With debug logging enabled the plugin also logs every webhook event, so you can diagnose issues from the WooCommerce Status page.

How does transaction validation work? +

After a customer completes payment, the plugin verifies the transaction server-side with the Paddle API. It checks that the transaction status is valid, the payment amount matches the order total, and the custom data (order ID) matches. Only after all checks pass is the order marked as completed.

Setup & Configuration

How do I install the plugin? +

Download the plugin zip file, upload it via WordPress Admin (Plugins → Add New → Upload), or extract it to wp-content/plugins/. Activate the plugin from the Plugins page.

What Paddle credentials do I need? +

You need three things from your Paddle dashboard: - Seller ID — Your numeric Paddle seller ID, used to initialize the checkout overlay - API Key — For server-side API calls (product sync, transaction verification) - Webhook Secret — For verifying webhook signatures. Registering the webhook from the settings screen usually fills this in for you, since creating the destination is the one moment Paddle returns the secret; paste it yourself only if the destination already existed. You can configure separate credentials for sandbox and production environments.

Can I test before going live? +

Yes. The plugin supports separate staging (sandbox) and production configurations. Enter your Paddle sandbox credentials, test the full checkout flow with test card numbers, and switch to production when you're ready. No code changes needed.

How do I know my Paddle setup is actually healthy? +

Two places, both inside WordPress. Tools → Site Health runs six checks while the gateway is enabled: whether an API key and webhook secret are set for the environment you are transacting in, whether a webhook is registered, whether deliveries are arriving and being processed, whether auto sync is scheduled, and whether any product's last sync failed. Each failing check says what breaks in practice and links to the screen where you fix it. WooCommerce → Status has a Paddle section covering the same ground as a report you can copy and paste. It never includes your API key or webhook secret by value, so it is safe to send to support. These are the failures that are otherwise silent — nothing on the store looks broken, orders simply stop completing or products stop syncing. The matching admin notices also clear themselves once the problem is gone, so you never have to guess whether dismissing one hid a real issue.

How do I enable debug logging? +

Enable the "Debug Log" option in the plugin's WooCommerce payment gateway settings. Logs are written to the standard WooCommerce log and can be viewed from WooCommerce → Status → Logs. Disable logging in production for optimal performance.

Pricing & Licensing

How much does the plugin cost? +

Single Site — $59/year (1 domain). Includes every feature, premium email support, and 1 year of updates.

Are there any additional fees? +

The plugin license is the only cost from PimiPay. Paddle charges its own transaction fees (typically 5% + $0.50 per transaction) which are separate from the plugin license. Check Paddle's pricing page for current rates.

Can I see what Paddle charged on a given order? +

Yes. Orders paid with Paddle get a Paddle Transaction Details panel on the order edit screen showing the transaction status, payment method, subtotal, tax and grand total, and Paddle's fee alongside your earnings. The transaction ID links through to the right Paddle dashboard for the environment that processed it, and a View invoice (PDF) link is generated on demand, because Paddle's invoice URLs expire after about an hour.

What happens after purchase? +

You receive a download link and license key via email. Download the plugin zip, install it on your WordPress site, and activate your license in the plugin settings. Your license key enables automatic updates for 1 year.

What happens when my license expires? +

The plugin continues to work indefinitely after your license expires. You just won't receive new updates or support until you renew. Renewal is at the same rate.

Can I use this on multiple sites? +

The Single Site license is valid for one domain. If you need licenses for additional sites, purchase a separate license for each. Contact support@pimipay.com for volume pricing.

Do you offer refunds? +

Yes, we offer a 30-day money-back guarantee. If you're not satisfied for any reason, contact us at support@pimipay.com within 30 days of purchase for a full refund.

Is there a free trial? +

There is no free trial at this time. You can review the full feature set on the homepage before purchasing. We offer a 30-day money-back guarantee if you're not satisfied.

Support & Updates

How do I get support? +

All license holders get access to premium email support at support@pimipay.com. We typically respond within 24 hours on business days.

How do automatic updates work? +

The plugin integrates with the WordPress update system. When a new version is available, you'll see a notification in your WordPress admin and can update with one click — just like any other plugin. An active license key is required to receive updates.

Where can I find the documentation? +

Documentation is available at pimipay.com/docs. It covers installation, configuration, product sync, webhooks, and troubleshooting.

Where can I see the changelog? +

The full changelog is available at pimipay.com/changelog. Each release includes details about new features, improvements, and bug fixes.