Best answer

How to retrieve Stipe's Payment Links data?


Userlevel 1
Badge +1

Hi,

I am creating a Stripe to email Zap.

My goal is to send an email on every successful Stripe payment.
For the payments I am using either the Stripe invoice tool or a Stripe payment link.

When creating the Zap, I managed to find all the data for a successful payment via a Stripe invoice, but I cant seem to find the data for the product(name), or any customer ID when a user pays via a Stripe payment link.

Am I missing something here?

Hopefully there’s someone that can help me out.

Thanks!

icon

Best answer by Danvers 8 December 2022, 13:09

View original

This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

21 replies

Userlevel 6
Badge +6

Hey @Mattieman ,

 

The line items should be visible in Data-out. Can you try using below action?

 

 

If it still does not work, than i will suggest to make a custom webhook call on below Stripe API

 

https://stripe.com/docs/api/invoiceitems/retrieve

Userlevel 1
Badge +1

Hi @jayeshkumarbhatia 

 

Thanks for helping. The issue, however is not the invoice items. Those I can find. 
But the weird part it, Stripe also offers what they call Payment Links (https://stripe.com/payments/payment-links ). Which uses the same products, that are also being used when creating a Stripe invoice. But somehow, the product name/ID/description is NOT in the data out stream, after a Payment Link payment. 

But maybe I could try to create a webhook for this?

Userlevel 2
Badge +1

Just talked with a client with the same problem.  Following

 

 

Userlevel 1
Badge +1

@Andrés at Connex 

Yes, it is strange for Stripe not to offer the same data out items for their Invoice as well as the Payment Links tool. 

 

I have tried virtually every data field there is, but the option just doenst exist in the data out list that Stripe provides...

Userlevel 2
Badge +1

@Mattieman how it shows up on your Stripe dashboard?

 

Here the payment in Stripe doesn’t show the description, even if the purchased item shows as Element when clicking on it

 

 

 

Userlevel 7
Badge +14

Hi @Mattieman 

cc: @Andrés at Connex and @jayeshkumarbhatia 

Try using this Zap trigger: Stripe - Checkout Session Completed

 

Userlevel 1
Badge +1

Hi @Troy Tessalone 

 

Thanks! This works for me, at least for the Payment Links payments. Not for the Invoice payments, which I expected also to work with this trigger, but maybe that is a different trigger all together?

Userlevel 7
Badge +14

@Mattieman 

For the Invoices, the Stripe New Payment Zap trigger should have data for this parameter.

 

Userlevel 1
Badge +1

Yes it does. But then when I also have the Checkout Session Completed trigger Zap activated, the user will receive 2 emails after a successful Payment Link payment. Since New Payment trigger also works when a Payment Link payment has been made…

 

Is there a way around to fix this?

 

Thanks again!

Userlevel 1
Badge +1

To clarify: the user will receive two emails, 1 with the correct content (the CheckOut Session Completed) and 1 broken (the New Payment). 

Userlevel 7
Badge +14

@Mattieman

Add Filter steps to the Zaps.

  1. Payment Link exists
  2. Invoice Data exists
Userlevel 1
Badge +1

@Troy Tessalone 

 

You’re a lifesaver, thanks. First time setting up a Zap for me, but with a little help it’s great stuff.

Userlevel 1
Badge

Very possible I’m missing something here, but the Checkout Session Completed trigger seems to be missing quite a bit of data that should be there (based on the structure of the returned data).

For example, the data in Stripe’s dashboard for a checkout.session.completed event contains data like:

 

 

...while the Checkout Session Completed event data in a Zap seems to be missing most of that:

 

 

Is that intentional and/or a limitation of Stripe, somehow? Seems like some of those core data points (eg, customer_email) should be included in the response of that Checkout Session Completed trigger.

Userlevel 7
Badge +14

@cdwyer 

Is Stripe returning dummy data or is that a real example from Stripe?

 

Try using another Zap action: Stripe - Find Charge

 

Userlevel 1
Badge

@Troy Tessalone that’s real data from Stripe (asterisks added by me). And (I think) we kinda have to use the Checkout Session Completed trigger in this case, because our second step is a Filter to only proceed if the session came from a specific Payment Link—and I don’t know that the Payment Link is available on other triggers (though would love to be told I’m wrong about that).

Userlevel 7
Badge +14

@cdwyer

Also, the Customer email may not be provided and you may have to use another Zap step:

 

Possible workaround is to configure a Webhook directly in Stripe for the desired event. (e.g. Checkout Session Completed)

Location: Developers > Webhooks

 

Zap trigger would be Webhook - Catch Hook

That will generate the Webhook URL to add to Stripe.

Userlevel 1
Badge

@Troy Tessalone Yep, so on #1, I thought about that—but even the Customer appears to be missing (the object, but also an ID that could be used for retrieval in a separate step):

 

 

...despite that (ie, customer ID) being a top-level data point in the Stripe event:

 

 

That was part of why I wondered if the CSC trigger was maybe quasi-broken, or “unintentionally incomplete”. I dunno. 🤷‍♂️  For the webhook bit, that could work...I was just kinda hoping for a quick setup here, and would prefer to avoid a separate webhook in Stripe for this one-off need.

Appreciate your thoughts & ideas!

Userlevel 7
Badge +12

Hi @cdwyer!

I did some digging and I can see that for the Checkout Session Completed trigger, sample (dummy) data is used and not real data. That’s why you can see the customer fields but there’s no data in them. When the Zap is on, the trigger will have the customer information. 

If you can, set up your Zap with the test data that you have then turn on the Zap and check that everything is coming through as you need it. I know that’s a bit of a pain, sorry about that!

​Let me know if you have any questions!

Userlevel 1
Badge

Hey @Danvers thanks for that!

I believe you, haha...but it looks like there’s not currently a way to test this (outside of rebuilding w/ webhooks). Guess we’ll just roll the dice for now on the live version, as we’ve got nothing to lose.

Appreciate you digging into the data side of things!

Userlevel 7
Badge +12

Ah, sorry - I didn’t know about that Stripe testing issue. I hope it all works out for you!

Userlevel 1
Badge

@Danvers no worries—that did end up working, so thanks again for your help! Would still be nice to have that testing issue (linked above) resolved, but good to know that this does work, at least for the data points we needed access to. 👍