ই-কমার্স ব্যবসায় Cash on Delivery (COD) এখনো অনেক কাস্টোমারের কাছে সবচেয়ে জনপ্রিয় পেমেন্ট মেথড। কিন্তু এর সাথে জড়িত থাকে বেশ কিছু ঝুঁকি—ফেক অর্ডার, ডেলিভারি রিজেকশন, বা রিটার্ন। এই সমস্যাগুলোর সমাধানে আপনি WooCommerce ওয়েবসাইটে Partial Payment বা Advance Payment সিস্টেম চালু করতে পারেন, যা আপনার ব্যবসাকে করবে আরো রিস্ক-ফ্রি এবং প্রফিটেবল।
✅ কেন Partial Payment বা Advance COD দরকার?
COD অর্ডারে যখন পুরো টাকা ডেলিভারির সময় নেয়া হয়, তখন কাস্টোমার সহজেই অর্ডার ক্যানসেল বা রিজেক্ট করে দিতে পারে। কিন্তু যদি অর্ডারের সময় একটি নির্দিষ্ট পরিমাণ এডভান্স নেয়া হয়, তবে তারা সাধারণত বেশি সচেতন ও সিরিয়াস হয়ে থাকে। এতে:
- ফেক অর্ডার কমে যায়
- ডেলিভারি ব্যয় কমে
- ক্যাশ ফ্লো বেড়ে যায়
- রিটার্ন রেট হ্রাস পায়
🔧 WooCommerce-এ কিভাবে Partial Payment সেটআপ করবেন?
এখানে আমরা ব্যবহার করেছি জনপ্রিয় একটি প্লাগইন:
👉 WooCommerce Deposits – Partial Payments Plugin
এই প্লাগইনের সাহায্যে আপনি সহজেই কাস্টোমারের কাছ থেকে অ্যাডভান্স পেমেন্ট নিতে পারবেন, এমনকি যদি তারা Cash on Delivery নির্বাচন করে তবুও।
🛠️ ধাপে ধাপে সেটআপ গাইড:
- প্লাগইন ইন্সটল করুন:
ড্যাশবোর্ড থেকে “WooCommerce Deposits” প্লাগইনটি ইন্সটল ও অ্যাক্টিভ করুন। - পেমেন্ট সেটিংস কনফিগার করুন:
- Enable deposits by default
- Set fixed or percentage deposit amount
- Allow deposit only for COD
- COD এর জন্য Partial Payment অ্যাক্টিভ করুন:
“Payment Gateway Restrictions” ব্যবহার করে কাস্টোমার COD বেছে নিলেও নির্দিষ্ট অ্যামাউন্ট আগেই নিতে পারেন। - চেকআউট পেইজে ক্লিয়ারলি দেখান:
কাস্টোমার যেন বুঝতে পারে কত টাকা অগ্রিম দিতে হবে আর কত টাকা ডেলিভারির সময় বাকি থাকবে।
💡 বাস্তব উদাহরণ:
ধরুন, আপনার পণ্যের দাম ১০০০ টাকা। আপনি চাইছেন, COD অর্ডারের ক্ষেত্রে কাস্টোমার যেন ২০০ টাকা অগ্রিম দেয়। WooCommerce Deposits প্লাগইনের মাধ্যমে আপনি খুব সহজেই এই সেটআপ করে ফেলতে পারেন।
🚀 এই ফিচারের সুবিধা:
- Risk-Free Cash on Delivery System
- ঝামেলামুক্ত Checkout Experience
- Customer Commitment বাড়ায়
- Business Profitability বাড়ায়
🎯 এই ব্লগ থেকে আপনি শিখলেন:
- কিভাবে WooCommerce-এ Partial Payment Enable করবেন
- COD Order-এ Advance Payment নেওয়ার পদ্ধতি
- WooCommerce Deposits Plugin এর ব্যবহার
// 1. "Add to Cart" টেক্সট বদলানো "অর্ডার করুন"
add_filter('woocommerce_product_add_to_cart_text', 'custom_order_button_text');
add_filter('woocommerce_product_single_add_to_cart_text', 'custom_order_button_text');
function custom_order_button_text() {
return __('অর্ডার করুন', 'woocommerce');
}
// 2. Variable প্রোডাক্ট হলে ডিরেক্ট Checkout এ না নিয়ে প্রোডাক্ট পেজে
add_filter('woocommerce_product_add_to_cart_url', 'custom_add_to_cart_redirect_url', 10, 2);
function custom_add_to_cart_redirect_url($url, $product) {
if ($product->is_type('simple')) {
return wc_get_checkout_url();
}
return get_permalink($product->get_id());
}
// 3. "Add to Cart" বাটনে ক্লিক করলে Checkout পেজে যাবে
add_filter('woocommerce_add_to_cart_redirect', 'custom_redirect_to_checkout');
function custom_redirect_to_checkout($url) {
return wc_get_checkout_url();
}
// 4. Cart icon/menu Hide (CSS দিয়ে)
add_action('wp_head', function() {
echo '<style>
.woocommerce-cart, .menu-cart, .header-cart, .site-header-cart { display: none !important; }
</style>';
});
// 5. কাস্টম Checkout Logic: শুধু Shipping Charge নেয়া, বাকি COD
add_action('woocommerce_cart_calculate_fees', 'only_charge_shipping_fee', 20, 1);
function only_charge_shipping_fee($cart) {
if (is_admin() && !defined('DOING_AJAX')) return;
// Shipping cost বের করা
$shipping_total = 0;
foreach ($cart->get_shipping_packages() as $package) {
foreach (WC()->shipping->calculate_shipping_for_package($package)['rates'] as $rate) {
$shipping_total += $rate->cost;
}
}
// Product total বের করে সেটাকে মাইনাস ফি হিসেবে দেখানো (COD payable)
$product_total = $cart->get_subtotal();
if ($product_total > 0) {
$cart->add_fee(__('পণ্য ডেলিভারির সময় পরিশোধযোগ্য'), -$product_total, false);
}
}
// 6. Order meta তে paid amount & due amount সেভ
add_action('woocommerce_checkout_update_order_meta', 'save_partial_payment_meta');
function save_partial_payment_meta($order_id) {
$order = wc_get_order($order_id);
$total = $order->get_total();
$paid = $order->get_total() - abs($order->get_total_discount());
$product_total = 0;
foreach ($order->get_items() as $item) {
$product_total += $item->get_total();
}
$due = $product_total;
update_post_meta($order_id, '_paid_shipping', wc_price($paid));
update_post_meta($order_id, '_due_on_delivery', wc_price($due));
}
// 7. Admin Panel এ Order details এ দেখাবে
add_action('woocommerce_admin_order_data_after_order_details', 'show_partial_payment_info');
function show_partial_payment_info($order){
$order_id = $order->get_id();
$paid = get_post_meta($order_id, '_paid_shipping', true);
$due = get_post_meta($order_id, '_due_on_delivery', true);
echo '<p><strong>Paid Shipping:</strong> ' . $paid . '</p>';
echo '<p><strong>Due on Delivery:</strong> ' . $due . '</p>';
}

