fsBuilds Offloading WooCommerce Subscriptions and Checkouts (Video) --
Let the complexities of payments Management, Subscriptions and Payment Management off to
Job to be done: You want to use WooCommerce as well as WordPress as a CMS and want to leverage an Merchant of Record to manage the payment process, subscriptions and the management of subscriptions.
For this entry this week, we're sharing a design by Topher DeRosia showing how to use the javascript library with webhooks that make subscriptions active when an order is placed, or block subscription access if a payment fails while still using WooCommerce as a CMS.
Resources
Interested in trying the build for yourself? Here are all those resources featured in the video below to guide you along the journey.
Subscriptions can be added to Cart
PHP & 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