WooCommerce: Vô hiệu hóa cổng thanh toán cho từng quốc gia
17 Th11, 2021 admin
Nếu website của bạn phục vụ nhiều khách hàng đến từ các quốc gia, vùng lãnh thổ khác nhau trên thế giới, đôi khi bạn sẽ muốn kích hoạt hoặc loại bỏ một số cổng thanh toán cho từng quốc gia đó. Và đó cũng là yêu cầu khá phổ biến với những website đa quốc gia hiện nay.
Dưới đây, mình sẽ hướng dẫn bạn cách làm việc đó thông qua các tính năng có sẵn trong WooCommerce. Việc của bạn chỉ cần chọn cổng thanh toán mà bạn muốn kích hoạt hoặc loại bỏ (Paypal, Authorize, Stripe, VTCPay, Bảo Kim, Ngân lượng…), và chọn mã quốc gia (US, ES, IE, VN…); sau đó đưa các thông tin trên vào câu lệnh điều kiện bên dưới
add_filter( 'woocommerce_available_payment_gateways', 'dieuhau_payment_gateway_disable_country' ); function dieuhau_payment_gateway_disable_country( $available_gateways ) { global $woocommerce; // Bỏ qua nếu người đang nhập là admin if ( is_admin() ) return; //Ẩn cổng thanh toán Authorize nếu khách hàng KHÔNG đến từ Mỹ if ( isset( $available_gateways['authorize'] ) && $woocommerce->customer->get_billing_country() 'US' ) { unset( $available_gateways['authorize'] ); } //Bỏ cổng thanh toán Paypal nếu khách hàng đến từ Mỹ else if ( isset( $available_gateways['paypal'] ) && $woocommerce->customer->get_billing_country() == 'US' ) { unset( $available_gateways['paypal'] ); } return $available_gateways; }
Ở đoạn code trên, bạn chỉ cần thay thế ID của cổng thanh toán mà bạn muốn áp dụng vào đoạn [‘authorize’] hoặc [‘paypal’] (chỉ trong chữ trong dấu ngoặc đơn ) và mã quốc gia ở chỗ ‘US’. Như vậy đã xong rồi, hay lưu lại và kiểm tra xem được chưa nhé
Thêm đoạn code trên vào đâu?
Đoạn code trên vẫn còn hoạt động?
Xin hãy để lại bình luận bên dưới nếu đoạn code trên hoạt động như mong đợi với bạn. Mình luôn sẵn sàng cập nhật, chỉnh sửa nếu đoạn code không làm việc với các phiên bản mới của WordPress và WooCommerce.