विभिन्न उत्पाद प्रकारों के लिए अलग-अलग भुगतान विधियां


11

क्या विभिन्न उत्पाद प्रकारों के लिए अलग-अलग भुगतान विधियां उपलब्ध हैं?

यह मेरा परिदृश्य है और मैंने अब तक क्या सोचा है:

बस यात्रा पास बेचने के लिए मेरे ड्रुपल कॉमर्स साइट पर दो उत्पाद प्रकार हैं। एक प्रकार बस पास बुक करने के लिए है जहाँ आप अपने बस टिकट के लिए दिनांक और समय (कस्टम लाइन आइटम) का चयन करते हैं। दूसरा प्रकार वास्तविक भुगतानों के लिए है, जहां आप एक buss पास चुन सकते हैं, अतिरिक्त पर्यटन जोड़ सकते हैं (कस्टम लाइन आइटम भी) और फिर पेपैल के साथ भुगतान करें।

मैं बुकिंग भुगतान प्रकार के लिए उदाहरण भुगतान मॉड्यूल का एक अनुकूलित संस्करण का उपयोग कर रहा हूं, और वास्तविक भुगतानों के लिए ड्रुपल कॉमर्स पेपैल मॉड्यूल का उपयोग कर रहा हूं।

मुझे एक उत्पाद प्रकार के लिए कस्टम बुकिंग भुगतान विधि और अन्य उत्पाद प्रकार के लिए पेपैल भुगतान विधि उपलब्ध है।

मैंने उत्पाद प्रकार के लिए एक शर्त जोड़ने की कोशिश की है और ऐसा करने में सक्षम नहीं है। हम किसी विशेष उत्पाद के लिए एक शर्त जोड़ सकते हैं, लेकिन उत्पाद प्रकार के लिए नहीं। यह आदर्श होगा: https://skitch.com/ipwa/eywxa/add-a-new-condition-chasquibus

मैंने अब तक जो भी किया है वह प्रत्येक भुगतान उत्पाद प्रकार के लिए पेपैल नियम को क्लोन करना है, और उस उत्पाद को SKU के रूप में चुना है। यह आदर्श नहीं है, क्योंकि यदि किसी उपयोगकर्ता के पास एक से अधिक भुगतान उत्पाद हैं, तो हमें ऑर्डर पर प्रत्येक अतिरिक्त भुगतान उत्पाद के लिए एक डुप्लिकेट पेपैल भुगतान विधि उपलब्ध है। मुझे लगता है कि यह समझ में आता है क्योंकि हमारे पास प्रत्येक के लिए भुगतान विधि नियम है।

मेरा समाधान भुगतान विधि नियम पर उत्पाद प्रकार के लिए एक शर्त रखने में सक्षम होगा, या 'ऑर्डर में किसी विशेष उत्पाद की स्थिति' वाले चार भुगतान उत्पादों SKU को शामिल करने में सक्षम होगा।

जवाबों:


10

उत्पाद उत्पाद की typeएक संपत्ति है commerce_product, इसलिए आप इसका परीक्षण करने के लिए अंतर्निहित "डेटा तुलना" स्थिति का उपयोग कर सकते हैं।

बस "डेटा तुलना" प्रकार की एक नई शर्त जोड़ें, और डेटा चयनकर्ता को इस तरह देखें:

स्क्रीनशॉट 1

जब आप जारी रखेंगे तो आपको इस तरह की स्क्रीन मिलेगी:

स्क्रीनशॉट 2

जैसा कि आप देख सकते हैं कि आपको चुनने के लिए उत्पाद प्रकारों की एक अच्छी ड्रॉप डाउन सूची मिल सकती है। मैंने अभी परीक्षण किया है और यह एक उपचार का काम करता है।

यदि वह किसी भी कारण से काम नहीं कर रहा है, तो कस्टम मॉड्यूल में अपने स्वयं के नियमों को लागू करना बहुत आसान है:

function MYMODULE_rules_condition_info() {
  return array(
    'commerce_product_is_type' => array(
      'label' => t('Product is a certain type'), 
      'parameter' => array(
        'product' => array(
          'label' => t('Product'),
          'type' => 'commerce_product',
        ),
        'type' => array(
          'label' => t('Product Type (Machine Name)'),
          'type' => 'text'
        )
      ), 
      'group' => t('Commerce Product'),
      'callbacks' => array(
        'execute' => 'MYMODULE_commerce_product_is_type',
      )
    ),
  );
}


function MYMODULE_commerce_product_is_type($product, $type) {
  return $product->type == $type;
}

वाह, धन्यवाद, यह अभी के लिए जाने का रास्ता लगता है। यद्यपि उत्तर वास्तव में प्रश्न का उत्तर नहीं देता है (मुझे उत्पाद प्रकार नियम शर्त प्रदान करने के लिए कॉमर्स के लिए एक समस्या दर्ज करने की आवश्यकता हो सकती है), यह मेरी समस्या को हल करता है। मैं अधिक लोगों को जवाब देने के लिए इनाम को खुला छोड़ दूंगा, लेकिन ऐसा लगता है कि जैसे आपको इनाम मिलेगा। स्क्रीनशॉट btw के लिए धन्यवाद, बहुत मदद करता है।
ipwa

@ipwa वे मोड़ बाहर यह बहुत मुश्किल नहीं था, मैं इस सवाल का जवाब नवीनीकृत किया है
क्लाइव

काश, आपने अपना पिछला उत्तर नहीं हटाया होता और इसे एक और उत्तर के रूप में जोड़ा जाता। जब मैं वाणिज्य-उत्पाद का उपयोग करने का प्रयास करता हूं: डेटा तुलना स्थिति के लिए डेटा चयनकर्ता के रूप में टाइप करें तो मुझे यह त्रुटि मिलती है: "डेटा चयनकर्ता वाणिज्य-उत्पाद: पैरामीटर डेटा के लिए प्रकार अमान्य है।"
ipwa

@ विपवा आपका क्या मतलब है? कोड वाला या बहुत पहला वाला? मैं इस मामले में जवाब में कोड वापस रख दिया है आप का मतलब है कि एक
क्लाइव

मेरा मतलब आपके उत्पाद SKUS को OR के साथ उपयोग करने के बारे में है, जिससे मुझे बहुत समझने में मदद मिली और इसका उपयोग कैसे किया जाए। वर्तमान में इसका उपयोग करते हुए, अपनी स्वयं की स्थिति को लागू करने के लिए कस्टम मॉड्यूल की कोशिश करेंगे। धन्यवाद ने आपके उत्तरों के साथ नियमों के बारे में बहुत कुछ सीखा।
ipwa
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.