cashier-mollie icon indicating copy to clipboard operation
cashier-mollie copied to clipboard

FirstPayment minimum after coupon

Open sandervanhooft opened this issue 6 years ago • 3 comments

How should the FirstPayment amount be increased to meet the minimum payment amount (config('cashier.first_payment.amount') requirement?

  • add the extra required amount as a service fee
  • add the extra required amount to the balance

What do you think?

Context: in some cases the first payment amount will drop below the required minimum. I.e. when a coupon was applied.

sandervanhooft avatar Oct 03 '19 11:10 sandervanhooft

I think it would be best to add this to the customer's balance, this way it's less confusing for the customer. I would assume the following would happen:

  • MInimum payment: €10.00
  • Plan: €15.00
  • Coupon: €10.00

When the coupon is set to 1 time, the customer pays €10.00 the first time and €5.00 is added to their balance. This is also mentioned on their invoice. The second time the customer effectively pays €10.00 again, after that the customer pays the regular price.

When the coupon repeats more than once, the first payment is also €10.00 with €5.00 added to their balance. The second payment will be €0.00, subsequent payments will return to the discounted price of €5.00.

When doing this with a service fee it defeats the purpose of a coupon, since the customer is charged more anyway. This doesn't really seem logical to me.

However personally I would try to avoid this behavior in my own app, because in both cases it could be quite confusing and might turn into more tickets.

RobertBoes avatar Oct 04 '19 08:10 RobertBoes

Thanks @RobertBoes !

To be clear, this is about preventing Exceptions thrown by Mollie, triggered by a payment amount being too small.

So it's usually set to €1.00 minimum (to cover all different payment methods) in the config.

I agree that the app developer should try to avoid these scenario's, but since it might happen, better to deal with it :).

Also good to know: for payments after the first payment, the minimum payment is dynamically determined using Mollie's API. It's not possible to do this with the first payment because it requires a mandate.

sandervanhooft avatar Oct 04 '19 08:10 sandervanhooft

@sandervanhooft I am wondering how to act in oder to arrive at this question.

When I create a new subscription and redeem a coupon on this newly created subscription, the first payment is already processed and the coupon is applied on the second charge of the subscription.

The same happens if I credit the user a certain amount and create the subscription afterwards. The balance is also not applied to the first payment but to the consequent one(s).

I am asking because I have the usecase of applying any sort of discount from the beginning on.

Edit: sorry, after some more code research I found out that I can apply withCoupon() on the SubscriptionBuilder instances. I'm fine with this...

asamMarkus avatar Jun 10 '20 13:06 asamMarkus