Product Icon

Stripe

Accept all major debit and credit cards as well as local payment methods with Stripe.

(Pre)authorize only checkout for Paypal and Stripe

It’s usually good practice to only charge the customer’s card when products are ready to ship. By default, Woocommerce will immediately charge the customer, even though products may not ship for another couple of days. Ideally, I’d like Woocommerce to verify the card information upon checkout, then charge the card once the order has been marked as completed in the admin UI.

Both Stripe and Paypal standard are capable of doing this. For Paypal standard, you simply pass an additional paymentaction = authorization parameter, and you can later capture the payment using the API. https://developer.paypal.com/webapps/developer/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/

The official Stripe plugin already collects the customer token, so it should be straightforward to not charge the customer until the order has been marked as complete.

Author

Current Status

Closed

Last updated: August 15, 2022

5 comments

Log in to comment on this feature request.

  1. Anonymous says:

    Is there any way to extend the 7 days. Our store is taking pre-orders now (January) and the product ships March 1st.

  2. Anonymous says:

    it is so basic that i don’t get how this doesn’t available from day one for the paypal pro
    most of the online store need this features. so we will be able to charge the customer only if the order has been verified and or even shipped

  3. Adam says:

    I made a small modification that looks like it allows for authorization only: in class-wc-gateway-stripe, add $post_data[‘capture’] = ‘false’; to line 396 in the “other charge data” section.

  4. Brandon Smith says:

    Agree, this would be great not just for Stripe, but all payment gateways. We ship our product 2x per month. Due to credit card merchant account regulations, we are not supposed to charge our customers more than 48 hours before we ship the product. I see that there is no built in support for this kind of functionality in the Woo Subscriptions plug in (I hope it’s coming soon!), but for now they recommend using a “Free Trial Period” to delay the payment to the time of the shipping date. However, we want to give customers a coupon that gives them 10% off their first order. I’ve set up a Cart% coupon, which works as long as I don’t have a trial period but when I have a trial period on the product, it nullifies this coupon.

  5. Tim says:

    I need this feature as well. I noticed it is available in the PayPal advanced extension but I do not use Paypal advanced. I am using PayPal standard and my current site allows me to capture and then authorize later. This is the only feature preventing me from switching over to woo commerce.