Can I allow my subscribers to buy one-time products using their existing payment information, rather than forcing them to checkout?
You sure can! Since Conjured Subscriptions has the customer's credit card vaulted with your payment processor of choice, it's simple to leverage that functionality into a "buy now" button.
The "Buy Now" option works very similarly to the standard checkout in that whatever items in the cart at the time are charged (ex: one-time purchase items), except the customer must be logged in and Conjured Subscriptions must have a payment method on file for the order to be created. Shipping and taxes are both charged, the same as they would be in a new checkout, and discount codes are applicable in the same way.
To implement this feature from the Conjured Subscriptions Dashboard, you'll first need to create a form with
id="buy-now-form". The form should be identical to the
id="subscribe-form" on your Checkout page, but without the billing and payment information. You can also optionally omit the shipping information and the app will simply use the shipping address on file.
All the same functions (ex:
ConjuredCalculateSalesTaxAndShipping()) that are available for use in the Checkout page are also available for use on the Conjured Subscriptions Dashboard.
When a customer clicks the "Buy Now" button for a product, you can use AJAX to add the item to their cart, then submit the Buy Now form.
After the form is submitted, it will run a callback function titled
conjuredSubscriptionBuyNowSubmitExternal(data) which you can use to determine whether the payment was successfully processed or not. Upon successful processing, we recommend running a function to clear the Shopify cart and displaying some form of "Thank You" page to indicate the confirmation number. Alternately, you can redirect your customer to the Conjured Thank You page using the following URL:
var url= '/a/subscription/checkout-complete?i=' + data.i;
If you have any trouble with implementation, please don't hesitate to reach out to us at email@example.com.