
{eac}SoftwareRegistry Webhook Endpoints is an extension plugin to {eac}SoftwareRegistry Software Registration Server.
WooCommerce Webhooks are used to create or update a software registration in {eac}SoftwareRegistry when a WooCommerce order is created or updated.
A Webhook is an event notification sent to a URL of your choice. Users can configure them to trigger events on one site to invoke behavior on another.
The Software Registration Webhooks use the same internal methods as the Software Registry API (see Implementing the Software Registry SDK).
We use webhooks so that you may sell your software on a different site then where you register your software. When an order is created or updated on your WooCommerce site, that order information is sent to your registration server via a webhook so that the registration server may create or update the registration.
WooCommerce Webhooks are created by going to: WooCommerce → Settings → Advanced → Webhooks from the dashboard of your WooCommerce shop site.
To get to the settings for this extension, go to Software Registry → Settings → Woocommerce from the dashboard of your software registration server.
On your WooCommerce site, use the Webhook Secret and Order Delivery URL defined by this extension when creating your webhooks. The Webhook Secret is used to authenticate the webhook and the Delivery URL is the webhook end-point (your registration server).
You should create a WooCommerce Webhook for Order created and Order updated, and you may optionally create webhooks for Order deleted and Order restored if your want registrations to be terminated or reactivated when an order is moved to the trash or restored.
* See Subscriptions below.
On your registration server, select the appropriate Webhook Endpoints in this extension based on the WooCommerce webhooks created.
On your shop site, you may create a variable product with a product attribute (‘Used for variations’ checked), like:
registry_license -> 'Lite' | 'Basic' | 'Standard' | 'Professional' | 'Enterprise' | 'Developer'
— and/or —
registry_count -> '1-User' | '10-Users' | '50-Users' | '100-Users' | 'Unlimited Users'
Then configure (or remove) each of the variations accordingly.
This produces a product variation for each license level (or user count) and passes registry_license (or registry_count) through the webhook overriding the default registration server settings.
As well, you may create an attribute and variation like:
registry_expires -> '14 Days' | '30 Days' | '6 Months' | '1 Year'
To override the default registration term.
These variations may be combined to create a large number of variable products, each passing the given registry values through the webhooks. For example, one variable product may have a variation combination of 'Basic', '10-users', '6 Months'
On your registration server, you may specify the items (SKUs) that are to be registered in the Registration Item Mapping as:
item_sku=package_name or `item_sku=package_name1,package_name2` (to create a bundle).
Even if the item sku is the product to be registered, enter item_sku=item_sku.
Items that don’t match these SKU(s) will be ignored.
Since WooCommerce won’t allow duplicate SKUs, regular expressions may be used for “item_sku” matching. For example: MyItemSku*=MyPackage Will match any SKU in the order beginning with “MyItemSku” (e.g. “MyItemSku_1”, “MyItemSku_2”) and map (register) it as “MyPackage”.
By adding {eac}SoftwareRegistry Subscriptions for WooCommerce to your WooCommerce store site, subscription orders and updates (when using Woo Subscriptions or SUMO Subscription), as well as product meta data, may also be passed to your registration server.
{eac}SoftwareRegistry Subscriptions for WooCommerce is a plugin, installed on your WooCommerce site, that adds a custom Webhook topic for subscription updates to the WooCommerrce webhooks, and adds subscription and product data to WooCommerce order webhooks.
On your WooCommerce site, add a new Webhook using {eac}SoftwareRegistry Subscription updated or {eac}SoftwareRegistry Sumo Subscription for the topic; the same Webhook Secret used for the order webhooks; and the Subscription Delivery URL rather than the Order Delivery URL.
With this plugin enabled, not only can you update registrations by order updates, but also by subscription updates, including renewals, expirations, and cancelations, making it easy to keep your registrations in sync with your subscriptions.
In addition, this plugin will add product meta data to the orders and subscriptions passed through the webhooks so that you may define registry values as custom fields at the product level.
For example, rather than needing to create variable products, you can simply add custom fields:
registry_license -> 'Basic' registry_count -> '10-Users' registry_expires -> '6 Months'
And, rather than relying on the item_sku list in the Registration Item Mapping, you can add a custom field…
registry_product -> 'package_name'
…that will register or update any subscription for the given item as package_name regardless of the item’s SKU or the Registration Item Mapping list.
If all of your orders are subscriptions…
With this plugin enabled on your shop site, there’s a high probability you don’t need to use the “order” webhooks. Your subscriptions will be updated more efficiently from the shop subscription records.
When a new (or renewal) subscription order is created, it will trigger the “Order created”, “Order updated” (payment processed) and the “Subscription updated” webhooks when all you need is the subscription to create or update the registration.
On the other hand, since this plugin adds an array of subscription records to the orders passed through the webhooks, you may prefer to use only the order webhooks and not the subscription webhook.
As of version 1.1, this plugin now returns a result array which can be retrieved via the woocommerce_webhook_delivery action:
array( 'action' => string // the webhook action, 'resource' => int // the webhook resource id (order/subscription id), 'status' => string // 'success' | 'ignored' | 'error', 'result' => array|string // success: array of [ sku => [status => registry_key | error_message] ] // ignored|error: string error_message )
Note that ‘success’ means the webhook was succesfull, ‘result’ could contain an error status/message from {eac}SoftwareRegistry.
Examples:
array( 'action' => 'order.created', 'resource' => 2715, 'status' => 'ignored', 'result' => 'order with subscription', ), array( 'action' => 'action.wc_eacswregistry_sumosub', 'resource' => 2715, 'status' => 'success', 'result' => array ( 0 => array( 'eacDoojigger' => array( '200' => 'bad53cd3-f397-4f47-9d28-xxxxxxxxxxxx', ), ), 1 => array( 'eacSoftwareRegistry' => array( '406' => 'registration with this email and product already exists', ), ), ), ),
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should receive a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
Starting from $0 per month.
Rating
Reviewers
No reviews
Tags
Developed By
Kevin Burkholder
Quick & Easy
Common Ninja has a large selection of powerful Wordpress plugins that are easy to use, fully customizable, mobile-friendly and rich with features — so be sure to check them out!
Testimonial plugins for Wordpress
Galleries plugins for Wordpress
SEO plugins for Wordpress
Contact Form plugins for Wordpress
Forms plugins for Wordpress
Social Feeds plugins for Wordpress
Social Sharing plugins for Wordpress
Events Calendar plugins for Wordpress
Sliders plugins for Wordpress
Analytics plugins for Wordpress
Reviews plugins for Wordpress
Comments plugins for Wordpress
Portfolio plugins for Wordpress
Maps plugins for Wordpress
Security plugins for Wordpress
Translation plugins for Wordpress
Ads plugins for Wordpress
Video Player plugins for Wordpress
Music Player plugins for Wordpress
Backup plugins for Wordpress
Privacy plugins for Wordpress
Optimize plugins for Wordpress
Chat plugins for Wordpress
Countdown plugins for Wordpress
Email Marketing plugins for Wordpress
Tabs plugins for Wordpress
Membership plugins for Wordpress
popup plugins for Wordpress
SiteMap plugins for Wordpress
Payment plugins for Wordpress
Coming Soon plugins for Wordpress
Ecommerce plugins for Wordpress
Customer Support plugins for Wordpress
Inventory plugins for Wordpress
Video Player plugins for Wordpress
Testimonials plugins for Wordpress
Tabs plugins for Wordpress
Social Sharing plugins for Wordpress
Social Feeds plugins for Wordpress
Slider plugins for Wordpress
Reviews plugins for Wordpress
Portfolio plugins for Wordpress
Membership plugins for Wordpress
Forms plugins for Wordpress
Events Calendar plugins for Wordpress
Contact plugins for Wordpress
Comments plugins for Wordpress
Analytics plugins for Wordpress
Common Ninja Apps
Browse our extensive collection of compatible plugins, and easily embed them on any website, blog, online store, e-commerce platform, or site builder.
Add animated headlines to draw attention to key messages and improve user engagement through visual emphasis.
Add Messenger Chat to your site to communicate with visitors, offer fast support, and create a smoother user experience across all pages.
Add a logo slider to your site to showcase clients and partners, strengthen brand credibility, and build trust with new visitors.
Show Threads posts in a live feed that keeps content fresh, builds social proof, and helps visitors engage on your site.
Create real estate listings with a listings widget that displays properties clearly, supports customization, and helps visitors explore homes more easily.
Scroll to element button that improves navigation by letting visitors jump directly to key sections, reducing friction and boosting overall engagement.
Show posts in an X feed that keeps updates visible, improves content discovery, and helps visitors stay engaged with your latest activity.
Show Instagram posts in a responsive carousel layout to enhance social proof and keep your site content visually fresh.
Show live streams and clips with a Twitch feed that keeps content fresh, boosts engagement, and helps visitors follow your channel more easily.
Add a comments system with replies, voting, and moderation to boost engagement and build an active community on your site.
Show eBay reviews to build trust, strengthen credibility, and help visitors make confident purchase decisions that support higher sales.
Use social media links with sticky buttons that keep your profiles visible, boost engagement, and help promote your content more effectively across your site.
More plugins
The Common Ninja Search Engine platform helps website builders find the best site widgets, apps, plugins, tools, add-ons, and extensions! Compatible with all major website building platforms - big or small - and updated regularly, our Search Engine tool provides you with the business tools your site needs!
