#citronovastava
1 messages · Page 1 of 1 (latest)
Yeah you can collect billing address via payment link if you want. Why do you need to use SetupIntents though?
In order to sell subscription to the customer, you have to have his billing address saved - is that correct? We are thiking of the best way, how to do it. Our original idea was to ask Stripe for those information which Stripe will have from the onboarding process. But it was said to us, that with standard accounts we are not able to do this.
Well your customer needs to be online to collect their payment method details for the subscription, right? Why not collect it then right before you process payment?
Yes thats our plan - but my original idea in this thread was this:
- we dont have customer's billing address
- he clicks on "BUY this subscription"
- we sent him this payment link for this subscription
- he fills up credit card info with billing address
- we save billing address for ourselves and sends it to Stripe so we can create CUSTOMER - SUBSCRIPTION binding
How you structure the flow is up to you, but I don't recommend doing it that way. SetupIntents are also likely unnecessary. If you need a Stripe-hosted solution to accept payment for Subscription, I recommend Stripe Checkout (ie this guide: https://stripe.com/docs/billing/subscriptions/build-subscriptions?ui=checkout). But before sending the customer to the checkout page, you can create the customer object: https://stripe.com/docs/api/customers/create and then pass it in when you create the checkout session: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-customer to link the two together. You can pass auto here: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-customer_update-address to update the customer's billing address automatically
And also specify required if you want to always collect billing address here: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-billing_address_collection
We started with Checkout implementation for our whole project - that is
- Our customer is charging their customers (direct charges)
- Subscriptions - our customers buys subscription for our software
But it failed on the one thing and that is that checkout is unable to create invoices for the 1st case (I hope that was true)
So we scrapped our integration and started to use hosted invoice page.
Im not sure that we are able to implement checkout just for the subscription right now, because we started this way.
Can you explain more this: But it failed on the one thing and that is that checkout is unable to create invoices for the 1st case (I hope that was true). Am a bit confused as I don't have full context
May be true, but I guess I don't understand your integration fully
Support said to us that Checkout is unable to generate invoice from one tim checkout session
(we are speaking of the first case, that our customers charge their customers) not about the subscription topic. But I mentioned it because thats why we dont use checkout for the subscriptions
Oh. This feature was actually just added in the past week: https://stripe.com/docs/payments/checkout/post-payment-invoices
Hah 😄 OK - so maybe in the future we can change this, but right now, can we please get back to the topic of subscriptions without using Checkout?
What do you suggest in our position please?
give me one sec please
I see.. our developer who did the implementation said that in order to sell the subscription we need to have customers billing address and payment details saved otherwise we cannot sold the subscription. This is her chart flow
So, you'd just need to grab it off of the first invoice generated by the subscription
But, again, if you were to implement Checkout, it would reduce all these unnecessary steps
Sorry actually ignore that. Want to confirm a detail
Ok. So the SetupIntent is unnecessary above. I just tested out a flow on my test account that should be a bit simpler for you and avoids using Checkout if you really don't want to use it. You can skip SetupIntent creation and just create the subscription with payment_behavior set to default_incomplete: https://stripe.com/docs/api/subscriptions/create#create_subscription-payment_behavior. Then, you would just need to grab the hosted invoice url off the subscription's first invoice and send the customer there to pay: https://stripe.com/docs/api/invoices/object#invoice_object-hosted_invoice_url
Sorry I dont understand, how can I grab it off from the first invoice generated by the subscription if the customer wants to buy his first month
Yeah sorry just sent the last message
You'd want to eliminate the SetupIntent step
ok
I will check the info u sent me, is there any way how can I contact you lets say via DMs and follow this thread please?
thank you!
No problem. You can just message in the main channel and whoever is staffing can assist you further
Ok thank you. Have a nice day
Maybe one last thing, just to be sure you are talking about hosted invoice url, not about the payment link with which I started this thread right?
Correct just the hosted invoice url that comes with the subscription's invoice
ok great - thanks