2026年5月20日

2026年5月20日

WooCommerceで決済が通らない場合の解決方法

はじめに

WooCommerceで「決済に失敗しました」「お支払いを処理できませんでした」などのエラーが発生する場合、SSL設定、APIキーの誤り、PHPバージョン、ゲートウェイの設定ミスが主な原因です。

症状・原因

よくある決済エラーと原因:

  • Your card was declined. → カード会社による拒否(テストカード番号の使用を確認)
  • SSL is required → HTTPSが有効になっていない
  • Invalid API Key → Stripeなどのシークレットキーが間違っている
  • 決済画面でページが真っ白になる → プラグイン競合、PHPエラー

解決手順

ステップ1:SSLが正しく設定されているか確認する

# HTTPS が有効か確認
wp option get siteurl  # https:// で始まっているか確認
wp option get home     # https:// で始まっているか確認

# FORCE_SSL_ADMIN が設定されているか確認
wp config get FORCE_SSL_ADMIN

# SSL証明書の有効期限を確認
curl -vI https://example.com 2>&1 | grep -E "expire|SSL"

ステップ2:決済ゲートウェイの設定を確認する

WooCommerce → 設定 → 決済 → Stripe → 管理
- テストモード: テスト中はON、本番環境ではOFF
- テスト用公開可能キー: pk_test_... で始まるか確認
- テスト用シークレットキー: sk_test_... で始まるか確認
- 本番公開可能キー: pk_live_... で始まるか確認
- 本番シークレットキー: sk_live_... で始まるか確認
# Stripeキーの設定値を確認(WP-CLI)
wp option get woocommerce_stripe_settings --format=json | python3 -m json.tool | grep -E "test|live|key"

ステップ3:WooCommerceのデバッグログを有効化する

WooCommerce → 設定 → 詳細設定 → ログ
→ ログを有効化にチェック
# ログファイルを確認
ls wp-content/uploads/wc-logs/
tail -100 wp-content/uploads/wc-logs/stripe-*.log

# WP-CLIでデバッグログも確認
tail -50 wp-content/debug.log

ステップ4:テスト決済で動作確認する

Stripeのテスト用カード番号:
- 成功: 4242 4242 4242 4242 / 有効期限: 任意の未来の日付 / CVC: 任意の3桁
- 拒否(残高不足): 4000 0000 0000 9995
- 拒否(不正カード): 4000 0000 0000 0002
- 3Dセキュア要求: 4000 0025 0000 3155

ステップ5:プラグイン競合とPHPエラーを確認する

// wp-config.php — デバッグを有効化
define('WP_DEBUG',         true);
define('WP_DEBUG_LOG',     true);
define('WP_DEBUG_DISPLAY', false);
# 他のプラグインを無効化してStripeのみで確認
wp plugin deactivate --all
wp plugin activate woocommerce woocommerce-gateway-stripe

# PHPバージョンを確認(Stripe SDK はPHP 7.4以上が必要)
php --version
wp eval "echo PHP_VERSION;"

注意事項

  • 本番環境のAPIキー(sk_live_)は絶対にコードにハードコードせず、WooCommerce の設定画面か環境変数で管理してください
  • テストモードのままで本番運用すると実際の決済が処理されません。本番公開前に必ずテストモードをOFFにしてください
  • Stripe Webhookを設定している場合、サーバーのIPアドレスをStripeのダッシュボードで許可リストに追加してください

まとめ

決済エラーの原因調査は「WooCommerceログ確認 → APIキーの確認 → SSL確認 → テスト決済」の順で行います。Stripeのテストカード(4242 4242 4242 4242)で決済が通るか確認し、本番運用前にテストモードをOFFにしてください。

お気軽にご相談ください

お見積りへ お問い合わせへ