Emerald - Payment gateway - Stripe
Stripe integration is very advanced. It supports recurring payment (stripe subscriptions). It will automatically create Stripe plans for you. It will also manage your customers. When customer is created in your stripe dashboard, metadata like username, email, name and ID are attached. So you can search customers in your Stripe dashboard by Joomla username. It also supports webhooks. When there is a refund or dispute created, user subscription will be automatically unpublished. And when dispute is resolved it will publish it again (of course if you win).
How to configure.
All you have to do is enable Webhooks in your Stripe dashboard settings. Copy URL from Stripe gateway parameter in Emerald And enable following webhooks - charge.refunded - charge.updated - charge.dispute.closed - charge.dispute.created - charge.dispute.funds_reinstated - charge.dispute.funds_withdrawn - charge.dispute.updated - invoice.payment_succeeded