Scope stock locations before looping through them
Process only checkout payments from Order

Looping through a method call Order#pending_payments only to call
`process!` on those payments is misleading. Payment#process! will
actually set the payment state to "pending" so Order#process_payents!
could authorize / purchase a payment twice given the payments already
touched by gateways will have a pending state.

hopefully Order#unprocessed_payments makes it more clear which payments
exaclty are supposed to be processed when order completes