プラグインWPZ Stripe for Welcartの機能 #2

WelcartでStripe決済を実現するプラグインWPZ Stripe for Welcartの機能 #2

このサイトから無料でダウンロード、ご利用いただけるプラグインWPZ Stripe for Welcartの機能についてその一部をご紹介します。

プラグインのダウンロードはこちら
プラグインのインストールと設定はこちら


注文時のStripe決済に関するオーソリとキャプチャーの分離処理について

プラグインWPZ Stripe for Welcartはオーソリとキャプチャーの処理を分離して処理することが可能です。

Webに限ったことではありませんが通信販売を行う企業・事業所ではカード決済処理を注文時よりも遅らせて行いたいケースがあります。
商品数が多く、注文時に全ての在庫を保証(把握)できていないケースや商品在庫を極力減らすため受注があって発注を行うケースなどでは、発送商品の在庫を確認してからカード決済処理を行う方が理想的です。在庫確保前にカード決済処理を行なってしまうと後日キャンセル処理が必要となった場合に、タイミング次第では売り上げがないのにキャンセル手数料をStripeに支払うような形になるかもしれません。
こういった形を極力なくすため、注文時には「オーソリ」のみ行い、在庫確保・発送時に「キャプチャー」処理を行うということがWPZ Stripe for Welcartでは可能です。

ここでの「オーソリ」はカード決済のための承認のみを行い該当の売上金額をリザーブするような形でカード会社が保証された状態にすることです。この時点では売り上げとして購入者にも販売者にも処理は行われません。
また、「キャプチャー」はオーソリで確保された金額から売り上げとして処理する金額を決定・決済を行う取り込み処理にあたります。
このオーソリからキャプチャーまでの保証期間には期限があり、通常5〜7日間ですが、下記ページにあるように『日本に所在するアカウントの場合、Visa、Mastercard、JCB、ダイナースクラブ、ディスカバーを利用する日本円建ての取引は最長 30 日間、保留にできます。』
支払い方法を保留する | Stripeのドキュメント
この保証期間を過ぎるとオーソリ処理状態で止まっていた決済は自動的にキャンセル処理されるため、期限については注意が必要です。

WPZ Stripe for Welcartはデフォルトの状態では注文時にStripeへアクセスし決済を行うよう設定されております。この注文時の処理を「オーソリ」のみに変更し、後日別途「キャプチャー」処理を行えるようにするにはfunctions.php等に下記のフィルターフックを記述します。

// 注文時のカード決済処理を「オーソリ」のみに変更するフィルターフックの例
add_filter('wpz_stripe_card_capture_method', function ($capture_method) {
    // $capture_method はデフォルトでは 'automatic' ですが 'manual' に変更します
    $capture_method = 'manual';
    return $capture_method;
}, 10);

キャプチャー処理はStripeの管理画面から処理が可能ですが、上記のフィルターフックを記述するとWelcartの注文詳細ページでもキャプチャー処理が行えるようになります。
操作は下記のような流れになります。

# 受注リスト 【キャプチャー処理前】
オーソリのみが正常に行われキャプチャーされていない状態の受注リストページの注文データの表示。オーソリ金額は1500円。
# オーソリ金額でキャプチャーする 1-1
Stripeでオーソリのみが行われた注文詳細ページ。与信金額が1500円、決済金額が0円となっており、キャプチャーが行われていない状態。
# オーソリ金額でキャプチャーする 1-2
キャプチャー処理を1500円で行うため、金額等を修正せずに「入金状況」を「決済完了」に変更するとアラート表示内に1500円でキャプチャーを行うこととその注意事項が表示されます。
# オーソリ金額でキャプチャーする 1-3
アラート表示を閉じ、そのまま注文データを更新し、キャプチャー処理が完了した状態の注文詳細ページ。
# オーソリ金額を変更してキャプチャーする 2-1
送料や商品金額を変更後、キャプチャー処理を行った状態。与信金額と決済金額(キャプチャーした金額)、その差額として差し戻しされた金額が表示されます。この例ではキャプチャーした金額は1000円。
# オーソリを破棄しキャンセル処理する 3-1
送料や商品金額を変更し、キャプチャー金額を0円で処理しようとしたときのアラート表示。Stripeでは0円でキャプチャーはできないため、こういったケースではキャンセル処理を行います。(次の画像)
# オーソリを破棄しキャンセル処理する 3-2
0円でキャプチャーすることはできないため、受注をキャンセル処理する際のアラート表示。与信の状態で「対応状況」に「キャンセル」を選択すると受注の金額に関わらずキャンセル処理をこの画面から行うことができます。
# オーソリを破棄しキャンセル処理する 3-3
与信状態からキャンセル処理を行い、Stripeの決済が正常にキャンセル処理された状態の注文データの表示。全額差し戻しされ、決済金額は0円となっていることが確認できます。
# 受注リスト 【キャプチャー処理後 / キャンセル処理後】
キャプチャー処理、決済キャンセル処理が正常に行われた状態の受注リストページの注文データの表示。オーソリ金額でキャプチャーした状態の「決済完了」、オーソリ金額から決済金額を変更した状態の「一部差戻し」、オーソリ状態から決済をキャンセル処理した状態の「キャンセル」が確認できます。