Another option you can use if you need the charge id right away and can't wait for a webhook is use the latest_invoice
field on the returned subscription object.
A python example:
inv_id = subscription.latest_invoice
inv = stripe.Invoice.retrieve(inv_id)
charge_id = inv.charge