Purchase will return null if already processed.
Add template properties
Respect parent form validation.