fsBuilds will be offloading WooCommerce Checkout & Subscriptions to (Video) -
Offload the Complexities of Payments Subscriptions, Payments, and Management To
The task to complete: You want to utilize WooCommerce and WordPress as a CMS and want to leverage the power of a Merchant of Record to manage subscriptions, payments as well as subscription management.
In this post we're highlighting a code by Topher DeRosia showing the way to easily utilize 's javascript library in combination with the webhooks of's in order to activate subscriptions when a purchase is made, or disable subscription access when a payment fails while still using WooCommerce as a CMS.
Resources
Are you interested in trying it your own way? We've put together all of those resources featured in the video to guide you along the journey.
Add a Subscription to 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 through Webhook
PHP and Javascript Expand