The key is that Stripe gives you values that you need to modify for them to work in Squarespace. (This info is in the posts above but I thought it was worth summarising.)
In particular: The TXT record - Stripe says to put your domain name in the 'host' field (e.g. mywebsite.org), but you want to put the @ sign instead
For the CNAME records - Stripe says to put a value under 'host' that is a random sequence of numbers and letters, followed by _domainkey, followed by your domain name, all as one word (e.g. aeh33jw3awdkln._domainkey.mywebsite.org). You need to put in everything up to the 'y' or domainkey but nothing else (not the full stop, and not your domain name) - so, in this example, you'd put in aeh33jw3awdkln._domainkey
Finally, Stripe also suggests you put in a value in the 'data' field of your CNAME record that has a full stop at the end - you need to remove this full stop, so it ends stripe.com
I couldn't get this to work for a while but it did work once I made these fixes.