WWooshPayment docs
Checkout

Transactional emails

Which emails WooshPayment sends, from which sender, with which DNS. Emails to the end customer are sent by your store, not us.

2 min read

TLDR: WooshPayment sends emails only to the merchant (verify, welcome, password reset, new order notification, Apple Pay alert). Emails to the end customer (order confirmation, shipping, cart recovery) are sent by your Shopify/Woo store, not us.

Emails WE send

Sender: noreply@wooshpayment.com via Resend, DKIM + SPF configured on GoDaddy.

EmailWhen it firesRecipient
email_verifyImmediately at signupMerchant
welcomeImmediately at signupMerchant
password_resetWhen the merchant requests resetMerchant
merchant_order_notificationOn every completed/COD orderMerchant
apple_pay_registration_requiredIf Apple Pay auto-registration on the merchant's Whop failsMerchant

No customer-facing email is sent by us.

Why we DON'T send emails to the customer

Product decision:

  1. Branding: sending "order confirmed" from noreply@wooshpayment.com confuses the customer who doesn't know who WooshPayment is
  2. Deliverability: Shopify and Woo have better deliverability than us because they have DKIM on the merchant's domain
  3. Synchronization: Shopify/Woo is already the source of truth for shipping, tracking, invoicing โ€” sending two "order confirmed" emails from different sources creates confusion

What this means in practice:

  • Customer pays on WooshPayment โ†’ we create the order via API โ†’ Shopify/Woo sends its "Order confirmed" email with the merchant's template
  • Customer abandons cart mid-flow โ†’ we don't send any recovery email (policy decision). The /cron/abandoned-cart cron exists but only handles DB housekeeping (marks expired sessions PENDING โ†’ EXPIRED), no sends

If in the future we want to re-enable customer recovery emails, sending will need to happen on per-merchant SMTP with DKIM on the merchant's domain, not from our noreply@wooshpayment.com. Roadmap.

DNS required on the WooshPayment side (already configured)

For those who want to know our current sender configuration:

SPF (on the wooshpayment.com apex):

v=spf1 include:secureserver.net include:_spf.resend.com -all

secureserver.net is GoDaddy mail (default), _spf.resend.com authorizes Resend to send on our behalf.

DKIM (CNAME resend._domainkey.wooshpayment.com):

Configured per the records provided by the Resend dashboard.

DMARC: on the roadmap. We don't publish it today.

Pre-production testing

When we add a new template (platform-side):

  1. Resend dashboard โ†’ "Send test"
  2. Verify rendering on Gmail, Outlook, Apple Mail (Outlook is the worst)
  3. Test on mail-tester.com โ€” we aim for โ‰ฅ9/10
  4. Verify anti-XSS escaping on all user-provided fields (shopName, customer.firstName, etc.)

Outlook spam folder

It happens that the first email to an Outlook/Hotmail recipient lands in Junk. It's normal for new sender domains. Solutions:

  1. Recipient marks "Not spam" on first arrival โ†’ subsequent ones arrive normally
  2. Add noreply@wooshpayment.com to contacts
  3. See Email not arriving for full diagnostics

Customization

Templates aren't editable from the merchant dashboard today (they're hardcoded in apps/api/src/services/EmailService.ts with XSS escaping on all dynamic fields).

Roadmap: merchant-facing template editor for merchant alerts. Not for customer-facing emails โ€” we don't send them by choice.