#phoxhole (phox-hole)

1 messages · Page 1 of 1 (latest)

mental flickerBOT
crisp rover
#

Hello đź‘‹
Can you share some recent examples of the payments? PaymentIntent IDs should help

autumn seal
#

ch_3Lyjr0HwLh5IrmjO0G128lYj

#

Is that something that can help identify?

crisp rover
#

taking a look

autumn seal
#

ch_3LymlSHwLh5IrmjO0Eqy5WRh, ch_3LyMTXHwLh5IrmjO1m6Iu3HP - two more.

crisp rover
#

This attribute is typically null until the receipt is sent via email

autumn seal
#

For almost 3 years now, I’ve been getting the receipt number as part of the JSON data.

#

Is the absence of it now due to system lag on Stripe’s part?

#

And something else - the receipt_url is present in the JSON

crisp rover
#

So the charge should've had a receipt number

autumn seal
#

Are you saying that the receipt_number SHOULD have been part of the response JSON given the receipt_url is present?

crisp rover
#

I don't think receipt_number and receipt_url are related here.
I'm solely basing this on how receipt_number is added to a charge object. As far as I know, the charge can have a receipt_url even if it doesn't have a receipt_number

However, for receipt_number

This is the transaction number that appears on email receipts sent for this charge. This attribute will be null until a receipt has been sent.

Since you're setting receipt_email on charge creation

The email address to which this charge’s receipt will be sent. The receipt will not be sent until the charge is paid, and no receipts will be sent for test mode charges. If this charge is for a Customer, the email address specified here will override the customer’s email address. If receipt_email is specified for a charge in live mode, a receipt will be sent regardless of your email settings.

The receipt should've been sent to the email

#

so the charge should have a receipt_number

autumn seal
#

I’m confused. Are you saying this is “normal” for the response JSON to be lacking a receipt_number? If so, why do the overwhelmingly high number of transactions in the past have receipt number data in the response JSON?

crisp rover
#

It is normal but I'm saying the examples don't look right as they should've had a receipt_number

autumn seal
#

Also, any idea on how to get the receipt number after the fact? I’ve used PayPal IPN in the past to get the transaction data and update my systems when that comes in. Does Stripe have something like that?

crisp rover
#

(assuming the email receipts were sent successfully)

autumn seal
#

I’m sending the email address in the request string, so there’s always an email address.

#

And it’s the same for each integration.

#

Same per integration - each integration has a different email address, but the same one is sent for each integration.

crisp rover
#

Also, any idea on how to get the receipt number after the fact? I’ve used PayPal IPN in the past to get the transaction data and update my systems when that comes in. Does Stripe have something like that?
If you retrieve the charge by calling the API, do you see the receipt_number there?
https://stripe.com/docs/api/charges/retrieve

I’m sending the email address in the request string, so there’s always an email address.
Yup I see that and that's why I feel something is off here.

autumn seal
#

OK - while I dig out my API key to call the API, if the receipt number is absent, where do we go from here?

crisp rover
#

I'm asking a colleague to take a look at this issue as I might be overlooking something here.

autumn seal
#

Thanks

crisp rover
#

When you say

receipt_number despite having a receipt_url in the JSON that's returned.
do you mean the response from the API or are you listening to any webhooks events?

autumn seal
#

I’m sending a GET request via the API and the JSON is what I’m referring to when I get a response

crisp rover
autumn seal
#

Not yet. I had to leave the house for a meeting.

crisp rover
#

We'd need to look at example requests in order to dig deeper into what's causing this behavior.
receipt_number is expected to possibly be null for a short time after the charge is successful before the receipt is delivered, so retrieving the charge by calling the API should help clarify if that's the case.

autumn seal
#

Do you need an example of the API call that I’m using?

crisp rover
autumn seal
#

ok - i'm back home and will get you the information you requested.

umbral lion
#

HI đź‘‹
I'm stepping in for @crisp rover as they need to go

