#nightshade2099
1 messages · Page 1 of 1 (latest)
Can you share the invoice ID (in_xxx)?
sure: in_1NW6eoDjdxJUaev1JhYFY7HQ
For the first invoice of a subscription, there is a 23 hour payment window: https://stripe.com/docs/billing/subscriptions/overview#payment-window
If the customer doesn't complete within the payment window, the invoice will be voided.
Ah. For some reason I thought that was only the case with payment behavior of default_incomplete. Is there no way to circumvent this?
I presume the alternative is to create an invoice that is NOT attached to a subscription, then create the sub once the invoice is paid?
I'm afraid there is no way to avoid the payment window of 23 hours. You may create a new subscription.
In https://dashboard.stripe.com/test/logs/req_aNvGvBzdrRtzaC for in_1NW6eoDjdxJUaev1JhYFY7HQ, the collection_method="send_invoice" wasn't set though
Do you plan to charge automatically or send invoice?
hmm, strange. I might need to validate my API endpoint's logic. The goal is send_invoice, yes (although we plan to send our invoice in response to a webhook notification, rather than having Stripe doing it on our behalf)
So, just to verify, the best way for us to accomplish the business goal here (i.e. create an invoice, wait for payment, then provision the subscription after payment is collected) is to create invoices directly, and only create a subscription on payment receipt. Yes?
For collection_method='charge_automatically' (default if not set), 23 hours payment window will always be applied and it can't be changed.
For collection_method='send_invoice', you may set days_until_due to extend the payment window: https://stripe.com/docs/api/subscriptions/create#create_subscription-days_until_due
With collection_method: 'send_invoice', customer will have to pay the invoice manually every billing cycle
ah, gotcha, so if we set days_until_due out to e.g. 30 days, the payment window will be the same? that's helpful, thank you
Yup! I'd recommend trying it out in test mode with test clock (advances the time for easy testing): https://stripe.com/docs/billing/testing/test-clocks