WooCommerceでStripe Checkoutを活用したマルチ決済手段の実装方法
この記事では、WooCommerceとStripe Checkoutを連携させ、クレジットカード決済に加えてコンビニ決済などの多様な決済手段を簡単に追加する方法を解説しています。数行のコードでECサイトの売上向上に繋がる支払い体験を提供できます。
目次
今回は、WooCommerceとStripe Checkoutを連携させて、クレジットカード決済に加えてコンビニ決済などの決済手段を提供する方法をご紹介します。シンプルなカスタマイズで実店舗に近い支払い体験を提供し、コンバージョン率を向上させましょう。
必要な環境
この記事の実装を行うには、以下の環境が必要です:
- WordPress 5.9以上
- WooCommerce 6.0以上
- 有効なStripeアカウント(日本のビジネスとして登録済みであること)
- PHP 7.4以上
使用するプラグイン
今回は「Payment Gateway Stripe for WooCommerce」プラグインを使用します。このプラグインは、WooCommerceにStripe Checkoutを簡単に統合できる機能を提供しています。
プラグインのダウンロードはWordPress公式プラグインディレクトリから行えます。
Stripeアカウントの設定
Stripeアカウントで日本の決済手段を有効にするには、以下の手順を実施しておく必要があります:
- Stripeダッシュボードにログイン
- 「設定」→「支払い方法」に移動
- 「コンビニ決済(Konbini)」を有効化
- (オプション)銀行振込や他の決済手段も必要に応じて有効化
実装コードの紹介
コンビニなどの決済手段を追加するには、WordPressのフックを利用します。Hello Dollyプラグインを改造するか、新しいプラグインを用意して、以下のコードを追加しましょう。
/**
* Stripe Checkoutに決済方法を追加するフィルター
*/
add_filter('wt_stripe_alter_checkout_request_params', function ($session_data) {
// 利用可能な決済方法を指定(カードとコンビニ決済)
$session_data['payment_method_types'] = [
'card',
'konbini'
];
// future_usageの設定を削除(一部の決済方法と競合する可能性があるため)
unset($session_data['payment_intent_data']['setup_future_usage']);
// カード決済のみにfuture_usageを設定
$session_data['payment_method_options'] = [
'card' => [
'setup_future_usage' => 'off_session',
],
];
return $session_data;
});
このコードは、Stripe Checkoutセッション作成時のパラメータを変更し、コンビニ決済(konbini)をカード決済と共に利用可能にします。
動作確認方法について
設定が完了したら、以下の手順で動作確認を行いましょう:
- ショップの商品を追加してカートに入れる
- チェックアウトページに進む
- 配送先情報などを入力し、「注文する」ボタンをクリック
- Stripe Checkoutの画面に遷移することを確認
- 決済方法の選択肢にコンビニ決済が表示されていることを確認
コード解説
先ほど追加したコードについて、もう少し詳しく説明しましょう。
add_filter('wt_stripe_alter_checkout_request_params', function ($session_data) {
// ...
});
wt_stripe_alter_checkout_request_params
はプラグインが提供するフィルターフックで、Stripe Checkoutセッションを作成する際のパラメータを変更できます。
$session_data['payment_method_types'] = [
'card',
'konbini'
];
この部分で、利用可能な決済方法を指定しています。デフォルトではcard
(クレジットカード)のみですが、ここにkonbini
(コンビニ決済)を追加しています。他にも以下のような決済方法を追加できます:
bancontact
– Bancontactideal
– iDEALsepa_debit
– SEPA Direct Debitsofort
– Sofortgiropay
– Giropayp24
– Przelewy24eps
– EPSpaynow
– PayNowalipay
– Alipaygrabpay
– GrabPayafterpay_clearpay
– Afterpay/Clearpaycustomer_balance
– 残高(BNPL)wechat_pay
– WeChat Pay
これらの中から、あなたのビジネスと対象国に適した決済方法を選択できます。
unset($session_data['payment_intent_data']['setup_future_usage']);
この行では、一部の決済方法と互換性がないsetup_future_usage
設定を削除しています。これはこの後に設定するpayment_method_options
にて決済手段ごとに設定を行う実装へ変更するための削除です。
$session_data['payment_method_options'] = [
'card' => [
'setup_future_usage' => 'off_session',
],
];
ここでは、クレジットカード決済に対してのみsetup_future_usage
をoff_session
に設定しています。これにより、カード決済の場合のみ将来の決済のために支払い方法を保存できるようになります。コンビニ決済など、後払い系の決済手段では仕組み上保存は不可能なので、このように保存できる決済手段のみに設定を行います。
デプロイと運用における注意点
本番環境への移行
テスト環境から本番環境に移行する際は、以下の点に注意してください:
- APIキーの切り替え: テスト用APIキーから本番用APIキーに切り替えることを忘れないでください。
- Webhookの再設定: 本番環境用のWebhookエンドポイントを設定し、適切なイベントを購読してください。
- SSL証明書: 本番環境ではSSL(https)が必須です。有効な証明書がインストールされていることを確認してください。
セキュリティ対策
- WordPressとプラグインの定期更新: セキュリティパッチを適用するため、定期的な更新を行ってください。
- APIキーの保護: APIキーが公開されないよう、適切なアクセス制限を設定してください。
- ログ監視: 不審な取引や活動がないか、定期的にログを確認してください。
まとめ
今回は、WooCommerceとStripe Checkoutを使ってコンビニ決済などの多様な決済手段を簡単に追加する方法をご紹介しました。数行のコードだけで、顧客により多くの支払い選択肢を提供できるようになりました。
今回学んだこと
- WooCommerceでStripe Checkoutを有効化する方法
- フィルターフックを使って決済手段を追加するカスタマイズ方法
- 複数の決済手段を共存させるための設定ポイント
Stripe Checkoutの柔軟性を活かして、あなたのECサイトの売上向上に繋げてください。