UPDATE: Payment profile webhook setup now tells you to register payment_callback.php in Mollie Developers → Webhooks
UPDATE: Webhook event list is Mollie's real types only (payment.paid, payment.failed, payment.canceled, payment.expired, payment.pending, payment.authorized)
FIX: Removed payment.updated from that list (Mollie does not have that event)
FIX: Signing-secret help now says to paste the secret Mollie shows when you create the webhook
FIX: Webhooks no longer error with PaymentChargebackEndpoint: PageFor() while checking refunds/chargebacks
FIX: Prefer this add-on's bundled Mollie API v3 if another add-on also ships mollie-api-php
UPDATE: Delayed methods (PayPal, SEPA, bank transfer) wait for a paid webhook before the upgrade is granted
UPDATE: New purchases always open Mollie checkout (saved methods can still appear there for returning customers)
ADD: Verify X-Mollie-Signature when present; keep legacy unsigned payment webhooks working
ADD: Use unique Mollie subscription descriptions per customer
FIX: Duplicate payment webhooks no longer add a second billing period
FIX: Recurring charges now notify XenForo (existing Mollie subscriptions are updated on upgrade; amounts, intervals, and start dates are unchanged)
FIX: Canceled, failed, or expired checkouts no longer show a thank-you page
FIX: Never one-click charge an existing Mollie mandate; every new purchase opens Mollie checkout (same idea as XF Stripe). Saved methods may still appear on Mollie's page via customer reuse