differentiate between purchase enqueued and status changed to purchased

This fixes a bug due to options.purchase being called with two different method signatures in two different circumstances--after queuing up a new payment, and after the transaction status changing to purchased.