#nicola_api

1 messages · Page 1 of 1 (latest)

warm jewelBOT
#

đź‘‹ Welcome to your new thread!

⏲️ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.

⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.

đź”— This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1375364719057047694

📝 Have more to share? Add more details, code, screenshots, videos, etc. below.

Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.

craggy depot
#

hello! If you want to start a subscription in the future, the only option is to create a subscription schedule directly. I don't understand what you mean by loses the inherited payment settings - what settings are you hoping that the subscription schedule inherits?

halcyon folio
#

Thanks again! The issue I’m running into is that I need to use a regular Subscription in order to set the full range of payment settings (like payment_method_types, save_default_payment_method, send_hosted_payment_email, etc.), because these fields are not fully available yet when creating a Subscription Schedule directly via API.

However, I also need to delay the actual start of the subscription, which forces me to use a Subscription Schedule with a future start_date.

So I’m stuck between two incompatible requirements:

Creating a Subscription lets me define payment settings, but it starts immediately.

Creating a Subscription Schedule lets me delay the start, but it doesn’t expose the full payment_settings or invoice_settings fields, either in the SDK or in the official parameters.

Is there any recommended way to create a Subscription Schedule with a future start date and apply the same full payment settings as a regular subscription?

Thanks again for your help!

craggy depot
#

The way to go about this would be to collect the payment method upfront first using a SetupIntent. After you collected the SetupIntent, set the default payment method either when creating the subscription schedule or on the customer. You can create the subscription schedule with collection_method: "send_invoice"

halcyon folio
#

Thanks for the suggestion! Just to confirm I understood correctly:
I can collect the payment method upfront using a SetupIntent, attach it to the customer, set it as the default, and then create a Subscription Schedule with a future start_date and collection_method: "send_invoice".
This way, the invoice will be sent at the right time and already associated with a valid payment method — is that correct?

craggy depot
#

Sorry, to clarify one point, you said send_hosted_payment_email - what does this mean? Are you intending to collect payment by sending an invoice to the customer to pay?

halcyon folio
#

Yes, exactly — by send_hosted_payment_email I meant that the goal is to send an email to the customer with the link to the Hosted Invoice Page, where they can choose how to pay (e.g. by card or bank transfer).
So yes, I’m intending to collect payment by sending an invoice for the customer to pay manually — not to charge them automatically.

craggy depot
#

then it sounds like you don't actually need to collect a payment method for the customer upfront right? since you're sending them an invoice to pay by

halcyon folio
#

You're absolutely right — if I just wanted to send the invoice and let the customer choose the payment method freely, I wouldn’t need to collect a payment method upfront.

However, in my case I need to control which payment method is available, depending on commercial conditions.
For example, for some customers the invoice must be paid by card only, while others are allowed to pay only by bank transfer.

So my goal is to send the invoice email, but limit the available payment methods on the Hosted Invoice Page — that’s why I was looking to use payment_method_types inside the Subscription Schedule.

craggy depot
#

it might be useful to include the payment method types you want to use on the metadata so that it will be populated onto the subscription and hence invoice : https://docs.stripe.com/api/subscription_schedules/create?api-version=2025-03-31.basil#create_subscription_schedule-phases-metadata. Then you can refer to the metadata to update the invoice

halcyon folio
#

Just a quick follow-up question:
In the Stripe Dashboard, when I create a subscription schedule with send_invoice, I’m able to:

Specify the days_until_due

Enable the hosted invoice payment page

And select exactly which payment methods are available (e.g. card only, or bank transfer only)

However, when I try to reproduce this flow via API, I’m told that these settings (especially payment_method_types) are not supported during subscription_schedule.create, and should instead be set after the invoice is created.

How is it that the Dashboard can apply these settings during creation, but the API doesn’t allow it directly?
Is there any internal logic or endpoint I can use to replicate exactly what the Dashboard is doing behind the scenes?

Thanks!

craggy depot
#

There's some differences between what's possible via the Dashboard and what's possible via the API. It's pretty unfortunate, but the payment_method_types is one of those parameters that can be set via the Dashboard, but not via the API on a subscription schedule

halcyon folio
#

Thanks again — one last question if I may:
While I work on implementing the invoice.created webhook approach, is there any temporary workaround I could use directly from the Dashboard to enforce certain payment methods?

For example, could setting a default payment method or configuring something in the Customer settings help limit which payment methods appear on the Hosted Invoice Page — at least until I have full control via webhook?

Thanks again for all the help!

craggy depot
#

there isn't really a way to limit the payment methods right now in the customer settings. There's no other workaround for this other than what I mentioned. Maybe you could possibly adjust the subscription payment methods via the Dashboard after it's been created. However, that's going to require you to note down and update all those subscriptions by hand which isn't very feasible if you have a lot of subscriptions