戻る

VibeFox Stripe for WooCommerce — ヘルプ

要件

WordPress: 6.0 以降。

WooCommerce: 7.0 以降。インストールされて有効になっている必要があります。WooCommerce がない場合、プラグインは有効化できません。

PHP: 8.0 以降。

HTTPS: 本番環境での決済には、サイトで HTTPS を使用することをお勧めします。

Stripe アカウント: Stripe アカウントのシークレット API キーと、Stripe Dashboard でのウェブフックエンドポイントが必要です(設定を参照)。使用するのはシークレットキーとウェブフック署名シークレットのみです。公開可能キー(pk_...)は不要です。Stripe Checkout は Stripe がホストするページだからです。

VibeFox ライセンスキー: vibefox.net で購入します。1 つのキーは 1 つのドメインで使用できます。

インストール

1. WordPress で Plugins > Add New > Upload Plugin に進み、プラグインの ZIP ファイルを選択して Install Now をクリックします。FTP で wcp_stripe_gateway フォルダを /wp-content/plugins/ にアップロードすることもできます。

2. Activate をクリックします。

3. 設定を開きます。WooCommerce > Settings > Payments > Stripe > Manage に進むか、プラグインページでプラグイン名の下にある Settings をクリックします。

4. ページ上部のライセンスブロックに VibeFox ライセンスキーを入力し、Activate をクリックします。

5. Stripe のシークレットキーを貼り付け、Stripe Dashboard でウェブフックを設定し、その署名シークレットを貼り付けます(設定を参照)。

6. Enable/Disable をオンにします。テストモードでテストカード 4242 4242 4242 4242 を使って決済を試し、その後 Test Mode のチェックを外します。

設定

すべての設定は 1 ページにまとまっています:WooCommerce > Settings > Payments > Stripe。現在のモードにシークレットキーがない場合(この場合、決済方法はチェックアウトで非表示になります)、またはウェブフック署名シークレットがない場合、フィールドの上に警告が表示され、テストモードがオンのときは Test mode is on: no real payments are taken. と表示されます。決済方法の一覧では、現在のモードにシークレットキーが設定されるまで、Stripe に設定が必要と表示されます。

一般

Enable/Disable: Enable Stripe Gateway で決済方法のオン・オフを切り替えます。初期値:オフ。

Title: チェックアウト時にお客様に表示される決済方法の名前。初期値:Stripe。

Description: チェックアウト時に決済方法の下に表示されるテキスト。初期値:Pay securely with your credit or debit card via Stripe.

API キー

シークレットキーは Stripe Dashboard > Developers > API keys からコピーします。テスト用キーと本番用キーは別々です。テストモードではテスト用キーのみ、本番モードでは本番用キーのみを使用します。保存時に、値が想定された接頭辞で始まっていない場合(たとえばシークレットキーの代わりに公開可能キーを貼り付けた場合)、プラグインが警告します。

Test Mode: Enable test mode で Stripe のテスト用キーを使用します。実際の料金は請求されません。4242 4242 4242 4242 などの Stripe テストカードで支払ってください。初期値:オン。実際の支払いを受け付けるにはチェックを外します。

Test Secret Key: テストモードのシークレットキー。sk_test_ で始まります(制限付きキーの場合は rk_test_)。

Test Webhook Secret: テストモードで作成したウェブフックエンドポイントの署名シークレット(whsec_...)。

Live Secret Key: 本番モードのシークレットキー。sk_live_ で始まります(制限付きキーの場合は rk_live_)。

Live Webhook Secret: 本番モードで作成したウェブフックエンドポイントの署名シークレット(whsec_...)。

Webhook

ウェブフックは、決済が行われたことをストアに伝えます。Stripe Dashboard > Developers > Webhooks で、テストモード用のエンドポイントと本番モード用のエンドポイントをそれぞれ追加します。設定のこのセクションに表示される URL を使用してください。形式は https://your-site/wc-api/strg_stripe_webhook/ のようになります。サイトの URL に言語プレフィックスを使っている場合は、Stripe はリダイレクトに従わないため、設定に表示されたとおりに URL を正確にコピーしてください。

各エンドポイントで次のイベントを選択します:

checkout.session.completed: お客様が Stripe のページで決済を完了しました。
checkout.session.async_payment_succeeded: 遅延決済が確認されました。
checkout.session.async_payment_failed: 遅延決済が失敗しました。
charge.refunded: 決済が返金されました(例:Stripe Dashboard での返金)。

各エンドポイントを作成したら、Stripe からその署名シークレット(whsec_...)をコピーし、Test Webhook Secret または Live Webhook Secret に貼り付けます。有効な署名がないウェブフックは拒否されます。ウェブフックがない場合、注文はお客様が決済後にストアに戻ったときにのみ確定します。

注文

