[WordPress] 外掛分享: Thanks Mail for Stripe

首頁外掛目錄 › Thanks Mail for Stripe
WordPress 外掛 Thanks Mail for Stripe 的封面圖片
全新外掛
安裝啟用
尚無評分
51 天前
最後更新
問題解決
WordPress 5.0+ PHP 7.4+ v1.1.0 上架:2026-02-14

內容簡介

總結:Thanks Mail for Stripe 是一個輕量級的外掛程式,可以在顧客透過 Stripe 付款連結完成購買後自動發送客製化的感謝郵件。非常適合數位產品銷售、軟體授權和服務業務。

### 問題與答案:

1. 這個外掛程式的主要功能是什麼?
- 答:Thanks Mail for Stripe 可以自動透過 Stripe Webhook 發送客製化的感謝郵件給顧客,在他們完成透過 Stripe 付款連結的購買後。

2. 這個外掛程式是否需要使用外部服務?
- 答:這個外掛程式不需要使用外部服務,直接與 Stripe Webhooks 一同運作。

3. 這個外掛程式可以支援哪些語言?
- 答:支援的語言包括日語(JA)和英語(EN),可以自動偵測顧客使用的語言。

4. 在購買流程中,如何確保郵件的發送過程與資訊安全?
- 答:在購買過程中,每個購買的郵件會經過 Stripe Webhook 發送至 WordPress 網站,並進行驗證簽名來確保安全;同時透過 Plugin 來檢測顧客使用的語言和記錄每筆交易,以防止重複發送郵件。

5. 這個外掛程式適用於哪些使用情境?
- 答:外掛程式適用於數位產品銷售、軟體授權碼配送、服務預訂確認、捐贈謝意訊息等情境,以及任何透過 Stripe 付款連結的結帳場合。

以上是對「Thanks Mail for Stripe」外掛程式介紹的問題與答案摘要。

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.1.0) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Thanks Mail for Stripe」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

Thanks Mail for Stripe is a lightweight plugin that automatically sends customized thank-you emails to customers after they complete a purchase through Stripe Payment Links. Perfect for digital product sales, software licensing, and service businesses.
No external services required – works directly with Stripe Webhooks
This plugin receives Stripe webhook events directly and sends emails using WordPress’s built-in mail function. No Zapier, Make, or other third-party automation services needed.
Key Features

Automatic Email Sending – Sends thank-you emails automatically via Stripe Webhook
Multi-language Support – Up to 10 customizable email templates with locale settings
Smart Language Detection – Automatically detects customer language from Payment Link ID or locale
Customizable Templates – Fully customizable email subject and body with placeholders
Custom Sender Settings – Set custom From email address and sender name
Duplicate Prevention – Built-in idempotency prevents sending duplicate emails
Test Email Function – Send test emails to verify your settings before going live
Email Log – View history of sent emails in the admin panel
Secure Webhook Verification – Validates Stripe webhook signatures (HMAC-SHA256)

How It Works

Customer makes a purchase via your Stripe Payment Link
Stripe sends a webhook event to your WordPress site
Plugin verifies the webhook signature for security
Plugin detects customer language based on Payment Link ID
Thank-you email is sent to the customer using wp_mail()
Transaction is logged to prevent duplicate sends on retries

Use Cases

Digital product sales (software, ebooks, courses)
Software license key distribution (manual follow-up)
Service booking confirmations
Donation thank-you messages
Any Stripe Payment Links checkout

Requirements

WordPress 5.0 or higher
PHP 7.4 or higher
Stripe account with Payment Links
SSL certificate (HTTPS) – required for webhooks
SMTP plugin recommended for reliable email delivery

Email Sender Best Practices
Important: Always use your own domain email address as the “From Email” setting.

Good: [email protected], [email protected]
Bad: [email protected], [email protected]

Using Gmail or other free email services as the sender will cause delivery failures due to SPF/DKIM/DMARC authentication. Your server is not authorized to send emails on behalf of Gmail.
You CAN use any email address (including Gmail) for the “Reply-To” setting – this only affects where replies go, not email deliverability.
Recommended SMTP Plugins
For reliable email delivery, we recommend using an SMTP plugin:

