fsBuilds Offloading WooCommerce Checkout & Subscriptions to (Video) (Video)
Transfer the complexity of payment Management, Subscriptions and Payment Management off to
The task to complete: You want to utilize WooCommerce and WordPress as an CMS and want to leverage the power of a Merchant of Record to manage subscriptions, payments as well as subscription management.
For this entry this week, we're sharing a design by Topher DeRosia, showing the way to easily utilize 's javascript library in combination with the webhooks of's in order to make subscriptions active when the purchase has been made or deactivate subscription access when payments fail, while using WooCommerce as a CMS.
Resources
Are you interested in trying it for yourself? We've compiled all those resources featured in the video to help you on your way.
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