Explanation of Order Financial Statuses

124 views
Skip to first unread message

J

unread,
Jul 13, 2011, 4:13:53 PM7/13/11
to shopify-api
Hi,

Is there documentation somewhere that explains the different financial
statuses for an order (e.g. authorized vs. pending vs. paid vs.
abandoned vs. refunded vs. voided)? Is there a flow chart that
explains how an order can transition from one state to the next?

If an Orders API (http://api.shopify.com/order.html) call is made, I
assume any particular order will be returned with its financial status
at that moment. If I re-run this query 2 days later, the financial
status for the same order may very well change. Is this correct? If
so, what's the recommended way of finding out changes that occur to
orders? Constantly requerying old orders seems like a bad idea.

I believe I see two ways:

1) Webhooks - Register webhooks for orders-related topics. Would I
use "orders/updated", "orders/paid", "orders/cancelled", "orders/
fulfilled" - all of the above?

2) Use the "updated_at_min" param for the Orders API (http://
api.shopify.com/order.html). This will allow me to see only orders
that have been updated since a certain time. I'll need to keep track
of this timestamp between calls.

Any help would be appreciated.

Thanks,
J

J

unread,
Jul 19, 2011, 1:58:34 PM7/19/11
to shopify-api
Is there anyone that can help me with this?

David Underwood

unread,
Jul 19, 2011, 2:24:05 PM7/19/11
to shopi...@googlegroups.com
Hi Jamie,

This is something that I'm working on this week, I'll post back when something goes up on the wiki.

-David Underwood
 Developer Advocate, Shopify
 1-888-746-7439 x771

David Underwood

unread,
Jul 19, 2011, 3:42:23 PM7/19/11
to shopi...@googlegroups.com
Here's a quick and dirty run-down on order statuses that I whipped up: http://wiki.shopify.com/Order_Statuses

J

unread,
Jul 20, 2011, 11:12:02 AM7/20/11
to shopify-api
Thanks David!

Looking forward to the rest of the documentation, specifically in
regards to recommendations on how to listen for status changes for an
order (Webhook vs Order API).

On Jul 19, 3:42 pm, David Underwood <david.underw...@jadedpixel.com>
wrote:

Yan Sarazin

unread,
Jul 22, 2011, 10:34:09 AM7/22/11
to shopi...@googlegroups.com
Thanks for this David. I've been wondering the same thing, specifically I'm very curious to know when/how and order gets to "pending". 

Denis Odorcic

unread,
Jul 22, 2011, 10:44:09 AM7/22/11
to shopi...@googlegroups.com
Hey Yan,

Off the top of my head, the financial status of 'pending' is when the payment gateway is manual (shop accepts cheques in the mail for example). Then they manually mark it as paid when they receive it. I'm sure any other cases will be documented shortly.

Yan Sarazin

unread,
Jul 22, 2011, 11:34:14 AM7/22/11
to shopi...@googlegroups.com

Jonathan Rudenberg

unread,
Jul 22, 2011, 11:39:51 AM7/22/11
to shopi...@googlegroups.com
The other situation that will set the financial_status to pending is
when the transaction is on an offsite gateway/checkout and the payment
is being processed, but is not complete.

Jonathan

--
Jonathan Rudenberg
Developer
http://shopify.com - e-commerce done right

J

unread,
Aug 1, 2011, 12:05:42 PM8/1/11
to shopify-api
Any updates on this documentation?

On Jul 19, 2:24 pm, David Underwood <david.underw...@jadedpixel.com>
wrote:

J

unread,
Aug 18, 2011, 1:25:56 PM8/18/11
to shopify-api
Can anyone help me with my original question?

Reposted:

Is there documentation somewhere that explains the different
financial
statuses for an order (e.g. authorized vs. pending vs. paid vs.
abandoned vs. refunded vs. voided)? Is there a flow chart that
explains how an order can transition from one state to the next?

If an Orders API (http://api.shopify.com/order.html) call is made, I
assume any particular order will be returned with its financial
status
at that moment. If I re-run this query 2 days later, the financial
status for the same order may very well change. Is this correct? If
so, what's the recommended way of finding out changes that occur to
orders? Constantly requerying old orders seems like a bad idea.

I believe I see two ways:

1) Webhooks - Register webhooks for orders-related topics. Would I
use "orders/updated", "orders/paid", "orders/cancelled", "orders/
fulfilled" - all of the above?

2) Use the "updated_at_min" param for the Orders API (http://
api.shopify.com/order.html). This will allow me to see only orders
that have been updated since a certain time. I'll need to keep track
of this timestamp between calls.



Yan S.

unread,
Sep 15, 2011, 10:26:29 PM9/15/11
to shopi...@googlegroups.com
Sorry to bring up an old topic, but could someone confirm there is no payment method that would keep the financial status NULL after completing the checkout? No matter what method of payment being used, the financial status will always change once the customer completes the checkout?

Thanks.

Jonathan Rudenberg

unread,
Sep 16, 2011, 11:44:56 AM9/16/11
to shopi...@googlegroups.com
Yan,

The financial status will always be updated to a non-null value after
completing checkout. There are some cases with offsite gateways where
this may not be instant, as it won't get updated until we get a
payment confirmation from the gateway.

Jonathan

--
Jonathan Rudenberg
Developer
http://shopify.com - e-commerce done right

J

unread,
Sep 19, 2011, 12:19:06 PM9/19/11
to shopi...@googlegroups.com
How about an answer to the original question of this thread?

John Duff

unread,
Sep 19, 2011, 12:48:34 PM9/19/11
to shopi...@googlegroups.com
Hi Jamie,

The documentation for the financial statuses is still in the works,
but this is a basic breakdown:

authorized - The shop owner has been authorized to capture the amount
for the order and the customer has the funds available. No funds have
transfered.
pending - The order is pending a response from the payment gateway.
paid - The order has been paid. Funds that were previously authorized
have been captured.
abandoned (or null) - An order that has started the checkout process
but not completed the checkout (payment information was not
submitted).
refunded - The order has been cancelled and funds refunded to the
customer (fully or partially).
voided - The order has been cancelled and the transaction voided with
the payment gateway.

For the second part of your question, how to be notified of changes to
an order, webhooks are probably your best bet. The orders/updated
webhook is fired when anything on the order changes, this includes
financial statuses. Often application developers use the webhooks as
their main method of being notified, but if something goes wrong or
they have downtime they fall back to polling with updated_at_min as
you mentioned.

I hope this helps and if you need any other information please let me know!

John Duff
Developer @ Shopify

David Underwood

unread,
Sep 19, 2011, 1:08:14 PM9/19/11
to shopi...@googlegroups.com
We're working on it. Unfortunately my to-do list is as long as my arm :(


-David Underwood
 Developer Advocate, Shopify
 1-888-746-7439 x771

Reply all
Reply to author
Forward
0 new messages