Magento2: কাস্টম পেমেন্ট পদ্ধতি ক্ষেত্র যুক্ত করার সর্বোত্তম উপায় কী?


13

আমি কাস্টম পেমেন্ট পদ্ধতি ক্ষেত্রটি ( ম্যাজেন্টো / অফলাইন-পেমেন্ট-পদ্ধতিগুলি থেকে "po_number" এর মত) সাথে ম্যাজেন্টো 2 এ একটি নতুন অর্থপ্রদানের পদ্ধতি সেট আপ করেছি । এবং সামনের প্রান্তটি পুরোপুরি সূক্ষ্মভাবে কাজ করছে (ফিল্ড প্রদর্শিত হচ্ছে, বৈধকরণ ইত্যাদি)।

তবে, আমি যদি অর্ডারটি রাখতে চাই তবে ওয়েবএপিআইয়ের অনুরোধটি নিম্নলিখিত ত্রুটিটি ছুঁড়েছে:

"সম্পত্তি \" কাস্টমফিল্ড \ "শ্রেণিতে set" ম্যাজেন্টো \ উদ্ধৃতি \ এপি \ ডেটা \ পেমেন্টইন্টারফেস। "তে সম্পর্কিত সেটার নেই।

দেখে মনে হচ্ছে যে ম্যাজেন্টো মূল পেমেন্ট ইন্টারফেসের বিপরীতে কাস্টম ফিল্ডকে বৈধতা দেয় যেখানে 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();
}

তবে এটি কাজ করে না। ম্যাজেন্টো এখনও মূল প্রদানের ইন্টারফেসের বিরুদ্ধে বৈধতা দেয়।

এখন প্রশ্নটি হল, কাস্টম পেমেন্ট পদ্ধতির ক্ষেত্রটি গ্রহণ করার জন্য ম্যাজেন্টো কীভাবে পাবেন? কোন পয়েন্টার অনেক প্রশংসা করা হয় :)


আমি আগ্রহী, আমি একই পদ্ধতির (এক্সটেনশন_অ্যাট্রিবিউটস) ব্যবহার করেছিলাম তবে কোনও সাফল্য পাইনি, তারপরে আমি ধারণাটি ফেলে দিয়েছি এবং কাস্টম ক্ষেত্রটি ব্যবহার না করে সেট / getAdditionalInفارمেশন ('কাস্টম_ফিল্ড') ব্যবহার করেছি।
কারকো

উত্তর:


3

ম্যাজেন্টো 2 এখানে খুব ভাল-স্থাপত্যযুক্ত নয়। আমি কি করেনি আমি তাদের গৃহীত হয় extension_attributesএর additional_data, তারপর যে তথ্য নিয়োগ assignData()পদ্ধতি, তাই এটি চলতে থাকে পায়। পরে আমি capture()পদ্ধতিতে এই জাতীয় তথ্য পুনরুদ্ধার করি এবং এটি ব্যবহার করি। আপনি এখানে একবার দেখতে পারেন: ওপেনপেই পেমেন্টমেথড

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.