WooCommerceでStripeを利用したクレジットカード決済を実施している場合、顧客のクレジットカード明細には、通常以下のどちらかが記載されます。
- Stripeアカウントで設定した「明細書表記」
- WooCommerce管理画面で設定した「明細書表記」
ですが、提供したい商品やサービスによっては、「特定の商品では、別の表記を記載したい」場合もあります。
今回は、WooCommerceのフックを利用して、明細書表記をカスタマイズする方法を紹介します。
明細書表記のカスタマイズは、wc_stripe_generate_create_intent_request
フックを利用する
wc_stripe_generate_create_intent_request
フックは、StripeのAPIを呼び出してPayment Intentを作成する際の値を変更できるフックです。
明細書表記のカスタマイズは、Payment Intentのリクエストパラメータを変更する必要があるため、このフックを利用します。
<?php
/*
Plugin Name: Stripe Custom code plugin
Description: Example WordPress plugin to customize Stripe payment feature
Version: 100
*/
add_filter( "wc_stripe_generate_create_intent_request", function ( $request ) {
return $request;
} );
漢字・カタカナの明細書表記を追加する方法
Stripeでは、2022年夏から漢字・カタカナでの明細表記をサポートしています。
ただしプラグイン設定画面には、漢字・カタカナでの設定を行う画面がありません。
以下のようなコードをプラグインとして追加することで、設定が可能です。
<?php
/*
Plugin Name: Stripe Custom code plugin
Description: Example WordPress plugin to customize Stripe payment feature
Version: 100
*/
add_filter( "wc_stripe_generate_create_intent_request", function ( $request ) {
$request[ "payment_method_options" ] = [
"card" => [
"statement_descriptor_suffix_kanji" => "漢字明細書表記",
"statement_descriptor_suffix_kana" => "カタカナメイサイ"
]
];
return $request;
} );
なお、ダッシュボードからアカウント全体に設定することも可能です。
詳細は、以下の記事をご確認ください。
商品ごとに、動的に明細表記を変更する
店舗名ではなく、ブランド・商品名を明細に載せたい場合もあります。
その場合は、wc_stripe_generate_create_intent_reques
フックを利用し、WC_Order
から必要な情報を取得して、動的にカスタマイズします。
<?php
/*
Plugin Name: Stripe Custom code plugin
Description: Example WordPress plugin to customize Stripe payment feature
Version: 100
*/
add_filter( "wc_stripe_generate_create_intent_request", function ($request, $order, $prepared_source) {
$item_count = $order->get_item_count();
if ( 1 === $order->get_item_count() ) {
$request[ "statement_descriptor" ] = "CUSTOM SUFFIX";
$request[ "payment_method_options" ] = [
"card" => [
"statement_descriptor_suffix_kanji" => "漢字明細書表記",
"statement_descriptor_suffix_kana" => "カタカナメイサイ"
]
];
}
return $request;
}, 10, 2);
$order
にWP_Order
データが含まれていますので、これを利用して、「特定カテゴリ・IDの商品では、明細を変更する」ことができます。
注意点としては、「英語」「漢字」「カタカナ」それぞれを入力するフィールドが異なることです。
そのため、「商品名をそのまま使う」のではなく、カスタムフィールドで設定するか、コードに定義してしまうかでの対応が必要です。
また、明細は1決済単位での設定のため、複数商品の注文には設定が難しいケースがあることにもご注意ください。
明細書表記設定の注意点
どの表記が利用されるかは、カード会社次第
Stripeからカード会社に決済リクエストを送信する際に、明細表記情報をあわせて送信します。
ですが、送信した表記データのうち、どれが実際に発行された明細へ記載されるかは、カード会社とそのシステム次第です。
カード会社やそのシステムによっては、「漢字・カタカナを設定しても、英語の明細が表示される」ケースも発生しますのでご了承ください。
顧客向けのFAQなどに、「英語の明細表記が表示されるケースもあること」をおすすめします。
Stripeダッシュボードでは、APIリクエストログから確認する必要がある
明細書表記のデータが送信されたかどうかは、APIの呼び出し記録を確認する必要があります。
ダッシュボードで、該当する支払いを見つけた後、[イベントとログ]セクションの[イベントデータ]を確認しましょう。
[告知] 東京WordPress Meetup 2022 Fallにて、Stripe <> WordPress / WooCommerceなセッションをします
WordPress Meetupコミュニティの方々のご厚意で、StripeとWordPress / WooCommerceについてのセッションを持たせていただけることになりました。
2022年11月6日日曜日に、東京新宿区のCASE Shinjikuにて14時から開催です。
WooCommerceの日本ローカライズプラグイン作者のShohei Tanakaさんも参加されますので、ぜひご参加ください。