State contains saleAmount, amountPaid, amountOwed, history,
paymentMethodsUsed, transactionID, optional provider/customer IDs,
optional reconciliation data, status, optional cancel reason, and
optional payment date.
startTransaction initializes state; monetary, completion/cancellation,
processing-success, ID setter, and reconciliation actions update it.
sessionReset clears it. clearTransaction only clears a non-pending
transaction. Invalid duplicate starts, payment/completion/refund amounts,
and cancellation states throw errors rather than changing state.
Stores the active
ZamokPaymentTransaction, ornullwhen none exists.