Magento2: कस्टम भुगतान विधि फ़ील्ड को जोड़ने का सबसे अच्छा तरीका क्या है?


13

मैंने Magento 2 में एक नई भुगतान विधि कस्टम भुगतान विधि फ़ील्ड (जैसे "po_number" से Magento / ऑफ़लाइन-भुगतान-विधियों ) में सेट की है। और फ्रंट एंड पूरी तरह से ठीक काम कर रहा है (क्षेत्र दिखा रहा है, सत्यापन, आदि)।

हालाँकि, यदि मैं मैगेंटो को ऑर्डर करना चाहता हूं, तो WebAPI अनुरोध निम्न त्रुटि फेंकता है:

"संपत्ति \" CustomField \ "के पास वर्ग \" Magento \ Quote \ Api \ Data \ PaymentInterface \ "में संगत सेटर नहीं है।

ऐसा लगता है कि Magento कोर भुगतान इंटरफ़ेस के खिलाफ कस्टम फ़ील्ड को मान्य करता है जहाँ getPoNumber और setPoNumber जैसी विधियाँ परिभाषित हैं।

मैंने पहले से ही एक्सटेंशन विशेषताओं के माध्यम से कस्टम फ़ील्ड जोड़ने की कोशिश की:

<extension_attributes for="Magento\Quote\Api\Data\PaymentInterface">
    <attribute code="custom_field" type="Vendor\Module\Api\Data\MethodInterface[]" />
</extension_attributes>

और विशिष्ट तरीकों के साथ इंटरफेस बनाया:

<?php
namespace Vendor\Module\Api\Data;
use Magento\Framework\Api\ExtensibleDataInterface;
interface MethodInterface extends ExtensibleDataInterface
{
    public function setCustomField($customField);
    public function getCustomField();
}

लेकिन यह काम नहीं करता है। Magento अभी भी कोर भुगतान इंटरफेस के खिलाफ मान्य है।

अब सवाल यह है कि कस्टम भुगतान विधि क्षेत्र को स्वीकार करने के लिए मैगेंटो कैसे प्राप्त करें? किसी भी संकेत बहुत सराहना की है :)


मुझे भी दिलचस्पी है, मैंने एक ही दृष्टिकोण (extension_attributes) का उपयोग किया, लेकिन कोई सफलता नहीं मिली, फिर मैंने विचार छोड़ दिया और मैंने कस्टम फ़ील्ड का उपयोग करने के बजाय सेट / getAdditionalInformation ('custom_field') का उपयोग किया।
कारको

जवाबों:


3

Magento2 यहाँ अच्छी तरह से वास्तुकला नहीं है। क्या मैंने किया था मैं उन्हें पारित किया है extension_attributesकी additional_data, तो उस जानकारी सौंपा assignData()विधि तो यह कायम हो जाता है। बाद में मैं इस तरह की जानकारी को capture()विधि में प्राप्त करता हूं और इसका उपयोग करता हूं । आप यहाँ देख सकते हैं: ओपनपे पेमेथोड

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.