Recurring Debits
High-level overview
We use the Mona gateway to enrol a customer for deferred/recurring payments. It does not matter if a customer pays via USSD, card or bank transfer, we will automatically retrieve the bank account linked to their payment method to enrol. Any time we re-identify this user on our checkout, we will offer them this as a payment method.
the Mona enrolment object
By passing the monaEnrolment
object to your create checkout session request, we will seek to onboard the customer to Mona Pay with Bank. If you pass a Mona customer ID as part of the object, we assume you are trying to enrol an additional bank account for an existing customer. It is important you allow the customer to approve limits to the amount and frequency you can debit them. This is done by passing the mandatory periodicLimits
key in the object. The periodicLimits
object
Enrolling a customer for debits
If you want to charge a customer on a deferred or recurring basis, for example for payment on delivery, or to top-up a wallet or a recurring subscription charge, pass the enrolMona
object as part of your , After a regular payment, the customer will be prompted to enrol for Mona Pay with Bank. If their enrolment is succesful, you will receive a mona.enrolment.success
webhook event, containing the customerId
we created for this customer in our system. Use the transactionId of the checkout to map it back to the customer profile in your database.