How do I make my shopify app a rates provider? - shopify

I'm making an app for my shopify store, and I'm searching how to make my app display on the store settings as a rate provider but can't find any information regarding this.
Here is a picture of where I'd like my app to show
To clarify a bit on how to get to the above and what I'm talking about.
Head over to Shopify Settings > Shipping & Delivery
Click on Manage Rates
Select the appropriate Shipping Zone, click on Add Rates
Thanks in advance

The easiest way to be a carrier in a store is to be an App that installs itself as a custom carrier service. When you do that, the store (Shopify) will send every checkout payload (origin, destination, items) to your App, where you can figure out an appropriate rate and return that to the customer.
So your App means any customer will see your carrier and rates for their checkout. The merchant will see your carrier service in the admin, and they can turn it on/off from their desire as they please.
This is primitive, but it works.

Related

Closing Shopify online store sales channel after moving to storefront API

I recently changed a Shopify store to use a separate SPA using the storefront API. However the old 'online store' is still running as a separate website with some theme plugins etc. I'd like to remove this sales channel now that I'm using a custom app and the storefront API so that customers aren't confused as to why there are two websites running concurrently. However, when going to remove my online store, Shopify prompts me with an 'are you sure' modal that contains a warning that I won't be able to publish products and that they will send a request to a developer to delete personal customer information.
Obviously this is not what I want as the store is still running through storefront API and I still need everything on the Shopify admin side to remain intact and running. I tried getting support from Shopify about it but they just pointed me in the direction of the developer documentation. It's not really clear what impact deleting this sales channel would have? Any advice from someone who's done something similar would be greatly appreciated.

Shopify - custom price for each customer, calculate with external api

I would like to sell a few products on Shopify. The user should be able to select a product and fill a form. Then some of these values will be passed to an external API and the API returns the correct price. How to implement this in Shopify? Are there any Shopify apps that could support the development of this?
The development process has not yet begun, so I'm free to use any other shop builder out there.
There are some apps to make it possible so you can sell at different price for customers.
Shopify appstore app
Bold custom pricing
Wholesale pricing discount
But I don't think these apps will not perfectly satisfy your needs.
If I can suggest something, after customer fills a form and get a price, then you can make price of product show on the store, and at the same time you can make a request to change the price of that product by using Shopify product api. Then everytime customer comes to your store and buy products, the price will change and they will be able to purchage at different price. I think it will work.
In the end, I decided to use Stripe Checkout for this. The design is amazing and the setup is simple. Later I will most likely switch to Stripe.js and Stripe Elements to enable even more customization.

Single page checkout for shopify

Kindly please suggest me the best way to single page checkout for Shopify store. As Shopify doesn't support any customization to the checkout page. Our requirement is to create a single page checkout. let me know how it is achievable.
Basic Shopify does not support customization in the checkout page. It is only available to Shopify plus Customer. Please visit here for more information.
You want a single page checkout you may need to create your own checkout process which will again require your store to be a Shopify Plus store. However, there are many Apps which can help you with single page checkout. You may want to use one of them if you don't want to build the whole functionality. You may want to check the below conversation - Link
You should not use Shopify if you want to make your own Checkout. Shopify is a hosted platform and they no longer want to let people play with the cash register themselves.
Of the few Apps that remain that do offer checkout outside of Shopify, you can see the hassles involved for customers. Why not just roll your own? If you can do your own checkout, hook up to an open source system instead where you can do that easier.
This is easy enough to do if you have the skills. Basically create an app that has a proxy page and change the theme's links replacing the paths to the checkout with paths to your proxied checkout.
There are a number of ways to collect payment info if you do this including using the draft_orders api to send the customer back to Shopify for final payment (not applicable for single page checkout but sometimes works well with the business reason that justifies a custom checkout in the first place)
You can also create a sales channel app that works much like the proxied app concept but has some more api capabilities.
However you really need a good business reason for doing this. Single page checkout was fashionable a few years ago but I've had as many customers go away from it as go towards it. Shopify has done quite a lot of work on their checkout and it works well (i.e. is fast and efficient) on all their supported platforms. Creating a custom checkout means your stuck maintaining it and are potentially increasing your liability if you take credit cards but have not received PCI certification.

Is it possible send some data with Shopify Buy Button?

Is it possible send some data (customer coment for instance) with Shopify Buy Button? Im using button o my existing web page (No online store).
Answer from Shopify support.
Currently with the Buy Button sales channel, you would not be able to get a customer note or comment included in the purchase. The Button allows for different variants to be chosen from a drop down menu, but not for a customer to be able to enter in information through a text box. The best alternative would be to reach out to the customer after the order is placed and get more information that way.
If you had an online store with Shopify, that is an option that you can enable, however, it's not a feature on the Buy Buttons. That being said, that would be a great improvement to our platform, and I will send that feedback along to our developers, and they can look into including it in our future :)

How do you use UIWebview to make a transaction using Paypal and retrieve a receipt or transaction information.

I've seen different documentation on various forums and site on different ways of using Paypal api, here is a pretty useful link: https://cms.paypal.com/us/cgi-bin?cmd=_render-content&content_ID=developer/e_howto_api_ECOnMobileDevices&bn_r=o/, My question is a little different i do not want to use any of the Paypal libraries offered to us in my app, this is the link to libraries:https://www.x.com/developers/paypal/documentation-tools/sdk , I also do not want to gather any personal information, I want Paypal to take care of everything. So in other words I want to be able to open up a UIWebview to the Paypal's mobile site if possible (or if not the regular site will work) have to user log in with his credential or he can use the express checkout option and get back the transaction ID, or receipt what ever is available. I'm a little new to iOS and any help is appreciated.
If you don't want to use any libraries or API's, Express Checkout won't work for you.
Which does make it somewhat easier, as you can just use PayPal Website Payments Standard in a UIWebView instead.
For example; just open https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=your#email.tld&amount=1.99&currency_code=GBP
This will start a 1.99 GBP payment to email#here.tld via PayPal, and automatically use a mobile layout.
If you subsequently want to receive transaction information; set up PayPal IPN on your account and use that to receive transaction-related events. This can be handled outside your app, and thus take away precious processing power to the server.
For an overview on getting started with PayPal IPN, have a look at https://www.paypal.com/ipn/
I would strongly suggest against trying to do transactions through paypal. If you look at the App Store Review Guidelines it states that
11.2 Apps utilizing a system other than the In App Purchase API (IAP) to purchase content, functionality, or services in an app will be rejected