Quoting Ron Phipps (rphipps at reliant-solutions.com):
> Hello,
>> I noticed in foundation that the actual charging of a real time credit
> card happens in log_transaction now as opposed to in profiles.order. I
> was wondering if anyone knew the reason for this change? One of the
> disadvantages that I see to this is the order number is incremented each
> time a user tries to charge their card, even if it does not succeed. Is
> this so the order number can be supplied when contacting the credit card
> processor?
Partly, but it is mostly so that all the action happens in the same
place. This makes it easier to do a rollback of a transaction on any
failure including inventory hiccups. This can include doing a void of
the credit card transaction if the transaction fails, though the code
support is not in foundation for that. This is difficult to do when the
charge has been done in a disconnected place like the order profile.
I just added a TID function in the last few weeks, which allows you
to assign an interim tid from a SQL counter to use for the
transaction ID in the payment. The order number is only assigned
after all that happens.
--
Mike Heins
Perusion -- Expert Interchange Consulting http://www.perusion.com/
phone +1.765.647.1295 tollfree 800-949-1889 <mike at perusion.com>
Fast, reliable, cheap. Pick two and we'll talk. -- unknown