We sell site access as well as hard goods. If someone orders access using a credit card, we want to immediately capture the funds as a sale. However from what I understand, you should only capture funds for hard goods once shipped. At checkout you would authorize the card, then issue a capture when shipped.
It's likely I am missing something, but I've looked all over for the recipe for this and scoured the admin screens and even the code somewhat. FYI I am using the test gateway.
1) The workflow-ng does not seem to have an action for charging the credit card, which seems like it would be useful? (E.g. if order contains no hard goods, capture funds at checkout, otherwise do not.)
2) The most "correct" process from my understanding would be to have a means of splitting the order payment so that all soft goods are paid for as a sale at checkout, and the total for the remaining hard goods are authorized separately, then captured when shipped. Has anyone ever done this?
3) Workarounds: a) Not sure on this, but would it be legal to just charge the whole thing as a sale at checkout, even if the goods are not shipped yet, and even if the order is all hard goods? (that would be easy!) b)treat it all as a hardgood order and give them site access even though the card is not really charged until shipment of the hard goods (and if it fails, revoke access), c) make people order only one type of good in one order (i.e. order can contain only hard goods or only soft goods).
I have looked around the forum and didn't find anything similar. When that happens it usually means I am off track to start with, or the solution is there and I missed it! I'd be grateful for guidance.

