Shopify API - Payments - shopify

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.

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.

Post an order to Shopify for unknown user

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

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.

Can PayPal REST API payments calculate shipping and taxes?

I have successfully used the PayPal REST API's to create and execute a payment in the sandbox, but even though I have shipping options and tax rates configured, they do not show up for the user. I expected the shipping options and calculated tax to appear before the user "approves" the payment. Is this feature supported via the REST API's, and if so what do I need to pass to make it happen?
The tax and shipping profiles are only for PayPal Standard transactions (the "Buy Now" buttons). API integrations like the Classic API and REST API are for more advanced integrations and are designed where PayPal returns the shipping address selected to you and your system chooses the tax rate and shipping rates before the customer confirms payment.
The PayPal shipping calculator only applies to Website Payments Standard transactions.
Express Checkout transactions will not use the shipping calculator.
https://www.paypal-community.com/t5/Merchant-services-Archive/Using-PayPal-s-shipping-calculator-with-Express-Checkout/td-p/328404
This is related but doesn't answer the question fully I'm afraid.
I've just started looking into applying different state taxes using the PayPal REST API. The override_charge_models option when creating a new BillingAgreement looks hopeful. It allows you to apply a custom tax amount when creating an agreement.

Onsite Recurring Payments using Paypal Website Payments Pro API

I want to accept recurring payments on my site using paypal without having the user ever leave my site. Based on the paypal documentation it appears you have to send the user offsite to paypal (express checkout) first and then have them come back to your site.
Is their a different way of using the api so the user stays on site the entire time?
To Process payments not on PayPal's website, you need to use Website Payments Pro.
To use PayPal's recurring payment system, without programming your own:
Use Website Payments Pro Recurring Payments (direct payment recurring payments / DPRP)
Program your own recurring payment functionality:
Save cc info to a database and make DoDirectPayment API calls based on your criteria
Process an initial payment when someone signs up for your recurring service, save the transaction ID, and then call DoReferenceTransaction in the future (based on your criteria). Always use the newest transaction ID as they only last a year. Also, you need to call PayPal to apply for this feature ($0).