Add half-step analysis to getPurchaseStatus()