WooCommerce ショップ (ローカルで運営) を持っていますが、支払いゲートウェイを削除したいと考えています。顧客は 1 セントも支払うことなく注文できるはずです。手動で請求書を送信します。
これを無効にする場所を実際に見つけることができません。WooCommerce の標準ではないようです。
バックエンドですべての支払いゲートウェイを無効にしようとしましたが、1 つの支払いゲートウェイを有効にしておく必要があります。
前もって感謝します!
WooCommerce ショップ (ローカルで運営) を持っていますが、支払いゲートウェイを削除したいと考えています。顧客は 1 セントも支払うことなく注文できるはずです。手動で請求書を送信します。
これを無効にする場所を実際に見つけることができません。WooCommerce の標準ではないようです。
バックエンドですべての支払いゲートウェイを無効にしようとしましたが、1 つの支払いゲートウェイを有効にしておく必要があります。
前もって感謝します!
テーマの functions.php に次の行を追加するだけです。
add_filter('woocommerce_cart_needs_payment', '__return_false');
この質問に対する他の回答が対処していないことは、顧客が最終的に請求書を支払う方法が必要であるという事実です。代金引換 (ニーズに合わせて名前を変更) を使用すると、ユーザーがチェックアウト時に実際に支払う必要がなくなりますが、問題は、代金引換が唯一の支払い方法である場合、請求書。
ほとんどの場合、カートのチェックアウト時に代金引換のみが必要になり、請求書の支払い方法には別の支払い方法 (Stripe など) が必要になると思います。
後払い設定を作成するための完全なワークフローは次のとおりです。
order-pay
次のフィルターを使用して、エンドポイント (請求書の支払いに使用されるページ)にいるかどうかに基づいて、ゲートウェイをオンまたはオフにします。
/**
* Only show Cash on Delivery for checkout, and only Stripe for order-pay
*
* @param array $available_gateways an array of the enabled gateways
* @return array the processed array of enabled gateways
*/
function so1809762_set_gateways_by_context($available_gateways) {
global $woocommerce;
$endpoint = $woocommerce->query->get_current_endpoint();
if ($endpoint == 'order-pay') {
unset($available_gateways['cod']);
} else {
unset($available_gateways['stripe']);
}
return $available_gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'so1809762_set_gateways_by_context');
もちろん、ページにストライプ以外のゲートウェイを使用している場合は、適切な配列キーにorder-pay
更新する必要があります。unset($available_gateways['stripe']);
その後、あなたは行く準備ができているはずです!請求書の支払いページを表示しているかどうかに基づいて、サイトに異なるゲートウェイが表示されるようになりました。
他のオプションは、後で請求されることをクライアントに説明できる BACS 支払い方法を使用することです。
BACS の使用時に送信される電子メールに情報を追加することもできます。