I already have a scenario in Make that involves Stripe, Odoo, and Airtable. I would like to add the following code in Make to retrieve the customer’s email and receipt email:
response = requests.get(
‘https://api.stripe.com/v1/charges/xxxxxxxxxxxxx?expand[]=customer&expand[]=invoice.subscription’,
auth=(‘test_xxxxxxxxxxf’, ‘’),
)
How can I include this in Make to receive the customer’s email and the receipt email?
Just use the Stripe “Make an API call” module if you need to use an endpoint that does not have a specific module in Make.
i use make api call but receip email and custommer email nul in all custommer
@Arnoud_WorkNinjas
Looking at the Stripe documentation you will get the billing details (incl. email) as well as the receipt_email.
If the field is shown in the response but it is empty, it’s just not there.
If you think you are getting errors or not the expected output, you will have to share more information, such as screenshots or scenario blueprints.
In Stripe, I can find the email, but in the webhooks, I cannot locate either the receipt email or the customer email. At times, I can’t find any email at all. I have come across a solution called Expanding Responses, but I am unsure how to implement it in Make. Do you have a solution for this?
@Arnoud_WorkNinjas
As I’ve shown you in the previous screenshot, receipt_email is part of the default dataset you will receive, so you should not have to add something for that.
If you want to expand an item in Stripe that is presented as a Stripe id of some sort (cust_, ca_, pi_, etc.) you can add a query string like this:
I hope this helps!
P.S. A webhook is where the remote system sends data to based on a trigger within that system. i.e. it sends an automatic message when a succesful payment was made.
What you are talking about here is a regular HTTP call to an API that gives a response based on your request.
I use Make for API calls involving Stripe or HTTP. I have a scenario that includes Stripe webhooks, Odoo, and Airtable
I’m sorry if this didn’t solve your issue. In that case I think we are missing some crucial information about what the problem is and what you have built.
If you want the community to help, it is necessary to include as much information as possible. Applicable screenshots of your scenario, errors or output information. Possibly exports of output bundles or scenario blueprints if we want to replicate the issue. This is especially important if there might be terminology/language differences.
Sorry, but it is unclear what the context is of this screenshot. You need to be elaborate in your information as I can’t keep guessing what is going on.
- Is this the output of a Stripe webhook event? If so, which event configuration did you use? And did you try to re-fetch the record data after the webhook event?
- Or is this a partial output of an API endpoint response? If so, what was the exact call you configured?
If you are sure you are creating the correct API calls and/or webhook events in Stripe and the data is empty in an API call but it is shown in your Stripe dashboard, you should be talking to Stripe support.
The webhook event is from Stripe, and the event type is “Payment Intent Succeeded.” Yes, I have tried to retrieve the data after the event.
If the data field is empty in the sent data as well as in the data set of a separate request, it is either just not there, your requesting the incorrect data (aka typo) or there is something wrong with Stripe.
Either way, I think Stripe support is your only possible next step.
Also, Payment Intent has a different structure. It can have multiple charges, and each charge can have a different receipt_emailaddress.
If your trigger is payment_intent.succeeded
, I would use the payment_intent endpoint to get the info you need. The receipt email address(es) for each charge will be in the default dataset, but might be different between charges (if a customer changes their emailaddress between charges). For the customer data/email you should add an expand.
So you should request the payment_intent data after you get the webhook event to get all current data using the expand customer query:
Thanks, but I would like to use URLs for payment intents, successful charges, invoices, and all Stripe actions. How can I do that
You can always use the “HTTP” app. However you will have to setup the authentication method yourself. And also, if something changes you will need to change all HTTP modules across all your scenarios.
If you use the “Stripe” - Make an API call module, the app will handle the authentication and basics for you automatically after you connect your Stripe account.
Make.com is all about pre-made apps and modules. They are there so you do not have to think about all this authentication and url stuff. The main reason they exist.
To integrate this API call into your Make scenario and retrieve the customer’s email and receipt email from Stripe, follow these steps:
Add an HTTP module in Make:
In your scenario, add a new HTTP module and choose Make a request.
Set up the HTTP request:
Method: GET
URL: Replace the xxxxxxxxxxxxx in your URL with the actual charge ID.
https://api. stripe. com/v1/charges/xxxxxxxxxxxxx?expand=customer&expand=invoice.subscription
Headers: Set the Authorization header to Bearer YOUR_SECRET_KEY where YOUR_SECRET_KEY is your Stripe secret key (e.g., test_xxxxxxxxxxf).
Authentication: Leave this empty since you are passing the API key in the header.
Process the response:
Make will return a JSON response that contains the customer and invoice details.
Use the JSON/parse module or simply map the fields from the Stripe response.
Extract the email fields:
For the customer’s email: Look for the path like customer.email from the returned JSON.
For the receipt email: Look for receipt_email in the response.
Use the data in the next steps:
Once you have the data mapped, you can pass it to the next modules in Make (such as Airtable or Odoo) to update or trigger actions based on this information.