Use SavaraMail to send receipts, account notices, and other transactional emails. Set a recognizable From name and address for your business.
Explore EmailTransactional email
Send a receipt from a name customers recognize.
Send a receipt after a verified payment or an account notice after a completed change. Use an approved SavaraMail sender for your business.
Payment received
The outcome
Receipts that arrive within seconds of payment, from an address customers trust.
The journey
What your customer receives
Payment confirmed → Email request → SavaraMail accepts the handoff
- 01Payment verified
Email
Subject: Your receipt for order #1842 · Thanks, Amina. We’ve received UGX 85,000 by mobile money. Your order is being prepared.
- 02Optional short copy
SMS
Acacia Studio: payment of UGX 85,000 received for order #1842. Thank you!
Implementation
How to set it up
Choose the From address
Set up your sender and verify your domain if required. Send a real test to a mailbox you control before rollout.
Trigger after confirmation
Use the verified payment or account event to make a server-side request. Send only the information the recipient needs.
Verify the handoff
Store the message ID and review the accepted status. Confirm inbox receipt during testing.
Send it when payment is verified
Key the request on the payment reference so every receipt goes out exactly once.
send-receipt.tsTypeScript1await fetch(`${process.env.SAVARA_HOST}/api/v1/messages`, {
2 method: "POST",
3 headers: {
4 Authorization: `Bearer ${process.env.SAVARA_API_KEY}`,
5 "Content-Type": "application/json",
6 "Idempotency-Key": `receipt-${payment.reference}`,
7 },
8 body: JSON.stringify({
9 channel: "Email",
10 to: payment.customerEmail,
11 subject: `Your receipt for order #${payment.orderNumber}`,
12 body: `Thanks for your payment of ${payment.amountText}.`,
13 consent: true,
14 }),
15});
Use a recipient who has agreed to receive messages on this channel. API reference
Best practice
Tips from the setup
Send after verification
Only send once the payment is confirmed, not when checkout starts.
Use your own domain
Receipts from your domain are more recognisable and better trusted by mail providers.
Key on the payment reference
It is unique per payment, which makes it the natural idempotency key.
Channels
Built with
SMS
Use SMS for reminders, pickup alerts, and other messages that need to reach a phone number. SavaraFlow quotes the destination and segment count before a live send.
Explore SMSQuestions about receipts and account notices
Can I attach a PDF?
Not through the messages API today. Include the key details in the body, or link to the receipt in your own app.
Should receipts also go by SMS?
For customers without email, a short SMS confirmation works well. Send it as a separate request with its own key.
More use cases
Other workflows to explore
Run through the steps in the sandbox.
See a simulated response before sending a live message.