WP Mail SMTP
Post SMTP
FluentSMTP

These plugins send emails through a proper SMTP server instead of PHP’s mail() function, improving deliverability.
Test vs Live Mode
Remember to update your settings when switching from test to live mode:

Webhook Signing Secret – Test and Live have different secrets (whsec_…)
Payment Link IDs – Test and Live have different IDs (plink_…)
Webhook Endpoints – Register endpoints in both Test and Live mode in Stripe Dashboard

Security Best Practices

The plugin verifies Stripe webhook signatures using HMAC-SHA256
Webhook requests are validated within a 5-minute tolerance window
Session IDs are stored to prevent duplicate email sends
All settings are properly sanitized and escaped

Available Filter Hooks
The plugin provides filter hooks for customization:

tmfs_email_headers – Modify email headers before sending
tmfs_email_subject – Customize email subject
tmfs_email_body – Customize email body
tmfs_detect_language – Override language detection logic

Example: Add CC to emails
add_filter( 'tmfs_email_headers', function( $headers, $to, $lang, $session_id ) {
$headers[] = 'Cc: [email protected]';
return $headers;
}, 10, 4 );

Example: Custom language detection
add_filter( 'tmfs_detect_language', function( $lang, $session ) {
// Custom logic based on session data
if ( strpos( $session['customer_details']['email'], '.jp' ) !== false ) {
return 'ja';
}
return $lang;
}, 10, 2 );

Database Table
The plugin creates a table {prefix}stm_sent_emails to track sent emails:

id – Auto-increment ID
session_id – Stripe Checkout Session ID (unique)
email – Customer email address
lang – Detected language (ja/en)
product_name – Product name (if available)
amount – Purchase amount
sent_at – Timestamp when email was sent

Troubleshooting Webhook Issues
If webhooks aren’t working, check these common issues:

SSL Certificate – Stripe requires HTTPS for webhooks
Webhook URL – Make sure the URL is correct and accessible
Signing Secret – Verify you’re using the correct secret for test/live mode
Server Firewall – Some hosts block requests from overseas IPs
Security Plugins – May block REST API endpoints
WAF Rules – Server-level WAF may block webhook requests

Check Stripe Dashboard > Developers > Webhooks for detailed error logs.
Data & Privacy
This plugin stores email delivery logs in your WordPress database to prevent duplicate sending and allow administrators to verify delivery history. No data is transmitted to external services by this plugin.
What Data Is Stored
The plugin stores the following data in a custom database table ({prefix}stm_sent_emails):

session_id – Stripe Checkout Session ID (used as unique key for duplicate prevention)
email – Customer email address (to confirm which customer received the email)
lang – Detected language code, ja or en (to record which template was used)
product_name – Product name (reserved for future use)
amount – Purchase amount and currency (for administrator reference)
sent_at – Timestamp when the email was sent

Additionally, plugin settings (webhook secret, email templates, Payment Link IDs, etc.) are stored in the wp_options table under the key stm_settings.
Purpose

Duplicate prevention – Stripe may retry webhook events; the session ID prevents sending the same email twice
Delivery confirmation – Administrators can verify that emails were sent to the correct address
Customer support – Transaction reference for handling customer inquiries

Data Retention

Email logs are stored indefinitely by default
Administrators can manually delete individual records via database access
All data (logs and settings) is automatically removed when uninstalling the plugin via the WordPress admin

External Services

This plugin receives incoming webhook events from Stripe – it does not make outbound API calls to Stripe
No customer data is sent to any third-party service by this plugin
Emails are sent using WordPress’s built-in wp_mail() function (delivery depends on your server or SMTP plugin configuration)

GDPR Considerations

Customer email addresses are stored for the legitimate business purpose of preventing duplicate emails and maintaining delivery records
You should disclose this data storage in your site’s privacy policy
Data can be exported or deleted upon customer request via direct database access

延伸相關外掛

文章
Filter
Mastodon