I find it immensely frustrating that Facebook doesn't make this easier. They really expect us to just read an HTML document every few months and cross reference it with the fields we've already implemented?
The best I've managed to do is to use the Graph explorer and look at the network calls it makes. These support functionality such as the auto completion of the list of fields for each entity.
You get URLs like this: https://graph.facebook.com/v19.0/schema/commerceorder?access_token=
This gives JSON like this (I removed most fields):
{"properties": {"id": {"description": "Unique ID representing the order. **Although numerical, treat Order IDs as strings, as Order ID length and structure is subject to change.**","uri": "https://graph.facebook.com/v19.0/schema/commerceorder","type": "numeric string","identifier": "true" },"buyer_details": {"description": "Buyer details for the order","uri": "https://graph.facebook.com/v19.0/schema/commerceorder","type": "CommerceOrderBuyerDetails" },"created": {"description": "Order's creation datetime in ISO 8601 format.","uri": "https://graph.facebook.com/v19.0/schema/commerceorder","type": "string" } },"base_type": "commerceorder","describe": "commerceorder"}
What I haven't figured out yet is how to get the fields for child types like CommerceOrderBuyerDetails