{"id":299814,"date":"2026-04-22T10:20:10","date_gmt":"2026-04-22T10:20:10","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/devlin-checkout-geo-flash\/"},"modified":"2026-04-22T10:19:58","modified_gmt":"2026-04-22T10:19:58","slug":"devlin-checkout-geo-flash","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/devlin-checkout-geo-flash\/","author":23469094,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.3","stable_tag":"trunk","tested":"6.9.4","requires":"6.4","requires_php":"8.2","requires_plugins":null,"header_name":"Devlin Checkout Geo Flash","header_author":"Devlin Checkout Geo Flash Contributors","header_description":"WooCommerce plugin for privacy-safe purchase toasts powered by a standalone WordPress-native runtime.","assets_banners_color":"d2d3d4","last_updated":"2026-04-22 10:19:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":91,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"0.2.3":"<p>Rebuilds the plugin admin screens around native WordPress and WooCommerce UI patterns and flattens WordPress.org asset storage.<\/p>","0.2.2":"<p>Moves Checkout Geo Flash to a standalone WordPress-native runtime with local event storage and storefront polling.<\/p>","0.2.1":"<p>Bundles the storefront toast runtime locally and prepares the plugin package for WordPress.org review.<\/p>","0.2.0":"<p>Initial Checkout Geo Flash WooCommerce-first scaffold release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3512664,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3512664,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3512664,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3512664,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3512664,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250},"banner.svg":{"filename":"banner.svg","revision":3512664,"resolution":false,"location":"assets","locale":false}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3512664,"resolution":"1","location":"assets","locale":"","width":1280,"height":960},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3512664,"resolution":"2","location":"assets","locale":"","width":1280,"height":960}},"screenshots":{"1":"The WooCommerce settings tab using native WordPress and WooCommerce admin styling, runtime controls, and owner-only sample preview.","2":"A storefront example showing the plain white purchase-toast presentation and privacy-safe payload style."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[4124,4906,172760,14396,286],"plugin_category":[45,49],"plugin_contributors":[258680],"plugin_business_model":[],"class_list":["post-299814","plugin","type-plugin","status-publish","hentry","plugin_tags-geolocation","plugin_tags-notifications","plugin_tags-sales-popup","plugin_tags-social-proof","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-maps-and-location","plugin_contributors-devlinduldulao","plugin_committers-devlinduldulao"],"banners":{"banner":"https:\/\/ps.w.org\/devlin-checkout-geo-flash\/assets\/banner-772x250.png?rev=3512664","banner_2x":"https:\/\/ps.w.org\/devlin-checkout-geo-flash\/assets\/banner-1544x500.png?rev=3512664","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/devlin-checkout-geo-flash\/assets\/icon.svg?rev=3512664","icon":"https:\/\/ps.w.org\/devlin-checkout-geo-flash\/assets\/icon.svg?rev=3512664","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/devlin-checkout-geo-flash\/assets\/screenshot-1.png?rev=3512664","caption":"The WooCommerce settings tab using native WordPress and WooCommerce admin styling, runtime controls, and owner-only sample preview."},{"src":"https:\/\/ps.w.org\/devlin-checkout-geo-flash\/assets\/screenshot-2.png?rev=3512664","caption":"A storefront example showing the plain white purchase-toast presentation and privacy-safe payload style."}],"raw_content":"<!--section=description-->\n<p>Devlin Checkout Geo Flash is a WooCommerce plugin that broadcasts privacy-safe purchase notifications to storefront visitors through local WordPress event storage and storefront polling.<\/p>\n\n<p>This release focuses on the WooCommerce plugin, owner preview controls, standalone polling, and the bundled storefront toast runtime.<\/p>\n\n<p>What this slice does today:<\/p>\n\n<ul>\n<li>Hooks into WooCommerce checkout-created and payment-complete order events.<\/li>\n<li>Stores a minimal privacy-safe event payload inside WordPress.<\/li>\n<li>Injects the bundled universal toast client into the storefront.<\/li>\n<li>Ships plain white storefront toast notifications and owner preview cards.<\/li>\n<li>Keeps buyer IP addresses out of browser payloads.<\/li>\n<li>Uses owner-only preview controls with standard WordPress capability and nonce checks.<\/li>\n<\/ul>\n\n<p>What is still planned:<\/p>\n\n<ul>\n<li>production-grade geo resolution<\/li>\n<li>persistent merchant settings outside the current scaffold runtime<\/li>\n<li>additional hosted dashboard and onboarding polish<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This release does not require an external service. Recent events are stored locally inside WordPress and read by the bundled storefront runtime through WordPress AJAX polling.<\/p>\n\n<p>It does not download or execute remote storefront JavaScript. The toast runtime shipped to site visitors is bundled inside this plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Copy this plugin folder into <code>wp-content\/plugins\/checkout-geo-flash<\/code>.<\/li>\n<li>Run <code>composer install<\/code> in the plugin directory if vendor dependencies are not present.<\/li>\n<li>Activate WooCommerce.<\/li>\n<li>Activate Devlin Checkout Geo Flash.<\/li>\n<li>Open <code>WooCommerce -&gt; Checkout Geo Flash<\/code> and configure the location mode, trigger event, and owner preview.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20store%20raw%20ip%20addresses%3F\"><h3>Does this plugin store raw IP addresses?<\/h3><\/dt>\n<dd><p>No. The storefront payload excludes raw IP addresses, and the current standalone runtime resolves only a coarse fallback label without exposing buyer IPs to visitors.<\/p><\/dd>\n<dt id=\"does%20this%20version%20need%20a%20database%20or%20redis%3F\"><h3>Does this version need a database or Redis?<\/h3><\/dt>\n<dd><p>No. The current WooCommerce slice uses standard WordPress storage for short-lived recent events and does not require Redis or a separate event database.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20execute%20remote%20javascript%3F\"><h3>Does this plugin execute remote JavaScript?<\/h3><\/dt>\n<dd><p>No. The storefront toast runtime is bundled in the plugin package.<\/p><\/dd>\n<dt id=\"is%20this%20production-ready%3F\"><h3>Is this production-ready?<\/h3><\/dt>\n<dd><p>This version is suitable for WooCommerce deployment as a standalone plugin. Future releases are expected to add stronger geo-resolution and broader smoke coverage.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.3<\/h4>\n\n<ul>\n<li>Rebuild the admin UI around native WordPress and WooCommerce markup instead of the custom card layout.<\/li>\n<li>Remove the React and wp-components admin layer so LocalWP and wp-admin use core admin typography and colors.<\/li>\n<li>Flatten WordPress.org artwork so screenshots, banners, icons, and SVG sources all live directly in <code>.wordpress-org\/<\/code>.<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Replace the external runtime flow with standalone WordPress event storage and storefront polling.<\/li>\n<li>Remove remote preview dependencies and simplify owner preview to local-only mode.<\/li>\n<li>Rewrite tests and documentation for the standalone WooCommerce architecture.<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Bundle the storefront toast runtime locally for WordPress.org-safe packaging.<\/li>\n<li>Refresh admin and storefront toast styling to the white-card design.<\/li>\n<li>Add submission-focused deployment notes and external-service disclosure.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Rebrand scaffold from demo placeholder to Checkout Geo Flash.<\/li>\n<li>Add WooCommerce-first event forwarding and WebSocket scaffold backend.<\/li>\n<li>Add in-memory settings and shared-secret webhook verification.<\/li>\n<li>Add universal toast client with live WebSocket rendering.<\/li>\n<\/ul>","raw_excerpt":"Privacy-safe real-time WooCommerce purchase toasts powered by a standalone WordPress-native runtime.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/299814","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=299814"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/devlinduldulao"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=299814"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=299814"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=299814"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=299814"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=299814"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=299814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}