{"id":302618,"date":"2026-04-29T14:34:28","date_gmt":"2026-04-29T14:34:28","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dropleather-for-woocommerce\/"},"modified":"2026-04-29T14:31:55","modified_gmt":"2026-04-29T14:31:55","slug":"dropleather-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/vi.wordpress.org\/plugins\/dropleather-for-woocommerce\/","author":23484266,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.5","stable_tag":"1.1.5","tested":"6.9.4","requires":"6.2","requires_php":"8.0","requires_plugins":null,"header_name":"Dropleather for WooCommerce","header_author":"Dropleather Inc.","header_description":"Connect your WooCommerce store to Dropleather for automated leather product fulfillment.","assets_banners_color":"ffffff","last_updated":"2026-04-29 14:31:55","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/dropleather.com\/integrations\/woocommerce","header_author_uri":"https:\/\/dropleather.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":72,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.5":{"tag":"1.1.5","author":"dropleather","date":"2026-04-29 14:31:55"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3518541,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3518541,"resolution":"772x250","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3518541,"resolution":"1","location":"assets","locale":"","width":1200,"height":1200},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3518541,"resolution":"2","location":"assets","locale":"","width":1200,"height":1200},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3518541,"resolution":"3","location":"assets","locale":"","width":1200,"height":1200},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3518541,"resolution":"4","location":"assets","locale":"","width":1200,"height":1200}},"screenshots":{"1":"Dashboard \u2014 order stats and recent orders","2":"Settings \u2014 connection and sync configuration","3":"Status \u2014 endpoint health and environment info","4":"Support \u2014 error logs with copy and contact"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[261411,39071,13906,261412,286],"plugin_category":[45],"plugin_contributors":[261413],"plugin_business_model":[],"class_list":["post-302618","plugin","type-plugin","status-publish","hentry","plugin_tags-dropleather","plugin_tags-dropshipping","plugin_tags-fulfillment","plugin_tags-leather","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-dropleather","plugin_committers-dropleather"],"banners":{"banner":"https:\/\/ps.w.org\/dropleather-for-woocommerce\/assets\/banner-772x250.png?rev=3518541","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/dropleather-for-woocommerce\/assets\/icon-256x256.png?rev=3518541","icon_2x":"https:\/\/ps.w.org\/dropleather-for-woocommerce\/assets\/icon-256x256.png?rev=3518541","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/dropleather-for-woocommerce\/assets\/screenshot-1.png?rev=3518541","caption":"Dashboard \u2014 order stats and recent orders"},{"src":"https:\/\/ps.w.org\/dropleather-for-woocommerce\/assets\/screenshot-2.png?rev=3518541","caption":"Settings \u2014 connection and sync configuration"},{"src":"https:\/\/ps.w.org\/dropleather-for-woocommerce\/assets\/screenshot-3.png?rev=3518541","caption":"Status \u2014 endpoint health and environment info"},{"src":"https:\/\/ps.w.org\/dropleather-for-woocommerce\/assets\/screenshot-4.png?rev=3518541","caption":"Support \u2014 error logs with copy and contact"}],"raw_content":"<!--section=description-->\n<p><strong>Dropleather for WooCommerce<\/strong> connects your WooCommerce store to <a href=\"https:\/\/dropleather.com\">Dropleather<\/a>, a premium leather goods fulfillment platform. Push products from your Dropleather catalog to your store, automatically receive orders, and sync fulfillment status \u2014 all without manual work.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>One-click connection<\/strong> \u2014 Enter your Dropleather email and you're set up<\/li>\n<li><strong>Product sync<\/strong> \u2014 Push Dropleather products to your WooCommerce store with full details, images, and variants<\/li>\n<li><strong>Order sync<\/strong> \u2014 New WooCommerce orders are automatically sent to Dropleather for fulfillment<\/li>\n<li><strong>Fulfillment tracking<\/strong> \u2014 Order status and tracking numbers sync back to WooCommerce automatically<\/li>\n<li><strong>Dashboard<\/strong> \u2014 View order stats, recent orders, and net profit right in your WordPress admin<\/li>\n<li><strong>Status monitoring<\/strong> \u2014 Check endpoint health, webhook status, and environment compatibility<\/li>\n<li><strong>Error logging<\/strong> \u2014 Full log with copy-to-clipboard for easy support<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.0 or higher<\/li>\n<li>WooCommerce 8.0 or higher<\/li>\n<li>PHP 8.0 or higher<\/li>\n<li>A Dropleather seller account (<a href=\"https:\/\/app.dropleather.com\">sign up free<\/a>)<\/li>\n<\/ul>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin exchanges data with api.dropleather.com only after the site administrator explicitly connects a Dropleather account. No tracking, analytics, or data collection happens before connection.<\/p>\n\n<p><strong>Sent from your store to Dropleather:<\/strong><\/p>\n\n<ul>\n<li>Store URL, domain, WordPress and WooCommerce version numbers<\/li>\n<li>Auto-generated WooCommerce REST API keys with read\/write permissions for products and orders<\/li>\n<li>Product catalogue data synced via the REST API: titles, descriptions, prices, images, SKUs, inventory levels<\/li>\n<li>Order data for orders containing Dropleather products: order number, customer name, email, phone, shipping address, payment status<\/li>\n<\/ul>\n\n<p><strong>Sent back from Dropleather to your store:<\/strong><\/p>\n\n<ul>\n<li>Fulfillment status, tracking numbers, and carrier details to update the matching WooCommerce orders<\/li>\n<\/ul>\n\n<p><strong>Retention:<\/strong><\/p>\n\n<ul>\n<li>Integration credentials (OAuth \/ API tokens) and synced product records are deleted within 48 hours of disconnecting the store<\/li>\n<li>Order records containing customer personal data are retained for 7 years for tax and legal compliance (German HGB \u00a7257, AO \u00a7147), then anonymized<\/li>\n<li>On-demand deletion requests under GDPR Article 17 are honored within 30 days regardless of the 7-year window<\/li>\n<li>Database backups are automatically deleted after 30 days<\/li>\n<\/ul>\n\n<p><strong>Sub-processors:<\/strong><\/p>\n\n<p>Dropleather uses AWS and Supabase for cloud hosting, and Stripe \/ PayPal \/ Adyen for payment processing. A current list of sub-processors is available on request at privacy@dropleather.com.<\/p>\n\n<p><strong>Disconnecting:<\/strong> revokes all API access and stops further data transmission immediately.<\/p>\n\n<p>Full privacy policy: https:\/\/dropleather.com\/legal\/privacy-policy<\/p>\n\n<p>A suggested privacy-policy block is registered via WordPress's Privacy Policy Guide (Settings \u2192 Privacy \u2192 Policy Guide) for admins to paste into their site policy.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install via the WordPress plugin installer<\/li>\n<li>Activate the plugin through the 'Plugins' menu<\/li>\n<li>Go to <strong>Dropleather &gt; Settings<\/strong> in your admin sidebar<\/li>\n<li>Enter your Dropleather account email and click <strong>Connect<\/strong><\/li>\n<li>Done! Your store is now connected<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20dropleather%20account%3F\"><h3>Do I need a Dropleather account?<\/h3><\/dt>\n<dd><p>Yes. Sign up at <a href=\"https:\/\/app.dropleather.com\">app.dropleather.com<\/a> \u2014 it's free to create an account.<\/p><\/dd>\n<dt id=\"how%20are%20orders%20fulfilled%3F\"><h3>How are orders fulfilled?<\/h3><\/dt>\n<dd><p>When a customer places an order on your WooCommerce store containing Dropleather products, the order is automatically sent to Dropleather. Dropleather handles production and shipping, then syncs the tracking number back to your store.<\/p><\/dd>\n<dt id=\"can%20i%20disconnect%20my%20store%3F\"><h3>Can I disconnect my store?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>Dropleather &gt; Settings<\/strong> and click <strong>Disconnect<\/strong>. All webhooks and stored credentials will be removed.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Improved: heartbeat now runs via Action Scheduler instead of <code>wp_schedule_event<\/code> so the connection-status badge stays accurate on quiet\/dev\/staging stores where WP-cron silently skips fires (Action Scheduler runs via its own background processor, independent of visitor traffic). Same library used by Stripe, Klaviyo, MailPoet etc.<\/li>\n<li>Added: lifecycle webhook on plugin deactivation\/uninstall \u2014 Dropleather now learns within seconds when a seller deactivates or deletes the plugin, instead of waiting on the 2-hour heartbeat-stale threshold. Fixes the \"I uninstalled and the dashboard still says Connected\" UX gap<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Added: 5-minute liveness heartbeat (<code>wp_schedule_event<\/code>) so the Dropleather dashboard's <code>\/integration<\/code> page can show a real 3-state health badge (active \/ idle \/ stale) instead of a stale \"Connected\" pill that lies after the plugin is deactivated or the WP server goes offline. One ping fires synchronously on activation and after a successful pair so the seller is shown active immediately<\/li>\n<li>Added: dashboard orders table now refreshes via WordPress Heartbeat API delta tick \u2014 new WooCommerce orders appear within ~15 s without reloading the WP-admin tab. Steady-state cost on the api side is one indexed <code>since<\/code> lookup per tick when nothing changed<\/li>\n<li>Fixed: stable-tag mismatch in the WP.org submission (<code>Stable tag<\/code> now matches the plugin header <code>Version<\/code>)<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Internal: bumped to ship the orders auto-refresh code path<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Added: WP 6.5+ <code>Requires Plugins: woocommerce<\/code> header for native WooCommerce dependency check<\/li>\n<li>Fixed: setup wizard redirect now fires only once on activation (one-shot transient) instead of on every admin page load \u2014 addresses WordPress.org Guideline 11<\/li>\n<li>Fixed: <code>Plugin URI<\/code> now points to a live page (<code>\/integrations\/woocommerce<\/code>)<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fix: webhook registration now purges <em>every<\/em> webhook pointing at the Dropleather delivery URL before creating new ones \u2014 prevents accumulation across reconnects, plugin delete\/reinstall, or manual DB edits<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>WordPress.org submission prep: removed the bundled GitHub update checker (plugins on WP.org are updated through WP.org's own update channel)<\/li>\n<li>Migrated every log-table query to the native <code>%i<\/code> identifier placeholder introduced in WordPress 6.2<\/li>\n<li>Bumped minimum WordPress requirement to 6.2 and tested-up-to to 6.9<\/li>\n<li>Removed redundant <code>load_plugin_textdomain()<\/code> \u2014 translations are auto-loaded for WP.org-hosted plugins since WP 4.6<\/li>\n<li>Slug renamed to <code>dropleather-for-woocommerce<\/code> (WordPress trademark policy requires the \"for woocommerce\" pattern)<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Verification release for the GitHub-based auto-update channel<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Hardened PHPCS compliance \u2014 escaped version-requirement notices, prefixed global variables in uninstaller + dashboard template, renamed <code>$order<\/code> loop variable to avoid colliding with WooCommerce's global<\/li>\n<li>Resolved PHPCS errors reported by the WordPress-Extra + WordPress.Security rulesets so CI runs clean<\/li>\n<li>Whitelisted WooCommerce's <code>manage_woocommerce<\/code> capability in phpcs.xml.dist<\/li>\n<li>No runtime-visible changes \u2014 purely code-quality + CI hygiene<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Hardened logger DB queries (centralised table-name validation, back-ticked identifiers, DELETE in place of TRUNCATE for broader hosting compatibility)<\/li>\n<li>Added pre-connect privacy disclosure aligned with the full Dropleather Privacy Policy \u2014 lists every data field exchanged, two-way (store \u2192 Dropleather and Dropleather \u2192 store), retention periods (48h \/ 7y \/ 30d), sub-processors, and GDPR Article 17 handling<\/li>\n<li>Registered a suggested privacy-policy snippet via WP's Privacy Policy Guide (Settings \u2192 Privacy \u2192 Policy Guide)<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Health check auto-disconnect when token is revoked on the Dropleather dashboard<\/li>\n<li>Added GitHub-based auto-update mechanism (plugin-update-checker)<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Store connection via API key pair<\/li>\n<li>Order sync via WooCommerce webhooks<\/li>\n<li>Product push from Dropleather catalog<\/li>\n<li>Fulfillment status sync with tracking numbers<\/li>\n<li>Dashboard with stats and orders table<\/li>\n<li>Status page with health checks<\/li>\n<li>Support page with error logs<\/li>\n<\/ul>","raw_excerpt":"Connect your WooCommerce store to Dropleather for automated leather product fulfillment.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/302618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=302618"}],"author":[{"embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dropleather"}],"wp:attachment":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=302618"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=302618"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=302618"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=302618"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=302618"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=302618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}