{"id":384955,"date":"2026-10-13T01:40:49","date_gmt":"2026-10-13T01:40:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wpinterface-checkout-with-paddle-for-woocommerce\/"},"modified":"2026-10-13T01:40:15","modified_gmt":"2026-10-13T01:40:15","slug":"wpinterface-paddle-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/wpinterface-paddle-for-woocommerce\/","author":16027676,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.3","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"WPInterface Checkout with Paddle for WooCommerce","header_author":"WPInterface","header_description":"Sell with Paddle as your merchant of record: Paddle takes the payment in a secure popup on your WooCommerce checkout and handles sales tax, VAT and invoices. Works with Paddle Billing and Paddle Classic.","assets_banners_color":"a1a1a8","last_updated":"2026-10-13 01:40:15","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wpinterface.com\/plugins\/checkout-with-paddle-for-woocommerce\/","header_author_uri":"https:\/\/wpinterface.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":53,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"wpinterface","date":"2026-10-13 01:40:15","revision":3742741}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3742741,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3742741,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3742741,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3742741,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3742741,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3742741,"resolution":"1","location":"assets","locale":"","width":2560,"height":1720},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3742741,"resolution":"2","location":"assets","locale":"","width":3444,"height":1842},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3742741,"resolution":"3","location":"assets","locale":"","width":560,"height":698},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3742741,"resolution":"4","location":"assets","locale":"","width":2560,"height":1720},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3742741,"resolution":"5","location":"assets","locale":"","width":2560,"height":1720}},"screenshots":{"1":"Paddle settings: account type, credentials and webhook setup.","2":"Paddle's overlay checkout on the WooCommerce Checkout block.","3":"The Paddle box on the WooCommerce order screen: transaction, customer, Paddle total, tax and your earnings.","4":"WooCommerce \u2192 Paddle: setup checklist, last 30 days of Paddle sales and quick links.","5":"WooCommerce \u2192 Paddle \u2192 Help &amp; support: documentation, FAQ and copyable system info."}},"plugin_section":[],"plugin_tags":[259732,187025,6593,19126,286],"plugin_category":[45],"plugin_contributors":[230096],"plugin_business_model":[],"class_list":["post-384955","plugin","type-plugin","status-publish","hentry","plugin_tags-merchant-of-record","plugin_tags-paddle","plugin_tags-payment-gateway","plugin_tags-vat","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-wpinterface","plugin_committers-wpinterface"],"banners":{"banner":"https:\/\/ps.w.org\/wpinterface-paddle-for-woocommerce\/assets\/banner-772x250.png?rev=3742741","banner_2x":"https:\/\/ps.w.org\/wpinterface-paddle-for-woocommerce\/assets\/banner-1544x500.png?rev=3742741","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/wpinterface-paddle-for-woocommerce\/assets\/icon.svg?rev=3742741","icon":"https:\/\/ps.w.org\/wpinterface-paddle-for-woocommerce\/assets\/icon.svg?rev=3742741","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wpinterface-paddle-for-woocommerce\/assets\/screenshot-1.png?rev=3742741","caption":"Paddle settings: account type, credentials and webhook setup."},{"src":"https:\/\/ps.w.org\/wpinterface-paddle-for-woocommerce\/assets\/screenshot-2.png?rev=3742741","caption":"Paddle's overlay checkout on the WooCommerce Checkout block."},{"src":"https:\/\/ps.w.org\/wpinterface-paddle-for-woocommerce\/assets\/screenshot-3.png?rev=3742741","caption":"The Paddle box on the WooCommerce order screen: transaction, customer, Paddle total, tax and your earnings."},{"src":"https:\/\/ps.w.org\/wpinterface-paddle-for-woocommerce\/assets\/screenshot-4.png?rev=3742741","caption":"WooCommerce \u2192 Paddle: setup checklist, last 30 days of Paddle sales and quick links."},{"src":"https:\/\/ps.w.org\/wpinterface-paddle-for-woocommerce\/assets\/screenshot-5.png?rev=3742741","caption":"WooCommerce \u2192 Paddle \u2192 Help &amp; support: documentation, FAQ and copyable system info."}],"raw_content":"<!--section=description-->\n<p>Paddle is a merchant of record: it sells your products on your behalf and takes care of payments, sales tax and VAT, invoices and compliance in every country. This plugin adds Paddle as a payment method to WooCommerce, so buyers pay in a Paddle popup on your own checkout page.<\/p>\n\n<p><strong>Works with both Paddle accounts<\/strong><\/p>\n\n<ul>\n<li>Paddle Billing (accounts created after August 2023): API key and client-side token.<\/li>\n<li>Paddle Classic (older accounts): Vendor ID, API Auth Code and public key.<\/li>\n<\/ul>\n\n<p><strong>Checkout<\/strong><\/p>\n\n<ul>\n<li>Works with the Checkout block and the classic (shortcode) checkout, and on the \"Pay for order\" page.<\/li>\n<li>Paddle's secure checkout opens as an overlay on your checkout page. Buyers never leave your site.<\/li>\n<li>Cards, PayPal, Apple Pay and Google Pay, as enabled in your Paddle account.<\/li>\n<li>No product setup in Paddle: every order is sent with its own lines and prices, so coupons, fees, shipping, variations and multi-item carts just work.<\/li>\n<li>Light or dark theme, checkout language (automatic or fixed), optional payment icons, your own title and description.<\/li>\n<\/ul>\n\n<p><strong>Reliable and safe<\/strong><\/p>\n\n<ul>\n<li>Every webhook is signature-verified; nothing else can mark an order paid.<\/li>\n<li>One click sets up the webhook in Paddle Billing and stores its secret.<\/li>\n<li>Duplicate and simultaneous webhooks are handled, so an order is never paid or refunded twice.<\/li>\n<li>Several stores can share one Paddle account; each store only acts on its own orders.<\/li>\n<li>Payments are confirmed directly with Paddle while the buyer waits (Billing), so a slow webhook doesn't hold anyone up.<\/li>\n<li>Underpaid, wrong-currency or outdated-checkout payments are flagged instead of marking the order paid.<\/li>\n<li>Compatible with High-Performance Order Storage (HPOS).<\/li>\n<li>Test connection button, clear admin warnings and logging to the WooCommerce logs.<\/li>\n<\/ul>\n\n<p><strong>Refunds<\/strong><\/p>\n\n<ul>\n<li>Refunds made in Paddle (full or partial, down to the order line on Billing) are recorded in WooCommerce automatically.<\/li>\n<li>A refund recorded in WooCommerce first (\"Refund manually\") is matched to the Paddle refund that follows, so it is never recorded twice.<\/li>\n<li>Chargebacks and disputes put the order on hold automatically, so you can review it.<\/li>\n<\/ul>\n\n<p><strong>Order screen<\/strong><\/p>\n\n<ul>\n<li>A Paddle box on every Paddle order: the transaction and customer (linked to your Paddle dashboard), the Paddle total, tax and your earnings, and the Paddle receipt (Classic).<\/li>\n<li>A \"Check payment with Paddle\" button for unpaid orders.<\/li>\n<\/ul>\n\n<p><strong>No limits.<\/strong> There are no order, revenue or product limits.<\/p>\n\n<h4>Pro<\/h4>\n\n<p><a href=\"https:\/\/wpinterface.com\/plugins\/checkout-with-paddle-for-woocommerce\/\">WPInterface Checkout with Paddle for WooCommerce Pro<\/a> adds:<\/p>\n\n<ul>\n<li>Subscriptions with WooCommerce Subscriptions: free trials, sign-up fees, renewals, failed payments and cancellations kept in sync with Paddle.<\/li>\n<li>Refunds from the WooCommerce order screen sent to Paddle, down to a single product.<\/li>\n<li>Inline checkout embedded in your checkout page.<\/li>\n<li>Paddle invoices for customers on order pages, in My Account and in order emails.<\/li>\n<li>Priority support.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to Paddle (paddle.com), the payment provider and merchant of record, to take payments. Nothing is sent until you configure the plugin and enable the payment method.<\/p>\n\n<ul>\n<li><strong>Paddle.js<\/strong> is loaded from <code>cdn.paddle.com<\/code> on the checkout and \"Pay for order\" pages so the buyer can pay in Paddle's secure checkout. Paddle receives the buyer's payment details and email address directly.<\/li>\n<li><strong>Paddle API<\/strong> (<code>api.paddle.com<\/code> and <code>sandbox-api.paddle.com<\/code> for Paddle Billing; <code>vendors.paddle.com<\/code> and <code>sandbox-vendors.paddle.com<\/code> for Paddle Classic) is called from your server when an order is placed (order lines, prices, currency, buyer email and billing country, the WooCommerce order number and a site identifier), when the payment is confirmed, and when you click Test connection or Set up webhook (your webhook URL).<\/li>\n<li><strong>Webhooks<\/strong> are sent by Paddle to your site to report payments and refunds.<\/li>\n<\/ul>\n\n<p>Paddle's <a href=\"https:\/\/www.paddle.com\/legal\/terms\">Terms<\/a> and <a href=\"https:\/\/www.paddle.com\/legal\/privacy\">Privacy Policy<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin. WooCommerce 8.0 or newer is required.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Payments \u2192 Paddle<\/strong>.<\/li>\n<li>Choose your Paddle account type (Billing or Classic) and paste your credentials. Leave <strong>Sandbox<\/strong> ticked and use your sandbox credentials while testing.<\/li>\n<li><strong>Paddle Billing:<\/strong> save, then click <strong>Set up webhook<\/strong>. In Paddle, add your domain under Checkout \u2192 Website approval and set your checkout page as the Default payment link (Checkout \u2192 Checkout settings).<\/li>\n<li><strong>Paddle Classic:<\/strong> paste the webhook URL shown in the settings into Paddle \u2192 Developer Tools \u2192 Alerts \/ Webhooks and enable Payment Refunded and Payment Dispute Created.<\/li>\n<li>Tick <strong>Enable Paddle<\/strong>, save, and click <strong>Test connection<\/strong>.<\/li>\n<li>Make a test purchase with Paddle's test card, then untick <strong>Sandbox<\/strong> and enter your live credentials.<\/li>\n<\/ol>\n\n<p><strong>WooCommerce \u2192 Paddle<\/strong> shows a setup checklist and the support options.<\/p>\n\n<p>Paddle cannot send webhooks to local sites (such as <code>*.local<\/code> or <code>localhost<\/code>). For local testing, run a tunnel and point webhooks at it with the <code>wpinterface_paddle_woo_webhook_base_url<\/code> filter.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20create%20products%20in%20paddle%3F\"><h3>Do I need to create products in Paddle?<\/h3><\/dt>\n<dd><p>No. Each order is sent to Paddle with its own lines and prices from WooCommerce.<\/p><\/dd>\n<dt id=\"should%20i%20turn%20off%20woocommerce%20taxes%3F\"><h3>Should I turn off WooCommerce taxes?<\/h3><\/dt>\n<dd><p>Yes. Paddle is the merchant of record and adds sales tax\/VAT itself, so WooCommerce taxes would charge buyers twice.<\/p><\/dd>\n<dt id=\"can%20i%20sell%20physical%20products%3F\"><h3>Can I sell physical products?<\/h3><\/dt>\n<dd><p>Paddle is built for digital products, software and SaaS. Check Paddle's acceptable use policy before selling anything else; shipping costs are charged as a separate line.<\/p><\/dd>\n<dt id=\"can%20i%20sell%20subscriptions%3F\"><h3>Can I sell subscriptions?<\/h3><\/dt>\n<dd><p>Not with this plugin: it takes one-time payments. When WooCommerce Subscriptions is active, Paddle is not offered for carts with a subscription. The Pro version bills subscriptions through Paddle.<\/p><\/dd>\n<dt id=\"how%20do%20refunds%20work%3F\"><h3>How do refunds work?<\/h3><\/dt>\n<dd><p>Refund the payment in your Paddle dashboard; WooCommerce is updated automatically once Paddle approves the refund. If you record a refund in WooCommerce first (\"Refund manually\"), refund the same amount in Paddle afterwards; the plugin matches the two, so the refund is not recorded twice. The Pro version sends refunds from the WooCommerce order screen to Paddle.<\/p><\/dd>\n<dt id=\"which%20currencies%20are%20supported%3F\"><h3>Which currencies are supported?<\/h3><\/dt>\n<dd><p>All currencies Paddle supports. Paddle is hidden at checkout if your store currency is not supported.<\/p><\/dd>\n<dt id=\"the%20buyer%20closed%20the%20paddle%20popup.%20what%20happens%20to%20the%20order%3F\"><h3>The buyer closed the Paddle popup. What happens to the order?<\/h3><\/dt>\n<dd><p>It stays \"Pending payment\" and the buyer can place it again. WooCommerce cancels unpaid orders after its \"Hold stock\" time, like with any other gateway.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20upgrade%20to%20pro%3F\"><h3>What happens when I upgrade to Pro?<\/h3><\/dt>\n<dd><p>Pro uses the same settings, order data and webhook URL as this plugin, so your credentials and existing orders carry over. Activating Pro deactivates this plugin; nothing needs to be set up again.<\/p><\/dd>\n<dt id=\"is%20my%20data%20sent%20anywhere%3F\"><h3>Is my data sent anywhere?<\/h3><\/dt>\n<dd><p>Only to Paddle, which processes the payment. See \"External services\" below.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>New: chargebacks and disputes put the order on hold automatically.<\/li>\n<li>New: the Paddle box on the order screen shows the Paddle total, tax, your earnings and the Paddle receipt (Classic), with a \"Check payment with Paddle\" button for unpaid orders.<\/li>\n<li>Improved: setup warnings show only on the payment settings and the WooCommerce \u2192 Paddle page, and clear themselves once resolved.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: Paddle Billing and Paddle Classic one-time payments with overlay checkout on the Checkout block, the classic checkout and the \"Pay for order\" page; signature-verified webhooks, one-click webhook setup (Billing), payment confirmation while the buyer waits, refunds made in Paddle recorded in WooCommerce, HPOS support, and the WooCommerce \u2192 Paddle page with setup checklist, sales summary, Lite vs Pro comparison and support.<\/li>\n<\/ul>","raw_excerpt":"Take WooCommerce payments with Paddle as your merchant of record. Paddle handles payments, sales tax\/VAT and invoices.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/384955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=384955"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpinterface"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=384955"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=384955"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=384955"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=384955"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=384955"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=384955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}