Integrating Shopify and third-party gift-card system - shopify

Background
I am working with a retailer who has a store on Shopify. The store is not
on Shopify Plus.
The retailer has gift cards from a company other than Shopify. Each gift
card has a number on it that uniquely identifies the card. Associated with
the cards is a HTTP API, available to authenticated users, which can be used
to get or change the balance on a card.
Requirement
The retailer wants to allow customers to use these cards when ordering from
his Shopify store.
Ideal UI
From the user-interface point of view, the ideal would probably be something
like the following. We would add an input field to the Shopify payment
form, near the input field that has the placeholder "Gift card or discount
code". This new input field would be for the third-party gift-card number.
Suppose a customer had a gift card and entered its number into this input
field. Some custom software would check whether the gift-card number was
valid and the gift-card had funds. If either check failed, an error message
would appear in the form.
If both checks succeeded, the form would show success (perhaps by putting a
green check mark) next to the input field. Then it would adjust the balance
to be paid by the customer. For example, if the customer was ordering $300
worth of shoes, and tendered a gift card holding $50, then the $300 would be
adjusted to $250.
When the customer pressed the button to place the order, Shopify would debit
$250 from his credit or debit card, and some custom software would debit $50
from his gift card. It's probably acceptable for this custom software to
run after a delay of 5 seconds or so. (For example, it might be triggered
by a webhook.)
Discussion
I've been looking for a way to do the above. The really hard part is to
adjust $300 to $250 (not just in the form, but when Shopify actually charges
the customer). I have considered the following, singly and in combination:
Changing the Liquid templates.
Putting some custom JavaScript in the Shopify pages.
Writing an app that uses the Shopify Storefront API.
(3) seems the most promising, but it's not easy to see how to do in a "surgical"
way so that I only replace one screen.
I don't want to have to reimplement an entire Shopify store using the Storefront API.
Alternative UI
If you can think of an alternative UI that would achieve the same thing,
please feel free to propose it.
Similar question
This question,
including the questioner's two comments, describes a situation
identical to mine.
However, the only answer (if I understand it correctly) is unacceptable to me.
Ruled-out alternative
I proposed a web service to turn these third-party gift cards into Shopify
discount codes. That idea was rejected by the retailer, because he already
uses Shopify discount codes, and Shopify's form only allows a single
discount code.

Related

How can I get tax details from my personal webserver and display on the checkout page in shopify?

I want to create a shopify app that can fetch tax and HS code details from my website and display that to checkout page of the user as soon as user adds a product to cart. How can I build this?
You can use an App Proxy at the cart level to show off information. The proxy serves as a secure way of contacting your server and returning results. In checkout itself, you can offer up information too, with checkout scripts post-purchase.
Note that without integrating a tax service into Shopify itself and using that, none of the tax data or numbers you show off will have any use in the actual order calculations, meaning all your work is simple convenience of showing off an estimation to customers. The tax numbers the customers may actually see will be done by Shopify and/or the integrated tax solution your merchant account uses.

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

Switch the shipping rate dynamically in Shopify

I'm planning a new Shopify project, and the site requires a different shipping cost depending on the postal area of a postcode (e.g. SE1, N7). The plan was to manually add different shipping options inside of Shopify, then AJAX GET /cart/shipping_rates.json, and manually filter to the correct shipping rate by matching the name to postal area.
But my question is -- is there any way to carry over this shipping method to the Checkout as a selected option, and hide the Shipping Method drop-down from the checkout to prevent them choosing a different the shipping cost?
... Or, ideally, is there a way for me to directly override shipping costs through the API?
I don't know of any onboard functionality, which can facilitate this.
But there is a quite hacky workaround, that I use to filter the shipping rates in the checkout page.
Through the "Additional Google Analytics Javascript" field you can sneak a JS on every page of the shop, including the checkout. Here you can basically manipulate the shipping rates as you like.
In your case, the code must be aware of the shipping_address zip code. You can try to set a cookie on the first checkout page and then read the same cookie on the second.
Unfortunately, this isn’t possible with Shopify’s existing checkout.

Estimate tax based on zip code

Using Google Checkout, I'm able to estimate tax based on the zip code that's assoicated with a user's account when they click "Buy." The user then sees the tax amount when they checkout.
Is it possible to estimate tax based on the user-entered zip code before a user reaches the checkout page? This is similar to the functionality in Google Products currently. I see some data here (http://code.google.com/apis/checkout/articles/Google_Checkout_Articles_Zip_Level_Taxes.html) but am not sure how to implement it within the checkout button I have.
Is there any other tax table or API that allows estimation of taxes based on zip code? Does Paypal offer this functionality?
have you looked at AvaTax module?
http://www.magentocommerce.com/magento-connect/one-pica-avatax-connector.html
If your building a cart from scratch you can use avalara's api. If your using a specific package such as magento, 3dcart, or so on they already connect to the major solutions. Avalara's solution also bridges the gap between the sales software and the accounting software such as Quickbooks and Sage.
Otherwise if the company your building this for is small enough and has time to update them manually, you can go to the states website or go to a place that compiles free tax rate tables such as taxrates.com
One major warning with any solution, sales tax taxability rules can be complex, this compounds when your scaling an e-commerce business. Even if your a small business in one state, there are multiple layers to the rules. Best to work talk with an accountant to double check when your initially setting this up.

Easiest way to sell stuff and track inventory

on my website I sell unique items. I have programmed it so that on the selling page, users can select any amount of these items, and it calculates the cost. The key is that I only have 1 of each of these items. So I need the shopping cart system to not allow the payment to go through unless it is available.
I've been searching for a good quick/easy/cheap solution and can't find one. I don't expect this site to make a lot of money (the transactions are a few bucks), so I didn't want to need a ssl certificate.
The only way I know of not needing an ssl certificate would be to use paypal or google checkout. However, I do not think there is a way of using these services and making paypal's server run a script to check how many are available on the site. Any solution?
Thanks
I was thinking about it more, and I think the problem is that once the user gets to the paypal payment screen, I have no control. I guess I could do something like they click the buy it now link, a php script updates it to sold, then they go to the paypal screen, but then they might not continue the purchase...
If you use PayPal Website Payments Standard (using a cart rather than 'Buy Now' Buttons) then you could use IPN or PDT (see the paypal docs here) to get PayPal to call back to you with the status of the payment.
The work flow would then be to set status to reserved when the item is added to the cart, and then wait for the IPN/PDT call to come back with the payment status, and mark the item as sold.
You would still need to check and reset to available any item that had been reserved for longer than say 2 Hours. (You could do this before serving a page to a user so that they have the latest availability and you don't need a cron job or long running process)
If you could provide a little more information about how you have implemented ur shopping card, it would have been more easier for other to assist! If you are using any ecommerce solution then it should be there already in the track inventory section. But Provided that you have implemented d shopping cart manually, why don't you add little bit of codes that checks the inventory status first before letting your customers check out?