Order Status After Payment: 決済成功後に設定される注文ステータス。ステータスは一度に設定され、2 回目のステータス変更は行われません。

Processing: WooCommerce の既定値(default)。ダウンロード可能な仮想商品のみの注文は完了になります。
Completed: 支払い済みのすべての注文が完了になります。
On Hold: 支払い済みのすべての注文は、手動での確認を待ちます。

詳細設定

Logging: Enable logging は、Stripe のリクエストとウェブフックを WooCommerce > Status > Logs に書き込みます(ソース:wcp_stripe_gateway)。キーとお客様のデータはログに記録されません。初期値:オフ。

Delete Data on Uninstall: オンの場合、プラグインを削除すると、ゲートウェイの設定、注文に保存された Stripe データ、ログが削除されます。初期値:オフ。

チェックアウト

お客様は決済方法(初期値は Stripe)を選び、注文を確定します。プラグインは、注文の通貨で注文金額の Stripe Checkout セッションを作成し、お客様を Stripe の決済ページに移動させます。お客様はそこでクレジットカードまたはデビットカードで支払います。お客様の請求先メールアドレスは Stripe に渡され、決済は Stripe のページに Order # と注文番号として表示されます。

決済後、お客様はストアの注文受付ページに戻ります。注文が支払い済みになるのは、Stripe が確認した後だけです。署名付きウェブフックで確認されるか、お客様がそのページに到着したときに Stripe へのサーバー側リクエストで確認されます。まだ確認されていない場合、ページには Your payment is being confirmed by Stripe. You will receive an e-mail as soon as it is confirmed. と表示されます。

お客様が Stripe のページでキャンセルした場合、注文は WooCommerce の標準的な方法でキャンセルされます。お客様は、未払いの注文を、たとえば Pay for order ページから再度支払うことができます。新しい試行ごとに以前の Stripe セッションが閉じられるため、注文が 2 回支払われることはありません。

Stripe が決済を開始できない場合、お客様には短いメッセージが表示されます。たとえば、注文金額がこの通貨で Stripe が請求できる最低額を下回っている、といった内容です。お客様は別の決済方法を選ぶこともできます。技術的な理由は注文メモとログに追加されます。ログインしているストア管理者には、メッセージ内にも理由が表示されます。

この決済方法は、クラシックチェックアウト、チェックアウトブロック、Pay for order ページで動作します。WooCommerce High-Performance Order Storage(HPOS)に対応しています。

本プラグインが扱うのはカード決済のみで、Stripe のページで即座に請求されます。保存済みカード、サブスクリプションや定期決済、サイト上のカードフォーム、サイト上の Apple Pay や Google Pay ボタン、オーソリとキャプチャの分離には対応していません。

注文と返金

注文ステータス

Pending payment: お客様は Stripe に移動しましたが、まだ支払っていないか、Stripe がまだ決済を確認していません。

Processing, Completed or On Hold: 決済が確認されました。ステータスは Order Status After Payment に従います。注文メモには Stripe の決済と、確認方法(ウェブフックまたは戻り)が表示されます。トランザクション ID は Stripe の決済 ID(pi_...)で、注文画面では Stripe Dashboard の決済にリンクされます。

On hold after payment: Stripe が注文合計と異なる金額または通貨を報告した場合(たとえば決済開始後に注文が編集された場合)、または注文のキャンセル後に決済が届いた場合です。注文メモに説明が記載されます。注文を確認して処理するか、決済を返金してください。

Failed: 遅延決済が失敗しました。

Cancelled: お客様が Stripe のページでキャンセルしたか、注文がお客様、または WooCommerce の在庫保持タイムアウトによってキャンセルされました。注文の開いている Stripe セッションは閉じられるため、もう支払うことはできません。

すでに支払い済みの注文に 2 回目の決済が届いた場合、注文は再び変更されません。メモが表示され、確認して重複分を Stripe Dashboard で返金するよう求められます。

返金

注文を開き、Refund をクリックして金額を入力し、Refund via Stripe をクリックします。全額返金と一部返金に対応しています。返金は、決済が行われたモード(テストまたは本番)で送信されるため、そのモードのシークレットキーが設定されている必要があります。Stripe が返金を受け付けない場合、WooCommerce にエラーが表示され、返金は記録されません。返金が成功すると、Stripe の返金 ID とともに注文メモに追加されます。

Stripe Dashboard で行った返金は charge.refunded ウェブフックで届き、注文メモに追加されます。これらは WooCommerce の返金として自動的に記録されるわけではありません。必要に応じて、Refund via Stripe を使わずに、WooCommerce で手動返金を作成してください。

ライセンスキー

