woocommerceの決済設定画面でPaidy支払いは選択可能なのですが、自動定期支払いにチェックがない為にPaidyを導入してもサブスク決済の際にPaidy支払いが選択できません。
Paidyでサブスク支払い時に選択できるようにするにはどの様にすれば良いでしょうか?
また、サブスク決済の対応アップデートはありますでしょうか?
I installed the plugin but my woocommerce check-out doesn’t display in Japanese.
Do I have to change my whole wordpress to Japanese? I don’t want to, I want to keep it in English and only my Japanese site checkout in Japanese for the customers.
Please advise as I cannot release my shopping site unless it works.
]]>アドバイスをくださいませ。
当方の環境
WordPress 5.3.2 (TIJAJI テーマ)
WooCommerce バージョン 3.9.1
PHP バージョン 5.6.40
MySQL バージョン 5.6.45
です。
このように改行されます。
改行
ソースは、大丈夫だと
ソース
よろしくお願い申し上げます。
]]>WooCommerceのチェックアウトページで、任意の入力フィールドを必須入力欄にしたり、バリデーションを加えた場合、
Paidyチェックアウトは正常完了しても、WooCommerceのチェックアウトフローはエラーまたは再入力を促すため、
1.Paidyの管理画面上では、オーソリが発生している(顧客にもご利用速報の通知が届く)
2.WooCommerce上では、注文が登録されず、管理画面からも確認不能
3.顧客は注文が確定したかそうでないか、理解ができない状況になる
という状況が発生します。
Paidyチェックアウトの表示を、WooCommerceチェックアウトの通過後とするのが適切かと思いますが、いかがでしょうか。
もしくは、WooCommerceチェックアウトが正常終了していない場合にはPaidyのオーソリを行わない(または、オーソリを取り消す)
などが考えられると思います。
直近のアップデートについても、PaidyとWooCommerceのバリデーション差異による同様問題の改修だと認識しています。
ご検討のほど、よろしくおねがいします。
]]>別のトピックでも書いてありました、よみがなのフィールドを入力しないとエラーになり先に進みません。
プラグイン共に最新バージョンですが、よみがなのフィールドは必ず入力しないといけないのでしょうか?
Paidyのコンビニ払いの決済手数料が税込み350円から356円になるということで、チェックアウトページに表記されている手数料の箇所を修正しようと思ったのですが、ハードコードされており管理画面の決済設定からは変更を行うことができません。
ソースを確認しましたら、
function payment_fields() {
// Description of payment method from settings
?>
<br />
<a href="https://paidy.com/consumer" target="_blank">
<img src="<?php echo WC_PAIDY_PLUGIN_URL;?>assets/images/checkout_banner_320x100.png" alt="Paidy 翌月まとめてお支払い" style="max-height: none; float: none;"></a>
<br />
<p><?php echo $this->description; ?></p>
<br />
<ul>
<li style="list-style: disc !important;">口座振替(支払手数料:無料)</li>
<li style="list-style: disc !important;">コンビニ(支払手数料:350円税込)</li>
<li style="list-style: disc !important;">銀行振込(支払手数料:金融機関により異なります)</li>
</ul>
Paidyについて詳しくは<a href="https://paidy.com/whatspaidy" target="_blank">こちら</a>。
<?php
}
となっており、プラグインソースの直接編集以外に対応が難しくなっています。
また文字の大きさなどCSSで表示体裁を変更しようとしても、
htmlのマークアップが構造化されておらず(タグのないテキストノード,CSSの!importantをつかったスタイリング,改行コードを使ったレイアウト等)
まさにハードコーディングという感じになっています。
取り急ぎの対応として、以下のフィルターフックをつかって強引に対応しています。
add_filter( 'woocommerce_available_payment_gateways', 'change_custom_payment_description' );
function change_custom_payment_description( $available_gateways ) {
if (! is_checkout() ):
return $available_gateways;
endif;
if (array_key_exists('paidy', $available_gateways)):
$available_gateways['paidy'] -> description =
<<<EOF
<div id="paidy-description">
<style type="text/css" media="all">
#payment_method_paidy {
margin-bottom:0;
}
.payment_box.payment_method_paidy {
display:none;
}
#paidy-banner {
display:block;
margin:10px 0;
text-align:center;
}
#paidy-banner img {
max-height:100px;
max-width:85%;
}
#paidy-content {
margin:10px 0;
}
#paidy-methods {
margin:10px 0;
padding:0;
}
#paidy-methods li {
list-style:disc inside;
}
#paidy-methods li span {
font-size:95%;
padding-left:0.2em;
}
</style>
<script>
jQuery(function($) {
$('.payment_box.payment_method_paidy').html($("#paidy-description").html());
$('.payment_box.payment_method_paidy').show();
});
</script>
<a id="paidy-banner" href="https://paidy.com/consumer" target="_blank">
<img src="/PATH/paidy_banner_320x100.png" alt="Paidy 翌月まとめてお支払い">
</a>
<p id="paidy-content">
メールアドレスと携帯電話番号のみで利用できる、ペーパーレス後払い決済のPaidyをご利用いただけます。<br>
月に何回お買い物をしても、お支払いは翌月にまとめて1回。お支払いには、以下方法がご利用いただけます。
</p>
<ul id="paidy-methods">
<li>口座振替<span>(手数料:無料)</span></li>
<li>コンビニ<span>(手数料:税込356円)</span></li>
<li>銀行振込<span>(手数料:銀行毎に異なります)</span></li>
</ul>
<p id="paidy-detail">Paidyについて詳しくは<a href="https://paidy.com/whatspaidy" target="_blank">こちら</a>。</p>
</div>
EOF;
endif;
return $available_gateways;
}
jQueryで非表示化やhtmlの入れ替えを行っており、かなり強引な形となっています。
こちらについて、管理画面から変更可能なdescription以外の箇所はハックなことをせずとも編集可能にしていただくか、フィルターフックを追加していただき外部関数から変更可能にしていただけるなどのご対応をお願いします。
※githubでソースコードを管理いただけるようでしたらプルリクエストをお送りします。
※Paidy社のご担当者様へ以前お伝え済みの内容となります。
WooCommerceのロギング設定を有効にしている場合、WC_LOG_DIRへ
paidy-wc-xxx.logのファイル名でオーソリなどのログが出力されますが、ロギングが行われるたび(Paidyで注文が行われるたび)に、
以下のWarningが発生してしまいます。
PHP Warning: Use of undefined constant JP4WC_FRAMEWORK_VERSION – assumed ‘JP4WC_FRAMEWORK_VERSION’ (this will throw an Error in a future version of PHP) in PATH/wp-content/plugins/paidy-wc/includes/jp4wc-framework/class-jp4wc-framework.php on line 415
エラー箇所を確認すると、未定義のJP4WC_FRAMEWORK_VERSIONという定数が、ロギング時に使われているようです。
取り急ぎ対応として、
/paidy-wc/includes/jp4wc-framework/class-jp4wc-framework.php
397行目-function jp4wc_debug_log
$log_entry = “\n” . ‘====’.$slug.’ Framework Version: ‘ . JP4WC_FRAMEWORK_VERSION . ‘====’ . “\n”;
から(2箇所)未定義定数を除去して
$log_entry = “\n” . ‘====’ . $slug . ‘====’ . “\n”;
に変更して運用しています。
こちらについて、対応?修正をお願いします。
]]>Paidy社のご担当者へも報告しておりますが、合わせてこちらのフォーラムにも記載致します。
バージョン1.0.3にて、チェックアウトページにヨミガナのフィールドがない状態(WooCommerceデフォルト)で
Paidy for WooCommerceが利用できない不具合が解消された旨、Changelogから確認しました。
WooCommerceデフォルトでは存在しないヨミガナのフィールドが必須入力欄になっており、エラーとなり決済が進めない問題かと思います。
1.0.3では、ヨミガナのフィールドの存在有無で条件分岐が行われ、有の場合は必須に、無の場合はPOSTしなくなるというのが、新しい条件分岐の趣旨かと認識しています。
※PaidyのAPIも、ヨミガナは任意フィールドになっていました。
<?php if(get_option(‘wc4jp-yomigana’, true) == 1):?>
が当該の新しい条件分岐になると思いますが、get_optionの第二引数にtrueが指定されているということは、
wc4jp-yomiganaが取得できてもできなくても、trueになってしまい条件分岐が意味を持たず、アップデートの前後で状況に変化が生じていないように思います。
第二引数を指定せず
<?php if(get_option(‘wc4jp-yomigana’)):?>
とするのが正しいと思います。
※実装にさしあたっては、Japanized For WooCommerceの導入/有効化済みをand条件に追加するべきだと思います。Japanized For WooCommerceが稼働しておらずとも、DBにレコードだけ存在しているケースに対する対処です。
アップデート後、実際の動作を一度でもご確認いただければ露見することだと認識しています。
ご対応のほど、よろしくおねがいします。
]]>テスト環境で実装に向けた動作確認をしています。
カートページやチェックアウトページで、ギフト梱包や商品の追加オプションにて任意の手数料を WC()->cart->add_fee メソッドを用いて追加すると、
Paidy決済のチェックアウトボタン押下時に
「現在こちらのショップで
Paidyが利用できません」
の表示と、コンソールログには以下のログが表示されます。
Failed to load resource: the server responded with a status of 400 (Bad Request)
ソースコードを確認しますと、feeへの考慮がなされていないようです。
coupon同様に、feeもサポートされることを希望します。