Showing results for 
Search instead for 
Did you mean: 

How to Prevent Auto Invoice with Stripe Credit Card Payments?

How to Prevent Auto Invoice with Stripe Credit Card Payments?



Our store currently uses stripe to process credit card payments, and we have it set to charge the card immediately. However, this also immediately creates an invoice, which we don't want to have happen. We realize that this can be accomplished by turning off auth and capture, but the problem is that window of time that passes between order placement and fulfillment can be 10-14 days, and the charge will be expired by that point. In a perfect world things would work this way:


- Order placed using store credit + credit card

- credit card amount is authorized and charged

- in magento, no invoice is created

- as internal team processes orders and they are ready to bill, we then manually invoice in magento

- credit card payment gets thrown on the first invoice that is created even though it was already charged previously


I can't figure out where in the code to even begin on this, as it seems that the credit card payment + invoice process is very tightly coupled into the Magento core. Any ideas/suggestions?



Re: How to Prevent Auto Invoice with Stripe Credit Card Payments?

It is possible to achieve your desired workflow by customizing the Magento payment module. You would need to create a custom payment module or extend the existing Stripe payment module to override the default behavior. Here's one possible approach:

- Modify the payment module to authorize the payment but not capture it. This would create an "authorized" transaction in Stripe but no invoice in Magento.

- Implement a custom module or extension that listens to the order fulfillment event and creates an invoice for the authorized payment.

- Update the payment module to capture the payment when the invoice is created. This would complete the transaction in Stripe and update the Magento order status accordingly.


This approach allows you to separate the payment authorization from the invoice creation, giving you more control over when the payment is captured and when the invoice is generated. Keep in mind that customizing payment modules can be complex and may require a thorough understanding of the Magento architecture and the Stripe API. It is recommended to work with a qualified Magento developer to implement this solution.


With out the hassle, you could try you using extension to help you integrate. This Stripe Global module is what I recommend.

Lucy from Magenest | eCommerce Development Agency
Visit us: