Shopify, Services with Products - shopify

I am trying to figure out the best way to solve my problem below. The issue involves services (non-taxable) and products that are taxable.
My website offers CPR courses which is a service (non-taxable), along with the option to purchase the book which is taxable. So I set up the products as the CPR courses and the variants as, "yes" or "no" on purchasing the book.
If the user selects yes, how would I add an additional product to the cart when they check out?
The user can also buy the book by itself, so I set those up as products as well.
Is there another way I should be doing this?

You could do that. taxable is a variant level field so one variant can be taxable and the other not.
Your course products can have their own template and it would expand the list of variants so they are both shown. Your template would have to offer the option of adding both products to the cart. That could then be accomplished by using the cart api

Related

On user selection, set product price to 0 for cart, checkout in shopify

I am facing a issue in shopify. The issue is I am listing products on a page with price. But i want whatever first 3 products customer click should be free for them. The fourth one they click should be of price set on backend.
So basically all products will have price. But first 3 client select should be free for them. Is this customization possible in shopify?
You have two choices. One, you use Shopify Plus, and with that you are free to script the checkout and change prices to free on items in the checkout. Or two, without Plus, you are free to use Discount Codes to bring the price of a checkout down to zero for items that meet criteria you setup. Those are your only sane choices at this time.

Shopify changing product price for variation by app

I am a shopify partner, I am trying to get around the the variant limits of shopify by coding an app and also because my client has a complicated formula for calculating the price. I don't have a problem with the part that adds the information for my variants to the order, however when I want to modify the price based on the user selection, it doesn't seem an easy task to do.
I came across couple of apps which does the same thing by adding a new product or variation which is not optimal for my use case, is there any app that does the job without adding extra information to the database, if so, how?
Qualified Yes
Unfortunately, Shopify doesn't give us a lot of options to edit prices of items dynamically. Here are the two options that I know of that will allow you to adjust the price of a product directly - however, both have limitations.
Using Shopify Script Editor
If you're working with a Shopify Plus merchant, you can use the Shopify Script Editor to dynamically adjust the prices of products, provided that the direction you adjust is down. You cannot increase the price of a product using the script editor - so for your use case, the list price would have to be the most expensive possible price that the item sells for, which you would then discount appropriately using the app.
Using draft orders
Using an app, you can use Shopify's Draft Order API to create an order with custom discounts and/or create completely custom items that are independent of the products set up in the product database.
The basic flow for this is that when the customer clicks 'checkout' you halt the normal navigation, send the cart contents to your app, create a draft order with the appropriate pricing, then supply the front-end code with the draft-order checkout/invoice URL so that you can send the customer there instead of the normal checkout. This has several limitations, however, including that prices of existing products can only be discounted, not increased, and the fact that Shopify will not allow a customer to use discount codes on a draft order invoice - once an order is set up this way, Shopify's assumption is that all prices are final.
Disclaimer: Sorry if someone sensible doesn't like a response with a link :) I'm not related to this app I'm just a user.
On a project with complex pricing, we use the app Wholesale Pricing Discount by Wholesale Helper we liked because is easy to import multiple pricing by-product and relate it by customer.
this app does not multiply the products, they use customer tags. maybe that can give you some guidance.
An important rule on Shopify is you can't increase the price by API on an order, you can just reduce i

Is there a recommended way of selling a 3-pack of a product for a discounted rate?

I have a product on a Shopify website that is normally $20 but when buying a pack of three it becomes $45 total (ie: $15 each). The three pack has a separate SKU, but I would love it if my customers could simply have buttons on the product page to switch between the variations. The pack of three should have color selection options, but it should be clear to the user that all the products in the pack will be the same color. If you have any advice, I would greatly appreciate it.
There are a few approaches, but since you haven't provided a code example of what have you tried I will only list them.
App
You can use a discount APP
Different product
You can use a different product that will handle the bundle price
Shopify Scripts
If you are on a Shopify Plus store you have the option of writing custom Ruby scripts that can modify the cart items and their price. You can write a script that will modify the item price based on properties that are tied to the bundle product.
It sounds like you just need to add another variant option. Just call it as Pack of 3 and set to this variant a different SKU and a price of $45. Based on your question description this will totally suit your case.

How to bundle product in shopify?

I tried to develop a Shopify application and I needed to bundle some products and sell those together with the special discount values.
There are some apps like product-bundle but I need bundling product in my app.
I tried to create one product similar to them and after the purchase completed I delete it but I think it's not a good solution because this product will be shown to shop and other customers can purchase that while I want to offer this product to a certain customer only.
In another way, I tried to use Shopify discount but can't satisfy my need or maybe I can't find true ways.
How can I do that?
There are multiple ways in which you can handle this.
1) Create a product itself:
Create a single product indicating a combination of your desired multiple products and combination of your price.
When the customer adds all the related products, detect it from cart webhook and update the cart of the customer by removing such products and adding the single product(i.e combination of all products).
2) Create a discount code: Create a discount code with your desired discount amount for each combo. Detect the products in the cart by cart webhook, if combo products found automatically apply the coupon to the cart.

How to make some products available only for premium users

In my Sylius shop, I would like to make some products available only for my website premium users.
I managed to set up a promotion rule for premium users, according to the documentation : How to add a custom promotion rule?
My problem is that I can't figure out how to create a promotion action, making selected products available only to premium users. And these products need also to be seen by standard customers.
Is a promotion action a good way to achieve this purpose ?
I don't know if promotions are the best you can use in this feature. There is no discount/profit for the customer, it's just a limitation of product for specific customer group. I would solve this with two simple steps:
Add $premium flag on Product entity.
Implement a listener (or even better - a validator) that would check the currently logged in customer groups and if there is no premium, then break adding product to cart and display proper message.
Of course, you could create a promotion action that would remove products from cart that customer can't buy, but let's be honest, it'd be ridiculous ;)
Let me know if it's clear or you need any more help with that!