autumn seal
#

for the first transaction id I sent you, here's the POST body:

{
"application_fee": "100",
"description": "Arkansas Department of Agriculture - Plant Industries Division license charge (License No.: )",
"receipt_email": "inoussa.zaki@agriculture.arkansas.gov",
"source": "tok_1LyjqzHZHCx2TPPN4hHiQw7S",
"currency": "usd",
"amount": "4768",
"expand": [
"balance_transaction"
]
}

#

thank you Snufkin

umbral lion
#

Okay so what's your question about this transaction?

autumn seal
#

really?

#

I'm getting NULL on receipt_number on a few transactions recently

#

I sent three IDs ^

#

this is very unusual and I'm wanting to know why

#

hanzo asked me for the API call details

#

he said this shouldn't happen

#

sorry for being rude. I've been working very heard on another project and need to get back to it, but this is something my client has asked me to look into.

umbral lion
#

That's understandable. I just have a number of active users here asking me questions so I may not have fully understood all the context here.

autumn seal
#

Do you have what you need to investigate now?

#

or what is the next step? Like I've said above, this is very unusual (for me) as I've run thousands of transactions across multiple accounts and have never noticed the absence of a receipt number.

#

I can see there's a lot of activity - just don't forget me. I'll go back to working on my other project and will keep Discord open on my iPad so I can see your messages.

umbral lion
#

Okay I'm looking a th the charge

autumn seal
#

correct - that's the unusual part...at least for me

umbral lion
#

Okay but if you retrieve the charge object now using the API, do you still see a null for the receipt number?

autumn seal
#

i don't know really how to do that

umbral lion
autumn seal
#

and how does that answer the question about why it was NULL in the first place?

#

I saw that, but I don't know how to take the information on that page and do something with it.

umbral lion
#

Because we are aware of an issue where the value is null after the charge is created but before the receipt is delivered. If that is the case then I can add a message to that issue to increase the priority of dealing with it

#

If this is an entirely separate issue I would need to raise it elsewhere

autumn seal
#

I don't know if that's what's happening or not. What I know is that the JSON response has a NULL for that value all of a sudden (after years of working properly). Also, the receipt_url is present, which makes me believe the receipt number is indeed known, but isn't being written to the response for some reason.

#

if this is a known issue, I can relay that back to my customer.

#

and it's not happening on all transactions - very spotty

umbral lion
#

Yes let me review he issue documented internally so I can be sure I report the issue accurately.

autumn seal
#

cool - thanks

umbral lion
#

Okay this is looking very much like that you are experiencing. I will raise this issue internally. Unfortunately I cannot guarantee any specific timeline for resolution though.

autumn seal
#

That is enough - thank you for your time today. And when hanzo is back on, please pass along my thanks as well.

umbral lion
#

Happy to do it. Flagging stuff like this is how we make Stripe products better. I'll pass on the thanks 🙂

autumn seal
#

do you need more transactions to add to the ticket?

umbral lion
#

I think I've got what I need

autumn seal
#

ok - great. have a good rest of your day.

umbral lion
#

You do the same đź‘‹

autumn seal
#

FYI - I was able to query the transaction via cURL and the receipt number was NOT NULL. It was present.

umbral lion
#

Okay that matches up with the behavior described in the issue. Basically the population of the receipt number back to the Charge object occurs asynchronously. During times of very high traffic it can take a couple seconds and by that time the response from the API request has already been returned

autumn seal
#

And this is NOT what Stripe wants to happen? They are looking into ensuring the receipt number is sent in the response at all times?

umbral lion
#

Ideally but this is intended behavior to handle those high volume situations. This is why the language in the reference doc is a bit vague:

This is the transaction number that appears on email receipts sent for this charge. This attribute will be null until a receipt has been sent.

autumn seal
#

You said there is a ticket open for this, so does this mean there is a desire for the ideal?

umbral lion
#

There is. We keep track of user pain points like this.