Skip to main content
Nozle collects payments through the provider connected to your organization: Stripe or Razorpay. Payments are initiated during checkout and processed automatically for recurring subscriptions. Payment flow:
  1. Customer pays in the provider’s UI: Stripe Embedded Checkout, or the Razorpay checkout modal or payment link
  2. The provider processes the payment
  3. The provider sends a signed webhook to Nozle. Stripe sends payment_intent.succeeded, payment_intent.payment_failed or payment_intent.canceled. Razorpay sends payment.authorized, payment.captured, payment.failed, order.paid or payment_link.paid. For a Razorpay order, your backend also calls verify with the handler’s signature
  4. Nozle updates invoice payment status
  5. If the invoice belongs to a payment-gated plan checkout, Nozle activates or cancels the incomplete subscription
See Checkout for the webhook setup and the Stripe and Razorpay flows, and the Stripe and Razorpay integration guides to connect a provider. Payment methods: The PaymentMethodDisplay component shows the customer’s saved card:
Failed payments and retries: When a payment fails, Nozle records the failed payment status. Dunning and retries can be configured for recurring invoices:
  • Automatic dunning: configurable retry schedule. It is part of the Growth, Scale and Enterprise Nozle plans. The hourly run creates a payment request for each overdue invoice of a customer with a campaign, on the campaign’s schedule: it retries the payment with the customer’s payment provider, or emails the customer the payment link when there is none. A customer or billing entity can use only a dunning campaign of your own organization. For a customer who pays through Razorpay the payment link goes out by email, so the billing entity needs an email: without one, the payment request is refused with billing_entity_email_missing instead of being created for nobody.
  • Manual dunning: manually trigger retry
Product credit top-ups: Configure fixed top-up packages for a Credit System. Checkout creation produces an invoice/payment flow; credits are granted once the top-up invoice is fully paid, whether by the provider, a manual payment for the full amount, a payment request or marking it paid: Expose top-up packages through your authenticated backend, start checkout from your billing UI, and refresh the balance only after the invoice is paid. Product credits are separate from invoice wallet credits. See Paid Credit Top-ups. For related configuration, see Checkout, Subscriptions, and Paid Credit Top-ups.