Hi,
You can do this with the HikaShop Coupon Conditions plugin:
Create a 2% coupon in Orders > Coupons with "Auto load in cart if possible" set to "Yes".
In the plugin settings, add a condition for this coupon: {cart.cart_payment_id} == X (Replace X with your payment method ID found in System > Payment methods)
This will auto-apply the discount only when that payment method is chosen.
And if you want the user to have a 2% coupon if he enters a code in the checkout, you can create another coupon for it without any specific restriction.
Since 2 coupons can't stack, it will be one or the other, or no coupon, based on the situation.