How would it be possible to postpone payment processing (move out of checkout) to a later stage/order status change?

I always thought the payment processing is a rule to be invoked on checkout completion, that I could easily modify, but as it comes out, no such rule can be found.

I'm using Stripe payment gateway with card on file. How I'd like the process to work is that the user puts in the card information in checkout as usual (because of card on file, the information is tokenized and a token stored to my server) But instead of the payment happening right away, I'd like to invoke the payment for the order only after the order has been fully processed and sent on it's way.

Therefore I'd like to ask, what would be the recommended process for achieving such functionality?

My ideal solution would be to somehow skip the payment processing in checkout, and process the payment with a rule on another order status change with the card data stored, but am currently unable to find solutions for this.



1 Answer 1


the payments usually are done in the same session then the checkout and has to be done by the user.

some gateways allow batch processing of payments, maybe try another payment gateway ?

or change your business logic. refunding is easier in most gateways ;) so the user pays, but gets refunded, if the order is not processed after X days.

  • Thank you for your answer. I'm afraid refunding wouldn't work, as we're offering a convenience service, where the order end price will be determined on processing, that is provided by our price list and depends on how many items the customer gave us for processing. However with card on file, it's possible to do recurring orders, where the charge is made without the user input, and also stripe themselves offer the capability to charge a card by just knowing the token information. So I hope there's a way :) Mar 16, 2016 at 9:31
  • maybe the payment module can help you there drupal.org/project/payment
    – rémy
    Mar 16, 2016 at 10:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.