I would take a different approach here, but just note that nothing that I know of would support this out of the box without additional code. The big issue is that your discount is a flat amount off of an order as opposed to an amount off of the unit price of a product, but the Commerce Discount module's order level discounts don't have the necessary conditions to set the price accordingly.
Basically, I'd add a field to the user that represents how many jars they've returned. Presumably, they might return multiple and get even more off of their next order. This field would need to be hidden from their edit form, though it's reasonable for it to appear when they view their own user profile so they know how much to expect off of their next order.
You then need to create new inline condition code in a custom module that can read this field and apply a discount if the value of the field is > 0. This is actually pretty straightforward and could be done without using Commerce Discount / inline conditions, but the problem is you really need Commerce Discount to get the $ off the order total correct.
Then for actually applying the discount to the order, you can do one of two things: you can define a new offer type that knows how to look at the user's profile to determine how large the discount should be or you can is the $ off offer type but alter the line item after the fact to be the correct amount (presumably on pre-save).
Completing the process, you need a custom rule to fire when the order is first paid in full (this is the name of the relevant event) to set the user's jar count back to 0. Not sure how you process refunds, but you'll most likely just need to reset the jar count manually in the event of a refund.