fsBuilds in Offloading WooCommerce Subscriptions and Checkout to (Video) (Video)

Feb 8, 2024

Transfer the complexity of payment Management, Subscriptions and Payment Management to

Job to be done: You want to utilize WooCommerce and WordPress as a CMS however, you would like to use a Merchant of Record to manage the payment process, subscriptions as well as subscription management.

This time, we're featuring a build by Topher DeRosia showing how you can easily use  the javascript library with  the webhooks of's in order to make subscriptions active when a purchase is made, or disable subscription access when a payment fails while still using WooCommerce as a CMS.

 Resources

Interested in trying the build your own way? Here are all the resources used in the video to assist you on your route.

 Add a Subscription to your 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

Developer Documentation

Braden Steel

Braden Steel   Braden is the senior Product Marketing Manager of . If he's not busy bringing brand new products on the market, Braden spends his time writing fantasy stories.