geofield types failed to add with commerce services I have added field of type Geofield  that failed to save through services despite working well with node and user modules

It returns that error 400 : Invalid field_geoloc value given I am using the same field structure for node and user.

I did some debugging and found that the error comes from file commerce_services.module line 1406
that piece of code

if (count(array_diff_key($value, $field_info['columns'])) > 0) { return services_error(t('Invalid @field value given', array('@field' => $field_name)), 400);
    }
here is the field structure

"field_geoloc": {
    "und": [
        {
            "geom": {
                "lat": "22",
                "lon": "22"
            }
        }
    ]
}


Please help me fix it or guide to fix it.
Thanks in advance
The answer is to send computed values via the geofield module api itself by Implementing the hook_request_parsed_alter like:

function my_module_request_parsed_alter(&amp;$data, $controller) {
switch ($controller['callback']) {
case 'commerce_services_product_create':
case 'commerce_services_product_update':

  if (isset($data['field_geoloc'])) {
    $data["field_geoloc"] = geofield_compute_values($data['field_geoloc']['und'][0]['geom']);
  }
}


But I still wonder why not working by default as node create request