cashier-mollie
cashier-mollie copied to clipboard
FirstPayment minimum after coupon
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.
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.
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 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...