We have a website hosted outside of shopify developed using JAVA. We plan to integrate with multiple retailers hosted on shopify.
Our requirement is
1) customer visits our website
2) creates cart on our website by selecting one of the retailer.
3) our website identifies the retailer who owns these skus, invoke SHOPIFY API to identify tax and shippie ng cost for the items added in cart
4) capture the payment of the customer on our site and invoke SHOPIFY API to create the order and mark the order as paid
a) In step3 above we create shopify ORDER using the create order api
b) in step4 we will mark the order as paid and also update the billing address
Issue: Shopify API doesnt let update the transaction once order is created
a) In step 3 we call shopify create checkout API
b) in step 4 we will invoke the create order API with all the relevant information needed for the order
Issue: Step a) needs X-Shopify-Access-Token which can be generated using below documentation
if X-Shopify-Access-Token is not used 401: Unauthorized is sent in response. I tried all available keys seen under private app.
Talking to support team member they mentioned since this is a private app, this above token won't be generated but without which checkout api is not working.
The shared keys, token and password are all used from the private app we configured for the retailer.
We are unsure how to integrate with the available API, we are ok with any of the options listed above or a better option. Though we think option 2 suits better so as to not create unpaid orders and instead use checkout api.
Any help is appreciated.
I have a similar Problem/demand.
The checkout api seems still not awailable and the order api is broken.
When creating an order with an amount higher than the currently available one (because some inventory might be reserved by a third users checkout), I get returned the warning message with the available amount. But in the same moment, all available amount seems to get reserved by a checkout that was initiated by the "create order" request, so that I have to wait for 5 minutes until the order can be placed with the corrected amount (if not in that time another reservation took place).
Some ideas that might help...
For your Option 2, have you been given access to the Sales Channel SDK? As of now it's early access only so if you haven't, I think that's what's giving you the 401 unauthorized error. If you have access to the API it should work. You shouldn't need to try every key in your private app, just the API key (as the HTTP Basic username) and the Password (as the HTTP Basic password).
It might also only work with an OAuth app (which is why support mentioned the X-Shopify-Access-Token), while you're using a private app.