#Gizmo-subscription-payment
1 messages ยท Page 1 of 1 (latest)
You will need to make sure that the Payment Method is setup for future usage in addition to doing what the guide mentions: https://stripe.com/docs/payments/save-and-reuse
Ah, apologies. That guide should have everything you need to have recurring payments without your customer manually entering the payment flow again.
Apologies, I misunderstood your initial question
No worries, thank you. To confirm, the customer will be billed automatically for future subscription charges as long as I set the default payment method on the subscription after a successful initial charge per step 8?
๐ stepping in here as @jovial leaf needs to step away.
Hi bismarck, thanks for your help.
That will automatically set the payment method as the default and it will be used for future payments
Do you know if it's the same as step 8 here in this Stripe guide I've been following? (I'm trying to determine if I'll be ok by just following this guide) https://stripe.com/docs/billing/subscriptions/build-subscriptions?ui=elements&card-or-payment-element=payment-element#default-payment-method
I'm not sure what you mean by "same as"
I wouldn't mix and match guides if I could help it. What are you actually trying to do?
I mean will it work and bill the customer for the subscription automatically in the future if I just follow the steps (particularly step 8) outlined in this guide? https://stripe.com/docs/billing/subscriptions/build-subscriptions?ui=elements&card-or-payment-element=payment-element#default-payment-method
I'm trying to do exactly what the guide I shared describes. My question was just whether it will bill the subscriber automatically for future payments if I follow this guide.
Yeah so what I referenced above was just launched this week and is a replacement for Step 8 in that guide.
We just haven't updated the guide to include that parameter yet
I recommend you test it out!
Oh, nice, so by adding payment_settings.save_default_payment_method when I initially create the subscription I can basically just skip step 8 because it's being saved as the default payment method when the subscription is first created?
Yep!
Once the payment is made then that payment method will be set as the default automatically
Beautiful, thank you! When you first sent the link I thought it was a different guide with different steps and I just didn't want to muddy the waters with what I have been following ๐
I understand!
I'm trying to add a one time charge to the first subscription invoice and it's saying amount and description are invalid parameters. Can you help?
'customer' => $stripeCustomer->id,
'items' => [
[
'price' => config($stripeSubscriptionPriceId),
]
],
'payment_behavior' => 'default_incomplete',
'expand' => ['latest_invoice.payment_intent'],
'add_invoice_items' => [
[
'amount' => '25',
'description' => 'Extra stuff'
]
],
]);```
It is add_invoice_items.price_data.unit_amount. See: https://stripe.com/docs/api/subscriptions/create#create_subscription-add_invoice_items
Don't think you can set a description here either
And you will need currency and product as well
Thanks you. So the product has to correspond to a product I've created in the Stripe dashboard? I was hoping to get away with not having to duplicate our entire product inventory within Stripe and instead just charge the amount that needs to be charged.
Yeah an invoice item must be associated to a product.
You don't have to necessarily duplicate your entire product inventory
You can just use a single product within Stripe if you want for your one-off items
I see, thanks. So is add_invoice_items.price_data.unit_amount_decimal where/how I specify what the one-time charge on the subscription invoice should actually be?
I'm asking if that parameter is where I can specify the amount to charge
Oh
That or the unit_amount parameter
Depending on whether you want to charge a decimal value or not
ahh, got it. So if it was, say, 24.99, unit_mount would just be 2499 and I should ignore add_invoice_items.price_data.unit_amount_decimal?
Yep
Roger that, thanks. Ok, so I can create a single product in Stripe and call it 'Package' and then charge whatever one-time fee I need to based on what the user is purchasing along with their subscription on my site and just reference the Package product id, right?
Yep
Terrific. And if I need to issue a refund because the user wants to cancel their subscription but keep the other stuff, I will be able to do a partial refund so that Stripe doesn't refund them for the added invoice item they are keeping?
You determine the amount to refund for a charge when you create the refund.
If you update the Subscription itself then you handle proration.
In terms of future invoices
But the one-off item won't be included for proration if I remember correctly
Great, thank you. I just wanted to make sure a user canceling their subscription wouldn't automatically refund them the entire thing.
No, a cancellation won't cause any sort of refund
Regarding subscription renewals, does Stripe automatically retry failed payments?
Yep, based on your settings in your Dashboard here: https://dashboard.stripe.com/settings/billing/automatic
It looks like my subscription with the add on worked! Do you know what percentage Stripe is supposed to charge? It looks like the Stripe fees came out to 3.75% ? (1.31 out of 34.98)
I don't know much about fees
Only what our public pricing page says: https://stripe.com/pricing
You'll want to talk to our support team https://support.stripe.com/contact/login if you have questions on fees
Thank you, I'll take a look
Does stripe generate an invoice for the order I can look at or download?
Yes you can download the invoice PDF from the Dashboard
Got it, I found view receipt further down the page. I noticed it uses my own email address for the contact email. Can I configure that to my company's support email address?
Yep take a look at https://dashboard.stripe.com/settings/public
Thanks!
Do you know offhand how I can get the stripe customer id from the payment intent once I look up the payment intent using the payment intent id upon a successful redirect after payment? I want to associate the stripe customer id with my user.
Customer should be right there as a property returned with the PI object: https://stripe.com/docs/api/payment_intents/object#payment_intent_object-customer
Awesome. You've been so incredibly helpful, bismarck. The pieces are all coming together for me. (Not saying I'm out of questions just yet, but I wanted to convey my gratitude for all of your help - migrating from Braintree which does things quite differently to Stripe has been a bit daunting)
Happy to help!