Post an order to Shopify for unknown user - api

Is there a way to post an order, including payment information and shipping information, to Shopify for a new user?
For example, user ABC wants to purchase a product through my website (that is not a shopify website), and I gather all of the information required to make the purchase, including shipping address, credit card, etc. User ABC is not known to Spotify. Is there a way for me to use the Shopify API to process this transaction, including payment processing and everything else?

Shopify has a sales channel called Buy Button. You can use that for your purpose.
Buy Button
Creating a Buy Botton
Adding a Buy Button

Related

How to redirect user back to the Sales Channel once the Shopify Payment is completed?

I have build a Sales Channel for my e-commerce website. The Sales Channel loads shopify products from Shopify stores to my e-commerce website.
Now I want to implement the Buy functionality: the user selects a product in my e-commerce website. I would create a DraftOrder and send the draft order to Shopify, shopify would respond with am invoice-url.
Now I can redirect the user to this invoice-url to make the payment directly through Shopify... but I want to redirect the user back to my e-commerce website, once the payment is completed.
Is it possible to implement this redirect functionality?
Note: I had asked a similar question trying to achieve the same goal using Checkout API.
You cannot do too much on the order status page - the page customer gets in once an order is placed and paid. You can add custom scripts on the shop's checkout settings page: Add Additional Scripts. For example, you can show a message with a link back to your sales channel.
If you're on Shopify Plus you can customize checkout.liquid directly.

Shopify API - Payments

I have been reviewing the API documentation for Shopify and am trying to figure out if the cost of an item selected from the 'Store' can be passed in a Get command back to a different website so a different website can charge for the Item along with other charges from a website ...and then once the payment goes through on the website, send a POST to shopify that the sale was complete and proceed with fulfilling the order?
Our software is newspaper software so we provide newspapers with subscriber web portals were customers can sign up and pay for a newspaper subscription.
We would like to offer the ability to add Single Sales items to what a customer purchases and we want to be able to do it in one payment transaction
I have reviewed the various Shopify API documentation but it is not clear if the API supports getting cost info and posting a successful charge back to Shopify to complete the fulfillment step. We are looking to be able to GET the cost for a selected single sale item passed to us from the Shopify API so that we can add it to the Amount we pass to the Payment Gateway we integrate with and when the payment goes through, send Shopify a success on the payment.
The ultimate goal is to have a customer make one payment that can include single sales items as well as a newspaper subscription or day pass.
You should do a POST and create an Order using the Shopify API once (at your side) are sure the payment has gone through.

Shopify / Paypal Express: Shipping cost not showing until after payment

Ok so I got the following problem with my Shopify shop: Because my shipping varies based on weight paypal does not show the shipping rate until after the customer has logged in and paid for it. It then gets send back to Shopify where it receives the message that it will be billed an additional $10 for shipping, which already got me some complaints.
So what I want is that it will already shows the shipping cost before the customer logs in and pays for it. I imagined that more people had this problem and perhaps found a solution to fix this?
Thank you
There are a number of ways to handle this with the PayPal system, but I'm not sure if Shopify is open enough for you to make any changes. You'll probably need to ask them how it's configured and see if you have any option to adjust it.
The standard flow for Express Checkout is that you would show the user their cart and any fees you've gathered at that point so you can generate the subtotal. Then you send them over to PayPal where they login and agree, and are then sent back to your site. Back at your site you would obtain the shipping address from PayPal and you could then display a final review page that breaks down any additional shipping, tax, etc. that might be applied now that you know their shipping address. No money would actually be charged until they approve this final review page.
In order to skip the additional review page on your own site, PayPal introduced the Instant Update API a few years ago. This gives you the ability to generate a web service that PayPal's review page will call and send the shipping address so that the service can calculate shipping and tax and return it back to PayPal. The PayPal review would then update accordingly so the buyer can choose their shipping option and see the grand total on the PayPal review page. That way they can finalize and would still be returned to your site, but you wouldn't need to show another review. You could simply show the thank you / receipt page.
I'm not sure if that first method I outlined is in fact what you're getting..?? It sounds like you're saying that Shopify is skipping the extra review, finalizing the payment, and then simply notifying the user that more money was charged than they agreed to. If that's the case, I would say that's very sloppy checkout design.
Again, though, as Shopify is a hosted solution, you probably won't have the ability to adjust this on your own. It's possible they have the Instant Update API available, though, and maybe you just need to enable it..??
You'll need to check with them for more details about your options.

remove shipping option using PayPal ButtonManager API

I'm using PayPal's ButtonManager API to dynamically create a hosted button.
When the user clicks on the "buy now" button, he's taken to a payment page where he can log in to his paypal account or pay by credit card.
Now what happens is that while giving his payment info, there's also shipping address info.
What I want to do is remove shipping address option entirely. My products are digital so I'm not doing any shipping and don't want any shipping to display.
Is there any HTML variable that I can pass through the button to ensure this? I know there's a no_shipping variable, which allows users to enter shipping address or not, but I don't even want this. I just want no shipping info at all. Is this possible?
Looking at this solution for Express Checkout:
Disable shipping address option in PayPal Express Checkout
I simply set L_BUTTONVAR4=no_shipping=1 in the NVP query string call to the Button Manager API, and it worked!

Google checkout invoice through API

I am trying to find a way of sending email invoice via google checkout's API (and also in PayPal)
I can't find how. or at least how to generate a new order (money request)
thank you
From: http://code.google.com/apis/checkout/developer/Google_Checkout_Comparison_Part_I.html
Requesting Payment by Email Invoices
What is it? Email invoicing lets you sell without an online store. Buyers can place orders from you by phone, fax, email or other offline means; then you send email invoices from the Merchant Center to the buyers requesting payment. Email invoices contain a personalized message from you regarding the requested payment as well as a "Pay now through Google Checkout" link. When buyers click this link, they are brought to Google Checkout where they can complete the payment process.
Best for: Use this option if you don't have or need an online store.
Time required: There's no setup — just open a Google Checkout merchant account and you can immediately start sending invoices.
Technical skills required: None. Just Internet access.
Demo: Email Invoice and Wizard (requires sign-up)
Processing Orders: (Part II) Once orders start coming in, use the Merchant Center to charge orders and update order status.
Next Step: How to request payments by email invoices
From what I've seen, looks like they don't have a way to do this through an API. Hopefully someday they will, but for now I think I'll have to create my own email with a link to my own page that sends them to google checkout via a custom Buy It Now button.
It's too bad - it'd be so simple to just be able to call send_email(name, email, amount, message) and have it be the same as logging in & doing it through the Merchant Center.
I do understand the rationale a little - if you're capable of creating an automated invoicing system that can call a google API to send emails, then you should also be capable of creating a link, custom button, and letting the user checkout that way. I still want it though - I'm lazy.
Can you submit the form data in the way that the google checkout portal does? then it would authenticate and autofill the form?