VibeFox Razorpay for WooCommerce — ヘルプ
要件
WordPress: 6.0 以降。
WooCommerce: 7.0 以降。インストールされて有効であること。WooCommerce がない場合、プラグインは有効化できません。
PHP: 8.0 以降。
Razorpay アカウント: テストモードでは Razorpay アカウントの Key ID と Key Secret が必要です。本番モードでは、アカウントが有効化された後に必要になります。ご自身で選んだシークレットを設定した Webhook の利用を強くお勧めします(「設定」を参照)。INR 以外の通貨での決済には、Razorpay アカウントで International Payments が有効になっている必要があります。
VibeFox ライセンスキー: vibefox.net で購入します。1 つのキーは 1 つのドメインで使用できます。
インストール
1. WordPress で Plugins > Add New > Upload Plugin に進み、プラグインの ZIP ファイルを選択して Install Now をクリックします。FTP で wcp_razorpay_payment フォルダを /wp-content/plugins/ にアップロードすることもできます。
2. Activate をクリックします。
3. 設定を開きます。WooCommerce > Settings > Payments > Razorpay > Manage に進むか、プラグインページでプラグイン名の下にある Settings をクリックします。
4. ページ上部のライセンスのブロックに VibeFox ライセンスキーを入力し、Activate をクリックします。
5. Test Key ID と Test Key Secret を入力し、Razorpay Dashboard で Webhook を設定して、そのシークレットを入力します(「設定」を参照)。
6. Enable/Disable を有効にし、Test mode をオンにした状態でテスト決済を行います。準備ができたら、Live キーを入力し、Test mode のチェックを外します。
設定
すべての設定は 1 つのページにあります。WooCommerce > Settings > Payments > Razorpay です。フィールドの上には通知が表示されます。現在のモードのキーが未入力である(その場合、決済方法はチェックアウトに表示されません)、テストモードで Key ID が rzp_test_ で始まらない、本番モードで Key ID が rzp_live_ で始まらない、テストモードがオンになっている、Webhook のシークレットが空である、またはストアの通貨が INR ではなく Razorpay アカウントで International Payments の有効化が必要である、といった場合です。決済方法の一覧では、現在のモードにキーが設定されるまで Razorpay に設定が必要と表示されます。テストモードがオンの間は Test mode のバッジが表示されます。キーと一緒に貼り付けられたスペースは、保存時に削除されます。
一般
Enable/Disable: Enable Razorpay Payment Gateway で決済方法のオン・オフを切り替えます。デフォルト: オフ。
Title: チェックアウトで購入者が見る決済方法の名前です。デフォルト: UPI, Cards, NetBanking。
Description: チェックアウトで決済方法の下に表示されるテキストです。デフォルト: Pay securely via UPI, Credit/Debit Card, or Internet Banking through Razorpay。
API キー
キーは Razorpay Dashboard の Account & Settings > API Keys で取得します。Dashboard をテストモードに切り替えると、テスト用キー(rzp_test_...)が生成されます。本番用キー(rzp_live_...)は、アカウントが有効化された後に利用できます。
Test mode: Use the Test mode keys (no real money is charged)。デフォルト: オン。実際の決済を受け付けるにはチェックを外します。注文の決済、キャプチャ、返金は、その注文が支払われたモードのキーを常に使用します。そのため、後からモードを切り替えても既存の注文には影響しません。
Test Key ID: テストモードの Razorpay Dashboard に表示される Key ID です。rzp_test_ で始まります。
Test Key Secret: テストモードの Razorpay Dashboard に表示される Key Secret です。
Live Key ID: 本番モードの Razorpay Dashboard に表示される Key ID です。rzp_live_ で始まります。
Live Key Secret: 本番モードの Razorpay Dashboard に表示される Key Secret です。
決済
Payment Action: 代金を請求するタイミングです。デフォルト: Authorize & Capture。
Webhook
Webhook は、購入者が支払い直後にブラウザを閉じた場合でも決済を確定させ、Razorpay Dashboard で行われた返金を記録します。Razorpay Dashboard で Account & Settings > Webhooks に進み、テストモード用と本番モード用にそれぞれ Webhook を追加します。設定のこのセクションに表示される URL を使用します。URL は https://your-site/wc-api/razorpay_p_webhook/ のような形式です。設定に表示されたとおりに正確にコピーしてください。Razorpay でご自身のシークレットを入力し、次のイベントを選択します。
Webhook Secret: Webhook を作成したときに入力したシークレットです。プラグインには 1 つのフィールドしかないため、テスト用と本番用の Webhook で同じシークレットを使用してください。有効な署名のない Webhook は拒否されます。Webhook がない場合、決済は購入者がポップアップから戻ったとき、または後で注文の支払いページを再度開いたときにのみ確定します。
詳細設定
Enable Logging: Save debug logs。ログは WooCommerce > Status > Logs にあり、ソースは wcp_razorpay_payment です。エラーと警告は常に記録されます。このオプションを有効にすると、デバッグの詳細も記録されます。キー、署名、購入者の連絡先情報は記録されません。デフォルト: オフ。
Delete Data on Uninstall: Remove the plugin settings and logs when the plugin is deleted (orders are never touched)。デフォルト: オフ。
チェックアウト
購入者は決済方法(デフォルトは UPI, Cards, NetBanking)を選び、注文を確定します。プラグインは注文の合計金額と通貨に対応する Razorpay 注文を作成し、注文の支払いページを開きます。そのページで Razorpay Checkout のポップアップが自動的に開き、購入者の氏名、メールアドレス、電話番号が入力された状態になります。ポップアップを閉じた場合、購入者は Pay Now をクリックして再度開くか、Cancel order をクリックできます。テストモードでは、ページに Razorpay Test mode: no real money will be charged. と表示されます。
決済が成功すると、プラグインは Razorpay の署名を検証し、Razorpay API から決済情報を取得して、金額と通貨を注文と照合します。注文は Razorpay が確認した後にのみ支払い済みになります。その後、購入者には注文受付ページが表示されます。署名は有効でも、その時点で決済情報を取得できない場合、注文は「保留」になり、後で Webhook が確定させます。
購入者が未払いの注文に戻ってきた場合、プラグインはその Razorpay 注文を再利用します。その Razorpay 注文が既に支払い済みである場合(たとえば購入者がブラウザを閉じ、Webhook がない場合)は、2 回目の支払いを求めるのではなく、その決済を適用します。
購入者に表示されるメッセージ:
この決済方法は、クラシックチェックアウト、チェックアウトブロック、Pay for order ページで動作します。WooCommerce High-Performance Order Storage(HPOS)に対応しています。
本プラグインは 1 回限りの決済のみに対応しています。定期払いや継続課金、保存済みカード、Razorpay Magic Checkout、Payment Links、Route(分割決済)には対応しておらず、オファーや分割払いのウィジェットもありません。
注文と返金
Order statuses
Pending payment: Razorpay 注文が作成されましたが、購入者はまだ支払っていません。各 Razorpay 注文は、金額とモードとともに注文メモに追加されます。
Processing or Completed: 決済がキャプチャされ、確認されました。支払い後の WooCommerce の既定の状態です。注文メモには、Razorpay の決済 ID、金額、確認方法(コールバック、Webhook、戻ったときの確認)が表示されます。トランザクション ID は Razorpay の決済 ID(pay_...)です。
On hold: 次の場合に設定され、それぞれ注文メモが付きます。決済は承認のみ(Authorize Only)である、支払われた金額または通貨が注文と一致しない、キャンセルされた注文に対して決済がキャプチャされた、またはその時点で Razorpay API を通じて決済を確認できなかった場合です。すでに「保留」になっている注文にもメモが追加されます。
Failed: 保留中の注文に対して payment.failed Webhook が届きました。メモには Razorpay のエラーが表示されます。購入者は再度支払うことができます。承認済みまたはキャプチャ済みの決済がある注文は変更されません。
Cancelled: 購入者が Cancel order をクリックしたか、あなたが注文をキャンセルしたか、WooCommerce の在庫保持タイムアウトによって注文がキャンセルされました。後から届いた決済によって注文が自動的に再開されることはありません。承認済みの決済はキャプチャされず、キャプチャ済みの決済の場合は、確認のために注文が「保留」になります。
すでに支払い済みの注文に追加の決済が届いた場合、注文は変更されません。意図しない決済であれば、Razorpay Dashboard で返金するようメモで通知されます。
キャプチャ(Authorize Only)
「保留」 の注文を開き、Order actions で Capture Razorpay payment を選び、更新ボタンをクリックします。決済は承認されたモードでキャプチャされ、注文は支払い済みになります。Razorpay が拒否した場合、注文メモに理由とともに Razorpay capture failed: が表示されます。Razorpay Dashboard で行われたキャプチャは、Webhook によって注文を完了させます。
返金
注文を開き、Refund をクリックして金額を入力し、決済方法の名前に続けて Refund via をクリックします。全額返金と一部返金に対応しています。返金は、決済が行われたモードのキーで送信されます。Razorpay が返金を受け付けない場合、WooCommerce は理由とともに Razorpay refund failed: を表示し、返金は記録されません。返金が成功すると、Razorpay の返金 ID、金額、ステータスとともに注文メモに追加されます。
Razorpay Dashboard で行われた返金は Webhook によって届き、WooCommerce の返金として注文に記録されます。1 回だけ記録され、商品は在庫に戻されません。別の通貨での返金、または返金可能額を超える Dashboard の返金は自動的に記録されません。その場合はメモで手動で記録するよう求められます。
ライセンスキー
プラグインは vibefox.net で入手した VibeFox ライセンスキーで動作します。ライセンスのブロックは WooCommerce > Settings > Payments > Razorpay の上部にあります。キーを License key に貼り付け、Activate をクリックします。ブロックには、ライセンスの有効期限日やドメインなどのステータスが表示されます。Check now でステータスを再確認し、Change key で別のキーを入力し、Remove key でこのサイトからキーを削除します。Manage licenses and domains in your account のリンクからは、vibefox.net のアカウントが開きます。
1 つのキーは 1 つのドメインで使用できます。サイトからキーを削除しても、ドメインの枠は解放されません。vibefox.net のアカウントで枠を解放してください。
有効なキーがない場合、チェックアウトで Razorpay は購入者に表示されません。それでも決済が開始された場合、購入者には This payment method is not available. Please choose another one. が表示されます。ログインしたストア管理者には、(unlicensed — visible to admins only) と表示された状態で決済方法が引き続き表示されるため、キーを購入する前にプラグインを設定してテストできます。プラグインページと WooCommerce のページには通知が表示されます。既存の注文には影響しません。開始済みの決済は引き続き確認され、返金も行えます。
ライセンスが期限切れになっても、プラグインは動作を続けますが、アップデートとサポートには更新が必要です。ステータスはバックグラウンドで自動的に再確認されます。
トラブルシューティング
チェックアウトに Razorpay が表示されない: ライセンスが有効であること、Enable/Disable がオンであること、現在のモードに両方のキーがあることを確認してください。テストモードでは Test Key ID と Test Key Secret、本番モードでは Live Key ID と Live Key Secret です。キーがないと、設定ページに通知が表示されます。
決済は完了したが、注文が Pending payment のまま: Webhook が機能していません。Razorpay Dashboard で、使用しているモード(テストまたは本番)に Webhook があること、その URL が設定に表示されたものと完全に一致すること、5 つのイベントがすべて選択されていることを確認してください。Webhook Secret が Razorpay のシークレットと同じであることも確認してください。購入者が注文の支払いページを再度開くと、注文も確定されます。
Webhook が Webhook secret not configured と応答する: Webhook Secret が空です。Razorpay の Webhook のシークレットを入力してください。Razorpay は後でイベントを再送します。
Webhook が Invalid signature または Missing signature と応答する: 設定のシークレットが Razorpay の Webhook のシークレットと一致しません。両方に同じシークレットを入力してください。
Webhook が Retry later と応答する: プラグインが Razorpay API でキャプチャを確認できなかったか、同時に別のリクエストで注文が更新されていました。Razorpay は自動的にイベントを再送します。
注文が On hold になっている: 注文メモを確認してください。決済は承認のみ(Capture Razorpay payment を使用)であったか、金額または通貨が注文と一致しなかったか、キャンセル済みの注文に対して決済が届いたか、その時点で Razorpay API を通じて確認できず Webhook を待っている状態です。
購入者が支払い時にエラーを見る: 注文メモを開くか、WooCommerce > Status > Logs(ソースは wcp_razorpay_payment)を確認してください。Enable Logging がオフでも、エラーは記録されます。キーが誤っている場合は、決済方法が現在利用できないというメッセージが表示されます。その他の Razorpay による理由は、Razorpay could not accept this payment: の後に表示されます。
ポップアップが開かない: Razorpay Checkout のスクリプトが、コンテンツブロッカーまたは接続によってブロックされています。購入者にはメッセージが表示され、ページを再読み込みできます。
返金に失敗する: 返金は、決済が行われたモードのキーを使用します。そのモードのキーが設定されているか確認し、エラーメッセージの理由を確認してください。
ライセンスのブロックにエラーが表示される: ブロックのメッセージに従ってください。たとえば、そのキーが別のドメインで使用済みの場合は、vibefox.net のアカウントで枠を解放し、Check now をクリックします。サイトのアドレスが変わった場合は、Check now をクリックして、新しいドメインでキーを有効にします。ライセンスサーバーに接続できない場合、プラグインは最後に確認されたステータスで動作を続けます。
アンインストール
プラグインを無効にしても、すべてのデータは保持されます。削除するには、Plugins ページで無効にしてから削除します。このプラグインのライセンスキーとライセンスステータスは、常に削除されます。ゲートウェイの設定とログ(ローテーションされたものを含むログファイルと、データベース内のログエントリ)は、Delete Data on Uninstall がオンだった場合にのみ削除されます。それ以外の場合は、後で再インストールするために残ります。注文と、その Razorpay データは削除されることはありません。既存の注文は、支払いメモとトランザクション ID を保持します。
Razorpay は各所有者の商標です。本プラグインは Razorpay と提携しておらず、Razorpay による承認も受けていません。
