This page details a new 'thick' API for a virtual order entity. The interface to the API exposes basically a contribution and its line_items. The API manages the creation of subsidiary objects when the order is created, ie memberships, participants, and/or pledge payments. It also looks after ensuring all appropriate entries are created in the financial_item, financial_trxn, and entity_financial_trxn tables as per CiviAccounts Data Flow. (NB: this API has previously been discussed as a 'thick' contribution API, and briefly as a Invoice API.)
The proper way to 'delete' contributions should be to 'cancel' them.
This action will result in the order being cancelled and all of the included objects such as membership and participant creation and updates. We will not be supporting a rollback of any update of information on a membership renewal in Phase 1 beyond the status and date fields (we don't currently keep the information that is overwritten during an update).