Stripe決済後のサンクスメールを自動送信する方法|Zapier不要、WordPressだけで完結

【WordPress】Stripe決済後のサンクスメールを自動化|Thanks Mail for Stripeを導入して運用してみた ITライフハック
この記事は約12分で読めます。
当ページはプロモーションが含まれています
  1. この記事でわかること
  2. Stripe決済後のメール自動送信で何が解決するか
  3. Zapier・Makeと比べてどうか|月額コストと停止リスク
  4. 仕組み|Stripe WebhookからWordPressのメール送信までの流れ
  5. プラグインのインストール手順
    1. 方法1:WordPress管理画面から(推奨)
    2. 方法2:手動インストール
  6. Stripe Webhookの登録手順(ここが山場)
    1. Step 1:StripeダッシュボードでWebhookを登録する
    2. Step 2:プラグインの設定画面を埋める
    3. Step 3:テストメールで動作確認する
  7. Stripe Webhookでメールが届かないときの原因と対処
    1. 送信元をGmailにするとメールが届かない(SPF認証の失敗)
    2. XserverでStripe Webhookが403エラーになる|REST APIアクセス制限
    3. Webhookは200 OKなのにメールが届かない場合の3原因
    4. Stripeのテストモードから本番環境への切り替え忘れ
  8. サンクスメールのテンプレートをカスタマイズする
  9. 送信履歴で「メールが届いたか」を確認する
  10. よくある質問
    1. Stripeの決済後にメールを自動送信するのに、Zapierは必要ですか?
    2. Stripe Webhookが403エラーで届きません。原因は何ですか?
    3. Webhookは200 OKなのにメールが届かないのはなぜですか?
    4. Stripeのテストモードで動いたのに、本番で動きません。
    5. 日本語と英語でサンクスメールを出し分けられますか?
    6. プラグインは無料で使えますか?
  11. まとめ|Stripe決済後のメール自動化は月額0円でできる
    1. ダウンロード・一次情報

WordPressでStripe Payment Linkを使って商品を売っていると、決済後のサンクスメールを自動で送りたくなります。ZapierやMakeで組む方法もありますが、月額コストがかかり、フローが止まってメールが届いていなかった、という事故も起こります。この記事では、外部サービスを使わずWordPressサーバー内だけで完結させる方法を、実際に導入して運用した手順でまとめます。Stripe側のWebhook登録、送信元メールがSPFで弾かれる罠、Xserverで403になる原因まで、つまずく箇所を先に潰しておきます。

使うのは、Stripe Payment Linkの決済完了をWebhookで受け取ってメールを送る無料プラグイン「Thanks Mail for Stripe」です。


スポンサーリンク

この記事でわかること

  • Stripe決済後にサンクスメールを自動送信する仕組み
  • Stripe側のWebhook設定の手順(ここが一番つまずく)
  • 送信元メールアドレスの落とし穴(SPF認証で届かなくなる話)
  • Xserverなど国内サーバーで起きる403エラーの対処法

スポンサーリンク

Stripe決済後のメール自動送信で何が解決するか

Stripe Payment Linkの決済完了後に、自分のブランド名でサンクスメールを自動送信できるのが最大の価値です。

  • 外部サービス不要(Zapier/Makeの月額コストがゼロに)
  • 日本語・英語のテンプレート切り替え(Payment Link単位で言語判定)
  • 二重送信防止つき(Stripeのwebhookリトライに対応済み)

逆に、フィルターフックによる高度なカスタマイズなど開発者向けの詳細は開発元の公式ページにまとまっています。この記事では、運用者視点の「ここを押さえれば動く」ポイントに寄せます。


Zapier・Makeと比べてどうか|月額コストと停止リスク

Stripe決済後にメールを送る手段はいくつかありますが、運用コストと信頼性が違います。

Stripeサンクスメール自動送信の比較表 Zapier Make WordPressプラグイン

ZapierやMakeは自由度が高い代わりに、月額費用がかかり、外部サービスが止まればメールも止まります。個人的には、「月数件から数十件の販売規模で、ランニングコストを抑えたい」ならプラグインで完結させるのがちょうどいいと感じました。


仕組み|Stripe WebhookからWordPressのメール送信までの流れ

動作はとてもシンプルです。

  1. お客さんがStripe Payment Linkで決済する
  2. StripeがwebhookイベントをあなたのWordPressに送信する
  3. プラグインが署名を検証し、正規のリクエストか確認する
  4. Payment Link IDで言語を判定し、テンプレートに沿ってメールを送信する
  5. 送信済みSession IDを記録し、二重送信を防止する

