Connect.js can launch payment flows by passing scope: "payments" and payment configuration in data.
Payment products and required fields can change independently of the JavaScript SDK. Confirm availability, field values, currency behavior, limits, and server-side verification in Mono’s current official documentation before shipping a production flow.
One-time debit
The current Connect.js examples use an integer amount in the currency’s minor unit. In this naira example, 150000 represents ₦1,500.
Recurring debit
Use the recurring type shown in the current package examples when your Mono application and payment product support it.
Account linking and payments return different results
Do not destructure { code } in a payment callback unless the current Mono payment contract explicitly returns that shape.
Verify on the backend
Treat the browser callback as a signal to continue. It is not final proof that funds settled. Send the returned payment reference or charge identifier to your backend and verify it using the current Mono payment API before fulfilling an order or granting paid access.
Avoid duplicate launches
Track whether a payment is already open or awaiting verification. Return early from repeated calls, and use the same state to disable the payment button in your interface.