本プラグインは、vibefox.net で取得した VibeFox ライセンスキーで動作します。ライセンスブロックは WooCommerce > Settings > Payments > Stripe の上部にあります。キーを License key に貼り付け、Activate をクリックします。ブロックにはステータスが表示されます。たとえば、ライセンスが有効な期限日とドメインなどです。Check now でステータスを再確認し、Change key で別のキーを入力し、Remove key でこのサイトからキーを削除します。Manage licenses and domains in your account のリンクから vibefox.net のアカウントを開けます。

1 つのキーは 1 つのドメインで使用できます。サイトからキーを削除しても、ドメインの枠は解放されません。vibefox.net のアカウントで枠を解放してください。

有効なキーがない場合、チェックアウトでお客様に Stripe は表示されません。それでも決済が開始された場合、お客様には This payment method is not available. Please choose another one. と表示されます。ログインしているストア管理者には、決済方法が (unlicensed — visible to admins only) と表示された状態で引き続き表示されるため、キーを購入する前にプラグインを設定してテストできます。プラグインページと WooCommerce のページには通知が表示されます。既存の注文には影響ありません。すでに開始された決済は引き続き確認され、返金も行えます。

ライセンスの有効期限が切れてもプラグインは動作し続けますが、アップデートとサポートには更新が必要です。ステータスはバックグラウンドで自動的に再確認されます。

トラブルシューティング

チェックアウトに Stripe が表示されない: ライセンスが有効か、Enable/Disable がオンか、現在のモードにシークレットキーがあるかを確認してください。テストモードでは Test Secret Key、本番モードでは Live Secret Key です。キーがない場合、設定ページに警告が表示されます。

決済は完了したのに、注文が Pending payment のまま: ウェブフックが機能していません。Stripe Dashboard で、使用しているモード(テストまたは本番)にエンドポイントがあるか、その URL が設定に表示されたものと完全に一致しているか、4 つのイベントがすべて選択されているかを確認してください。そのエンドポイントの署名シークレットが対応するフィールド(Test Webhook Secret または Live Webhook Secret)に入っているかも確認してください。Stripe Dashboard には、各ウェブフックに対するストアの応答が表示されます。お客様が決済後にストアに戻った場合も、注文は確認されます。

ウェブフックの応答が Webhook secret not configured: どちらのウェブフックシークレットも設定されていません。署名シークレットを設定に貼り付けてください。

ウェブフックの応答が Invalid signature: 署名シークレットが別のエンドポイントまたは別のモードのものか、サーバーの時刻が正しくありません。Stripe の署名は、サーバー時刻から 5 分以内のものだけが受け付けられます。

ウェブフックの応答が Busy, retry: 同じタイミングで別のリクエストによって注文が確認されていました。Stripe はウェブフックを自動的に再試行します。

保存時の「値が正しくないようです」という警告: キーが誤ったフィールドに貼り付けられています。シークレットキーは sk_test_ / rk_test_ または sk_live_ / rk_live_ で始まり、ウェブフックシークレットは whsec_ で始まります。

注文時にお客様がエラーを見る: 注文メモを開くか、Logging をオンにして、WooCommerce > Status > Logs でソース wcp_stripe_gateway を確認してください。キーが誤っているか存在しない場合、決済方法が正しく設定されていないというメッセージが表示されます。通貨ごとの Stripe の最低額(たとえば 0.50 EUR)を下回る注文合計は、Stripe で支払うことができません。

テスト決済で本番の注文が確認されない: テスト決済と本番決済は分けて扱われます。テスト決済が本番の注文を確認することはなく、その逆もありません。Test Mode を使用したいモードに切り替え、そのモードのキーとウェブフックを使用してください。

決済後に注文が On hold: 注文メモを確認してください。支払われた金額または通貨が注文と異なっていたか、注文がキャンセルされた後に決済が届いています。注文を処理するか、決済を返金してください。

モードに関するメッセージで返金が失敗する: 決済はテストモードまたは本番モードで行われ、そのモードのシークレットキーが設定されていません。キーを入力して、もう一度お試しください。

ライセンスブロックにエラーが表示される: ブロックのメッセージに従ってください。たとえば、キーがすでに別のドメインで使用されている場合は、vibefox.net のアカウントで枠を解放し、Check now をクリックしてください。サイトのアドレスが変わった場合は、Check now をクリックして、新しいドメインでキーを有効にしてください。ライセンスサーバーに接続できない場合、プラグインは最後に確認されたステータスで動作を続けます。

アンインストール

プラグインを無効化してもすべてのデータは保持されます。削除するには、Plugins ページで無効化してから削除してください。このプラグインのライセンスキーとライセンスステータスは常に削除されます。ゲートウェイの設定、注文に保存された Stripe データ、ログは、Delete Data on Uninstall がオンだった場合にのみ削除されます。そうでない場合は、後日の再インストールに備えて保持されます。既存の注文は、決済メモとトランザクション ID を保持します。

Stripe は、各所有者の商標です。本プラグインは Stripe と提携しておらず、Stripe による推奨も受けていません。