fsBuilds Offloading WooCommerce Checkout & Subscriptions to (Video) -
Transfer the complexity of payment, Subscriptions, and Subscription 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 payments, subscriptions, and 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 webhooks that enable subscriptions after a purchase is made, or deactivate subscription access when payments fail, while using WooCommerce as a CMS.
Resources
Are you interested in trying it yourself? We've compiled all those resources featured in the video to help you on your way.
Add a subscription to your 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 & Javascript Expand