Elsewhere, @stephenmcgruer suggested:
we [should] capture the various repeated steps for "shutting down" payment request into their own steps somewhere, so we don't have to keep repeating and missing ones? Something like:
Steps to quit out of payment handler due to error:
- Set state to closed
- Set is-showing to false
- Queue a task to reject (relevant promise) with the passed-in error type