How to create discounts by payment gateway in WooCommerce

Time to bring you another Ask us question! We take reader questions and try to help solve them.

This “Ask Jilt” question comes from Mauro:

I’m looking for advanced options in Coupons. I would like to find how can I disable or use 1 or more coupons depending on the payment gateway in WooCommerce that customers select. Especially, I want to discourage customers from using Cash on Delivery (but I need to keep offering this payment method). If customers want to use this payment method, they’d have to pay more or won’t enjoy a discount.

Is it possible do this with WooCommerce? Thanks a lot!

There’s not really an easy way to only apply coupons if a certain gateway is selected unfortunately. While you could probably do this with some custom code, using a fee or discount based on the gateway is probably a far easier solution to implement. There are a couple of ways you could achieve a setup like this.

First, you could use the Payment Gateway Based Fees plugin for $49. This will allow you to add a range of fees, including an additional fee for a payment gateway (in this case, we could enable a fee for the Cash on Delivery gateway). You can add fees for multiple gateways if desired.

Fees can be for a set amount or for a percentage of the order total, and you can also set a minimum order total to trigger the fee. This may be a bit overkill for this problem, but if you plan to add other fees to your shop, it’s a tool worth looking into, as there are several fee types that can be added.

As unexpected fees can be a negative thing to encounter at checkout, you may want to reframe this for customers. Instead of charging a gateway fee, you could offer discounts for using gateways you’d like to encourage customers to choose (and perhaps make this a very nominal fee or increase shipping costs to compensate). The free WooCommerce Payment Discounts plugin can be used to do this instead.

Amount or percentage-based fees can be added for every payment method installed in your shop.

WooCommerce add payment gateway discount
Add payment method discounts

Customers won’t see a discount applied if they don’t pick an eligible gateway, though they will see which gateways offer a discount.

woocommerce no payment discount
No discount

If an eligible gateway is selected, the discount is applied to the order total.

WooCommerce payment discount applied
Discount applied

These are the two options I’d consider to encourage customers to use a particular gateway.

As a side note, I’d also had someone mention this plugin, but it’s not compatible with WooCommerce 2.1+ and it seems like there may have been issues with PayPal. You might want to keep an eye on it in case it is updated at some point, but it won’t work until an update is released.

Have a different solution? I’d love to hear more about it!