Hello,
Yes, the exact function name is
private function createTransaction(&$order, $vendor_id, $price = null)
And as I wrote previously, the function is not meant to be public since it's a very advanced function which require very specific parameters ; so you can duplicate a part of the function code but I don't think moving it to public would be good.
As you are not using the API to create the subsale, you should not use an API to create the transaction.
As I explained, the subsale is still a requirement for HikaMarket but storing the vendor price history into the orders are not.
Before HikaMarket 2, you had "subsale" but also "vendorrefund" ; if the vendor was paid for an order and the order was modified, new entries in the order table was created... Which is not the case anymore.
I understand that you want to have a system to assign multiple vendors to products ; I do think it would be better to think about a trigger/API to allow a plugin to do so instead of using partial functions.
Regards,