fsBuilds: Offloading WooCommerce Checkout & Subscriptions to (Video) -
Let the complexities of payments, Subscriptions, and Subscription Management To
The task to complete: You want to make use of WooCommerce as well as WordPress as an CMS, but want to leverage a Merchant of Record to manage subscriptions, payments as well as subscription management.
For this entry, we're featuring a build by Topher DeRosia showing the way to easily utilize Javascript's library with the webhooks of's in order to activate subscriptions when the purchase has been made or block subscription access if a payment fails while still making use of WooCommerce as your CMS.
Resources
Do you want to try the design your own way? We've put together all of the materials used in the video below to help you on your way.
Add a subscription to the Cart
PHP and Javascript is_purchasable() && ( ! is_user_logged_in() || 'no' === wcs_get_product_limitation( $product ) ) ) return; $user_id = get_current_user_id(); echo wp_kses_post( wc_get_stock_html( $product ) ); if ( $product->is_in_stock() ) : ?> var QueryString = function () // This function is anonymous, is executed immediately and // the return value is assigned to QueryString! var query_string = ; var query = window.location.search.substring(1); var vars = query.split("&"); for (var i=0;i<vars.length;i++) var pair = vars[i].split("="); // If first entry with this name if (typeof query_string[pair[0]] === "undefined") query_string[pair[0]] = decodeURIComponent(pair[1]); // If second entry with this name else if (typeof query_string[pair[0]] === "string") var arr = [ query_string[pair[0]],decodeURIComponent(pair[1]) ]; query_string[pair[0]] = arr; // If third or later entry with this name else query_string[pair[0]].push(decodeURIComponent(pair[1])); return query_string; (); jQuery( document ).ready(function() var s = ; if(QueryString.product) s = 'products' : [ 'path':QueryString.product, 'quantity':1 ] if(QueryString.email && QueryString.fname && QueryString.lname) s.paymentContact = ; s.paymentContact.email = QueryString.email; s.paymentContact.firstName = QueryString.fname; s.paymentContact.lastName = QueryString.lname; if(QueryString.coupon) s.coupon = QueryString.coupon; if (s) .builder.push(s); ); Subscribe Now With Expand
Subscription creation via Webhook
PHP and Javascript Expand