Subscription Management

'Future invoices' in Ezypay are virtual invoices scheduled but not yet generated by the subscription system. These invoices do not have an invoice ID until generated by Ezypay. The system allows modifications to some future invoices without affecting others, providing integrators with greater control over subscription management.

Update a future invoice

You can modify the details of an invoice that has not yet been issued using Update a Future Invoice API. Updates will affect only the specific invoice, leaving other invoices in the subscription unchanged. The following details can be updated:

a. Invoice date

Changes the date the invoice is issued, but the changed date must be within the current billing cycle's start and end dates. For instance, if a billing cycle is from January 11 to January 18, the new invoice date must fall within that range.

b. Invoice amount

Modifies the amount to be charged. Amounts are recorded as items objects with specific type:

  • subscription_payment - Overwrites the subscription amount for this invoice item.

  • addon_payment - Adds an extra amount on top of the subscription without changing the original amount. Existing addon_payment items are overwritten by new updates.

View details of future invoice

You can view upcoming invoices by calling the list future invoices API. This helps merchants to manage their cash flow as they can view the upcoming payments and plan accordingly. Furthermore, this also allows customers to ensure sufficient funds are available before billing occurs.

Delete a future invoice

Use Delete a Future Invoice API when you want to stop billing on a certain date. No invoice will be generated for that cycle, but the billing schedule will continue in the next cycle. If there are a set number of billing cycles or a target total amount, an extra billing cycle will be added to maintain these targets.

Deleting future invoices can also pause a subscription. By removing invoices within the pause period, billing stops temporarily and resumes automatically when the pause period ends.

Record an external payment for a future invoice

If a payment is received in advance outside of Ezypay’s system, you can record an external payment for the future invoice. This generates a physical invoice with PAID status, triggers the invoice_created webhook, and assigns a unique invoice ID for reference.