#Tiana-customer-currency

1 messages ยท Page 1 of 1 (latest)

rough anchor
tardy holly
#

Working, thanks.
Another question : how to allow the user to see his non-subscription payment history from the billing portal ?

rough anchor
#

It doesn't support one-time payments right now. Just invoices

tardy holly
#

In that case, how to generate a checkout session for an invoice ?

rough anchor
#

You mean by passing a specific Invoice object ID?

tardy holly
#

Yes

rough anchor
tardy holly
#

Yes, but that one doesn't have a return URL

rough anchor
#

Yeah that's not supported right now I'm afraid

tardy holly
#

If the customer doesn't pay, we need the invoice auto-increment not to be incremented

#

Or, how to generate an invoice after a checkout session is complete ?

rough anchor
rough anchor
tardy holly
#

In France, an invoice is only supposed to be generated once the customer has paid. No invoice must be generated if the customer did not pay.

rough anchor
#

Got it. I guess you'd do that via the API then mark it paid out-of-band

tardy holly
#

So how to generate an invoice from a checkout session ?

rough anchor
#

There's no direct way. I guess you'd listen for checkout.session.completed event and then create an Invoice via the API and mark it as paid

tardy holly
#

create an Invoice via the API and mark it as paid
How to do that ?

rough anchor
#
tardy holly
#

What to put in collection_method so it does nothing at all ?

#

Where to put the items ?

rough anchor
tardy holly
#

You can send an email to your customer (send_invoice) or charge them automatically (charge_automatically).
How to do nothing ?

rough anchor
#

you can't โ€“ but don't they want an invoice?

tardy holly
#

Yes, but only once it's marked as paid.

#

We don't want the customer to receive an e-mail saying they must pay an invoice that they already paid.

rough anchor
#

Not sure that's possible currently

#

It's a bit of an edge case

#

Why can you not just use invoicing?

#

Without having to involve Checkout?

tardy holly
#

Could the email be overriden for a specific invoice so that it tries to send it to a non-existing address ?

rough anchor
#

No, it's just taken from the Customer object

tardy holly
#

What about receipts ? Can those be generated manually from a checkout session ?
Forget it, my boss says it's legally not enough

tardy holly
#

Could a manually created invoice be kept as draft, therefore, not having an invoice number ?

rough anchor
#

Hmm, is that true? I thought the number was added on creation

tardy holly
#

Is what's before -DRAFT based on the auto-increment ?

rough anchor
#

I'm not 100% sure, easy enough for you to test

tardy holly
#

When a customer receives an email to pay an invoice, can he void it ?

#

Or, when he visits the customer portal ?

charred venture
#

Hi there ๐Ÿ‘‹ apologies for the delay, I'm pretty sure this isn't possible.

tardy holly
#

If I change a customer's email address to a non-existing email address before creating an invoice, then restore it once marked as paid, will it prevent the customer to receive an email asking him to pay ?

charred venture
#

Hm, can you help me understand what you're trying to accomplish?

tardy holly
# charred venture Hm, can you help me understand what you're trying to accomplish?

Ultimately, I am trying to create an invoice only after a one-time payment is complete. That's it.
I tried :

  1. After a successfull checkout session, create an invoice and mark it as paid. But, it sends an email to the customer asking him to pay.
  2. Create an invoice, then redirect the customer to the hosted invoice payment page. But, the invoice cannot be deleted if the customer aborts, and there is no way to redirect the customer back to the app.
#

So, I also tried option 1 but with a customer patch before creating the invoice to change the email to a non-existing one, then restore it to the real one after. But, the invoice displays the non-existing email in the PDF, which is even worse.

charred venture
#

You can try setting collection_method to charge_automatically and auto_advance to false to avoid the emails asking for payment. Our invoices are part of the money collection flow, so you'll need to try suppressing a large chunk of our functionality in order to use our invoices as a receipt. It might be easier for you to just retrieve information from the transaction and then build the invoice yourself on your end.

tardy holly
#

You can try setting collection_method to charge_automatically and auto_advance to false to avoid the emails asking for payment
How can I make sure it will work since emails are never sent in test mode ?
use our invoices as a receipt
The thing is, in France, an invoice is a legal document that a company needs for accounting purposes, while a receipt is not enough.

#

Can the response from GET /v1/checkout/sessions/:id/line_items include product metadata ?

charred venture