#a.reit
1 messages · Page 1 of 1 (latest)
Not exactly, since you can't pay an invoice that isn't created yet
Mhm - okay I see, is there any other way to achieve the expected behaviour?
But you could, for example, collect a one-time payment separately, then adjust the customer balance so that the first invoice get covered automatically from that balance
I was also thinking about that, but this one time payment would require and additional invoice, right?
Or can this be done without an invoice?
You could collect with a payment intent, for example, no invoice needed
Because if so, then we would have two invoices for one payment which is wrong from an accounting perspective
Ok so the worfklow would be via API:
- Create Payment Intent with param payment_method_types = customer_balance
- Amount will be added to the customers balance
- Once the start date is reached, the invoice will be automatically set to paid by the customer's balance?
payment_method_types = customer_balance -- no not this, you'd be using whatever payment method the customer wants to pay with
eg, card etc
then you need to adjust the balance for your business logic manually for this flow
But I found another problem with that approach: The documentation says "The credit balance automatically applies to the next finalized invoice to a customer.". What if an one time invoice is created for this customer in the meantime? Than the credit balance would be used for that
Ahh okay yeah you are right
Ah, yea, that would interfere, and you'd want another approach
But how do I tell Stripe via API to add it to the customer's balance? Or is this automatically done, when there is now invoice and just the Payment Intent?
Since you're already using schedules, another option would be starting the subscription today and having them pay the first invoice, then putting in on a trial (no payments) until jan 1 (the next time to invoice them)
so they'd pay an invoice for 1 month today, but then not again until jan 1
note that the invoice period would be today through 1 month from today, eg nov 17 - dec 17
which would be then confusing for the end-customer
because the actual subscription is starting in december and not in november
Are you likely to see customer one-off invoices in the period before the first subscription invoice?
This is something we've heard and we're working on it, but the options I shared are the best work around until thats available
I am not sure if I understand what you mean.
The customer balance approach is relatively clean, with the potential end-case of another invoice using some balance (in which case the dec 1 invoice would require partial payment to cover)
Refering to this
Are you using one-off invoices?
Yes we are using one-off invoices
OK, would you use one-off invoices for a customer that has not started their subscription yet?
Ahh now I get it, thanks. Yes that is likely, as the customer i.e. purchases other one time products in that time.
with one time products I mean products without recurring prices, but with one time prices
One other option then would be taking that payment, and instead of a customer balance you could apply a one-time 100% off coupon to the subscription to discount the first invoice
But that would also then show up on the invoice, right? Which is also not a clean solution
It would, yes
https://stripe.com/docs/api/subscription_schedules/create#create_subscription_schedule-phases-coupon
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
It would appear as eg:
amount $100
coupon 100% -$100
amount due $0
(then no payment taken)
Yep - which will generate support requests on our customers side and eventually on our side.
Mhm - do you see any other way?
Not really -- these options are all the workarounds I can think of until we make such a pre-payment feature available
I need to step away but my colleague @hard bone can help if you have other questions or want to explore one of the options in more detail
Is there such feature planned?
Am yes, I just tried the approach with the payment intent: I created one for a test customer: https://dashboard.stripe.com/test/connect/accounts/acct_1LIW4DB1zKCf85E8/payments/pi_3M5BkMB1zKCf85E80gCyiMim
But how can the customer access the payment intent and pay?
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
Hello! I'm taking over and catching up...
Ok I think it is only possible if the customer already has a payment method added, is that right?
Is there any way to make the paymentintent accessible via a stripe hosted payment form?
What about creating a charge?
Ok charge is also only working with a payment method attached.
You can't take an existing Payment Intent and have someone pay it using a Stripe-hosted payment form. You can build your own payment form using Stripe Elements to pay it though. In a nutshell you would take the Payment Intent's client secret and pass it to the Payment Element: https://stripe.com/docs/payments/payment-element
Ok so we have to build our own payment form