Warning: array_flip(): Can only flip STRING and INTEGER values!
I had a similar issue, you just have to be sure it is an integer and not a string, also you can use entity_load_single:

if (!empty($item_id)){
$item_id = (int) $item_id;
  $split_pay = commerce_funds_object_to_array(entity_load_single('field_collection_item', $item_id));
}