None of the above. You should be using `hook_commerce_payment_order_paid_in_full()`, which is always invoked the first time an order's balance drops to $0 or less. Read more about it in `commerce/modules/payment/commerce_payment.api.php`.