Hi
A customer of ours requires features that we won't be able to implement by using the regular Shopify Checkout (custom payment service provider, extended store pickup and integration of a Swiss Post Interface). We therefore plan to «hijack» the cart (from cart.liquid) and do the whole checkout via API.
We can create an order without problems (as described here: http://docs.shopify.com/api/order#create). When I get the order's transaction (GET /orders/{id}/transactions.json) I can see that it is set to authorized:
{"transactions": [ {"amount": "80.00","authorization": null,"created_at": "2014-07-28T19:19:59-04:00","gateway": "","id": 282565011,"kind": "authorization","location_id": null,"message": null,"order_id": 263187791,"parent_id": null,"status": "success","test": false,"user_id": null,"device_id": null,"receipt": {} } ] }
Then I try to set the order to paid by POSTing to /order/{id}/transactions.json:
{"transaction": {"kind": "capture" , "amount": "80.00" } }
I get the following error:
{"errors": {"base": ["The gateway associated with this transaction could no longer be found" ] } }
Setting the gateway manually (in order and transaction, e.g. to "bogus") or setting it to "" in POSTing to the transaction doesn't help. Any ideas what I'm doing wrong here, or does Shopify just not want me to do what I want?
Thanks a lot,
-Felix