Only present promotion codes that have been applied in the admin interface, and use pluck rather than collect to load the promotion name and id

Fixes #5379
Fix spec broken by d0615f8
Don't process refunds created with a transaction_id

If a transaction id exists, presumably it has already been processed.
This comes in handy when migrating over records from another system.

Fixes #5381