Does the WC Rest API expect your data to be sent as a JSON array which the gform webhook is/not encoding in expected format?
I find the combination of tools like Postman and RequestBin to be invaluable when debugging API request/responses. Sending my webhook to RequestBin shows me the output format exactly while PostMan can help me build up a request structure that API will definitely receive independent of any WP/GForms (or my own) code.
If you do look at Gravity Flow’s outgoing webhook, from your description the RAW body format would be a good approach to build the structure without PHP code (i.e. define the json array in the step settings and use merge tags to populate values.