What is your goal?
Utilize the extra custom fields on Stripe payment link
What is the problem & what have you tried?
I’ve tried everything, and nothing is showing me the extra fields. It only shows one field, no matter if there are 2 or 3 custom fields selected. I’ve refreshed, deleted the modules, started over completely, and it never recognizes those 2 extra fields. I’ve tried manually inputting them, that also does not work. Can anybody please help me use all 3 fields? I can see that the data is being sent as well and im using checkout success.
Error messages or input/output bundles
There is no error message, they simply do not show up.
“custom_fields”: [ { “key”: “websiteurlsocialmedialinksandkeywords”, “label”: { “custom”: “Website URL, Social Media Links, and Keywords”, “type”: “custom” }, “optional”: false, “text”: { “default_value”: null, “maximum_length”: null, “minimum_length”: null, “value”: “website.com, facebook.com/website, key1 2 3” }, “type”: “text” }, { “key”: “businessaddress”, “label”: { “custom”: “Business Address”, “type”: “custom” }, “optional”: false, “text”: { “default_value”: null, “maximum_length”: null, “minimum_length”: null, “value”: “ADDRESS 1” }, “type”: “text” } ],
AS you can see, the fields are being bundled in the output, theyre in an array,
- custom_fieldsArray
-
1Collection
-
2Collect ion
-
key
businessaddress
-
labelCollec tion
-
optional
false
-
textColle ction
-
type
text
but nothing works to use them. I wanted 3 fields (the limit) but I can only use one.
It would be easier if you shared an image, but from what I understand from your description it seems you’re only getting the first result from the array.
The solution would be to use an iterator on the array.
This would get you all the results from that array.
Let me know if this helps.
Best,
Juan
Hello,
The JSON provided contains an array:
"custom_fields": [ { "key": "websiteurlsocialmedialinksandkeywords", "label": { "custom": "Website URL, Social Media Links, and Keywords", "type": "custom" }, "optional": false, "text": { "default_value": null, "maximum_length": null, "minimum_length": null, "value": "website.com, facebook.com/website, key1 2 3" }, "type": "text" }, { "key": "businessaddress", "label": { "custom": "Business Address", "type": "custom" }, "optional": false, "text": { "default_value": null, "maximum_length": null, "minimum_length": null, "value": "ADDRESS 1" }, "type": "text" } ],
Make.com allows you to map only the first item.
If you want to access other values, you should use an Iterator, a combination of Iterator and Aggregator, or functions like map() or get()- or a combination of both.
Examples:
Hope it will help to solve your problem.
Have a nice day,
Michal
Welcome to the Make community!
Using Map + Get / First functions to get a value from an array
You can use the built-in functions map and get to access variables within an array.
To do this, you can use the built-in function map —
map(complex array; key; [key for filtering]; [csv-values for filtering])
and the built-in function get (or first) —
get(object or array; path)
so you get something that looks like these —
{{ get(map(1.array; "value"; "name"; "content-type"); 1) }}
{{ first(map(1.array; "value"; "name"; "content-type")) }}
Map function parameters: Step-by-step
To easily remember what each of the parameters of the map function are for, think of it this way:
- From this array (of collections),
- I want to get all the the values for the property/key named _______,
- Where another property/key _______
- has the exact case-sensitive value _______
Example
1. From this array (of collections) user_column_data
2. I want to get all the the values for the property/key named string_value
3. Where another property/key column_id
4. has the exact case-sensitive value EMAIL
5. Output
e.g.:
In your case, this is probably what you need to get “ADDRESS 1” from the array item with key “businessaddress”:
{{ first(map(1.custom_fields; "text.value"; "key"; "businessaddress")) }}
Make Input Markup: Copy-paste the above into the field, including start/end curly brackets for it to import as intended 
Using Map + Join functions to get all values from an array as a concatenated text string
If there are more than one return value in the array, you can combine map and join functions to join the values into a single text string —
``{{ join(map( … ); delimiter) }}```
For more information, the function’s documentation can be found in the Help Centre and the “Mapping with Arrays” link below. You should also complete the tutorials in the Make Academy, especially Using get() and map() functions.
I’d recommend going through the Make Academy if you haven’t yet!
Here are some useful links and guides you can use to learn more on how to use the Make platform, apps, and app modules. I found these useful when I was learning Make, and hope they might benefit you too —
Learn Make
How-Tos
— @samliew