Almost there… hehe this feels a bit like a marathon, and I do apologize for asking all these questions, but I have looked through the API’s thoroughly, and while there’s some discussion about it, I’m not seeing anything in the APIs that support it. This is the idea of having automatic e-mailing of a receipt to the customer (assuming we have their e-mail address, which we will) automatically when an order is placed. There is quite a bit of instruction to the customer about how they can opt-in to received these e-mail or text-message receipts, but it’s talking about using the Point of Sale App for that. I’ve looked in the Payments API, and sure enough, there appears to be a “receipt_number” and “receipt_url” field in the Payment object which I could use to display a link in the “thanks for your order!” page so the user can click to see and maybe print their receipt … but it would be much better to have that receipt e-mailed to the user automatically (with the e-mailed receipt also giving them the opportunity to opt out, etc.). I can’t find any obvious way to programmatically turn this functionality on (indeed, to be honest, I haven’t seen the receipt_url work yet either, but I’ve only created a couple payments thus far…). Any help with this would be greatly appreciated!
This currently is not possible, unfortunately. There’s no way to send receipts via the API (manually or automatically). As you found, you can retrieve the receipt_url
link from the Payment object, but you would still need to create the logic of sending an email if that’s what you intend on doing. I’ll update this to be a feature request, as it’s definitely a popular feature request.
OK, so I’m working out a method of sending the receipt to the end-user. Thanks for putting in the feature request, I’m finding that the Square API’s while functional, are not really designed to make it simple for a third-party merchant to easily put up their own online store - it feels like there are a lot of features that have been partially exposed via the API, which make it seem like it should be possible, but when you dig into it, it only works via the Square Online Store, or the POS app, etc…
But in any case, i get the “receipt_url” back from the Payments API, but when I try to click on it, I get an empty page with “SERVER ERROR” at the top, and “We had a problem and weʼre working hard to fix it.” in the middle of the page. The URL that came from the Payments API was: https://squareup.com/receipt/preview/JQau8vJMbs1HFEyDHKfx5HhMcgUZY . Is this just because it’s from the Sandbox, or is there anything else I can try to get this working?
Yes, unfortunately receipts currently do not load correctly in sandbox. It would work in production, though.
Any update on this feature? I cannot believe this wasn’t the first feature implemented.
The Send Receipt button on dashboard sends a request with Payment ID and email to:
https://squareup.com/api/v1/payments/receipt
If that endpoint was exposed (or converted to v2) it’d be possible to request it. Seems like a very easy/quick fix to an oft requested feature, no?
@sjosey see above please
No, no update on this unfortunately.
@sjosey Any update on this?
Unfortunately no update at this time.
when can we expect then
This is absurd!
I’ve been looking for an API endpoint to simply send a receipt to clients after they pay online. I’ve found requests for this API feature dating back to 2016 in StackOverflow and on other forums but the Square dev team has essentially ignored the requests, with no constructive or informative responses.
If I ignored my client’s need like this I’d be destitute in a week. This is pathetic. It’s not a mystery why so many Square users are jumping to Stripe.
Why has there been no action taken to add a receipt endpoint? It’s 2024!