Stripe決済からWordPressでサンクスメール送信までの動作フロー図

外部サービスを経由しないので、「気づいたらフローが止まっていた」という事故が起きません。


プラグインのインストール手順

方法1:WordPress管理画面から(推奨)

  1. WordPress管理画面 →「プラグイン」→「新規追加」
  2. 検索で「Thanks Mail for Stripe
  3. 「今すぐインストール」→「有効化」

方法2:手動インストール

  1. WordPress.orgのプラグインページからZIPを取得
  2. 解凍して thanks-mail-for-stripe フォルダを /wp-content/plugins/ へアップロード
  3. 管理画面の「プラグイン」で有効化

Stripe Webhookの登録手順(ここが山場)

プラグイン自体のインストールは簡単ですが、Stripe側のWebhook登録がいちばんの山場です。ここを乗り越えれば、あとは管理画面で項目を埋めるだけです。

Step 1:StripeダッシュボードでWebhookを登録する

全体の流れはこうなります。

Stripe Webhook登録の6ステップ概要図

  1. Stripeダッシュボードにログイン
  2. Developers → Webhooks → Add endpoint
  3. Endpoint URLにプラグイン設定画面に表示されるURLを貼り付け:
    https://あなたのドメイン/wp-json/thanks-mail/v1/webhook
  4. イベントは checkout.session.completedcheckout.session.async_payment_succeeded を選択
  5. 保存後に表示されるSigning secret(whsec_...をコピー

Stripeダッシュボードの画面はこのようになっています。

Stripeダッシュボードの Developers Webhooks 画面

Add endpointでURLの入力とイベントの選択を行います。

Stripe Add endpoint でWebhook URLを入力しイベントを選択する画面

保存後に表示されるSigning secretを必ずコピーしてください。

Stripe Webhookの署名シークレット whsec_ が表示されている画面

Step 2:プラグインの設定画面を埋める

Thanks Mail for Stripe のWordPress管理画面 設定画面全体

設定項目 設定する値 補足
Webhook署名シークレット whsec_...をペースト Step 1でコピーしたもの
Payment Link ID(日本語用) plink_... StripeのPayment Link詳細URLから確認
Payment Link ID(英語用) plink_... 英語版を用意している場合のみ
ブランド名 サービス名やショップ名 メール内の{brand}に表示される
送信元メールアドレス info@yoursite.com 必ず自分のドメインのアドレス
送信者名 Fromに表示される名前
返信先メールアドレス Reply-Toに設定するアドレス Gmail等でもOK

日本語用と英語用でそれぞれPayment Linkを作成し、そのIDを登録しておくと、どちらのリンクから購入されたかを判定して適切な言語のテンプレートでメールを送信します。

Step 3:テストメールで動作確認する

設定画面にテストメール送信ボタンがあります。まずはここで送信が通るか確認してから、Stripeのテストモードで実際の決済フローを試しましょう。

Thanks Mail for Stripe のテストメール送信ボタンと送信成功の表示

実際にテストメールが届くか、受信箱も確認します。

Stripeサンクスメールのテスト送信が受信箱に届いた画面


Stripe Webhookでメールが届かないときの原因と対処

トラブルが起きたとき、以下のフローチャートで原因を切り分けできます。

Stripe Webhookでメールが届かないときのトラブルシューティング フローチャート

送信元をGmailにするとメールが届かない(SPF認証の失敗)

これがいちばん多いハマりポイントです。

WordPressサーバーから yourname@gmail.com を名乗ってメールを送ると、受信側サーバーが「このサーバーはGmailの送信元として許可されていない」と判断して弾きます。これがSPF認証の失敗です。

SPF認証の図 送信元がGmailだと届かない 自ドメインなら届く比較

対策:送信元(From)は必ず自分のドメインのメールアドレスを使う。

info@yoursite.comshop@yoursite.com など、WordPressを動かしているドメインのアドレスにしてください。返信先(Reply-To)にGmailを設定するのは問題ありません。

XserverでStripe Webhookが403エラーになる|REST APIアクセス制限

Xserver(エックスサーバー)を使っている場合、StripeのWebhookがすべて403で弾かれることがあります。

原因:Xserverの「WordPressセキュリティ設定」にある「REST APIアクセス制限」がONになっていると、海外IPからのREST APIアクセスがブロックされます。Stripeのサーバーは海外にあるため、当然ブロック対象になります。

対策:サーバーパネル → WordPressセキュリティ設定 →「REST APIアクセス制限」をOFFにする。

Xserverサーバーパネルの WordPressセキュリティ設定 REST APIアクセス制限 画面

Wordfenceなどのセキュリティプラグインを使っている場合は、WebhookのURL(/wp-json/thanks-mail/v1/webhook)をホワイトリストに追加してください。

Webhookは200 OKなのにメールが届かない場合の3原因

Stripeのダッシュボードで200 OKが返っているのにメールが届かない場合、3つの原因が考えられます。

StripeダッシュボードのWebhookログ 200 OK が返っている画面

  • 送信元がフリーメール → 上記のSPF認証の問題。自ドメインのアドレスに変更する
  • 二重送信防止が作動 → 「最近の送信履歴」に同じSession IDがあれば正常動作
  • サーバーのメール送信自体の問題 → WP Mail SMTPなどのSMTPプラグインの導入を検討する

Stripeのテストモードから本番環境への切り替え忘れ

Stripeのテストモードと本番モードでは、Webhook署名シークレット(whsec_...)とPayment Link ID(plink_...)がすべて別物です。

本番環境に移行する際は、StripeダッシュボードのWebhook設定もLive用で別途登録し、プラグインの値もLive用に更新してください。ここを忘れると「テストでは動いたのに本番で動かない」になります。


サンクスメールのテンプレートをカスタマイズする

件名と本文は管理画面から自由に編集できます。以下のプレースホルダーが使えます。

  • {brand}:設定で指定したブランド名
  • {email}:顧客のメールアドレス
  • {session_id}:Checkout Session ID(照合用)

ダウンロードリンクを含めたり、クーポンコードを添えたり、自由にカスタマイズできます。フィルターフックによるさらに細かい制御(CC追加、言語判定のカスタマイズなど)は開発元の公式ドキュメントを参照してください。


送信履歴で「メールが届いたか」を確認する

管理画面の「最近の送信履歴」で、いつ・誰に・どの商品のメールを送ったかが確認できます。

Thanks Mail for Stripe の管理画面 最近の送信履歴一覧

お客さんから「メールが届いていない」と問い合わせがあったとき、ここを見れば送信の有無をすぐに確認できます。プラグインをアンインストールすると、このデータも自動的に削除されるので、個人情報が残り続ける心配もありません。


よくある質問

Stripeの決済後にメールを自動送信するのに、Zapierは必要ですか?

必要ありません。WordPressプラグインでStripeのWebhookを直接受け取れば、外部サービスを経由せずにメールを送信できます。月額コストがかからず、外部サービスの障害でフローが止まる心配もなくなります。

Stripe Webhookが403エラーで届きません。原因は何ですか?

Xserverなど国内サーバーで「REST APIアクセス制限」が有効になっていると、海外IPからのリクエストが遮断されます。Stripeのサーバーは海外にあるため、この設定がオンだとWebhookがすべて403で弾かれます。サーバーパネルのWordPressセキュリティ設定でオフにしてください。

Webhookは200 OKなのにメールが届かないのはなぜですか?

多くの場合、送信元メールアドレスにGmailなどのフリーメールを指定していることが原因です。SPF認証に失敗して受信側で弾かれます。送信元は必ず自分のドメインのアドレスにしてください。返信先にGmailを指定するのは問題ありません。

Stripeのテストモードで動いたのに、本番で動きません。

Webhook署名シークレット(whsec_)とPayment Link ID(plink_)は、テストモードと本番モードで別の値です。本番用のWebhookを改めて登録し、プラグイン側の設定値も本番用に差し替えてください。

日本語と英語でサンクスメールを出し分けられますか?

できます。日本語用と英語用のPayment Linkをそれぞれ作成し、そのIDを登録しておくと、どちらのリンクから購入されたかを判定して対応する言語のテンプレートで送信されます。

プラグインは無料で使えますか?

WordPress.orgで公開されている無料プラグインです。Stripeの決済手数料以外に、メール送信のための追加費用はかかりません。


まとめ|Stripe決済後のメール自動化は月額0円でできる

Stripe Payment Linkで商品を販売しているなら、サンクスメールの自動送信はWordPress側だけで完結できます。

  • ZapierやMakeの月額コストをなくしたい人
  • 自分のブランド名でサンクスメールを送りたい人
  • 日本語と英語でテンプレートを分けたい人
  • 外部サービスの障害に振り回されたくない人

セットアップのハードルは「Stripe側のWebhook登録」と「送信元メールアドレスの設定」の2点。ここさえクリアすれば、あとは放っておいても動き続けます。もし403エラーで詰まったら、Xserverの REST APIアクセス制限を思い出してください。

ダウンロード・一次情報

タイトルとURLをコピーしました