Hey Cobus,
When the subscription is created, multiple events are sent automatically: `invoice.created`, `invoice.payment_succeeded`, `customer.subscription.created`. Then, on each new billing cycle, `invoice.created` will be sent first, followed by `invoice.payment_succeeded` or `invoice.payment_failed` depending on whether the charge succeeded or not.
If the invoice attempts to charge the customer's source, there will also be a `charge.succeeded` or `charge.failed` event. Otherwise, if the invoice's amount didn't trigger a charge, for example if the amount is $0, no `charge.*` event would be sent.
Hope this helps!
Remi