আমি কাস্টম পেমেন্ট পদ্ধতি ক্ষেত্রটি ( ম্যাজেন্টো / অফলাইন-পেমেন্ট-পদ্ধতিগুলি থেকে "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();
}
তবে এটি কাজ করে না। ম্যাজেন্টো এখনও মূল প্রদানের ইন্টারফেসের বিরুদ্ধে বৈধতা দেয়।
এখন প্রশ্নটি হল, কাস্টম পেমেন্ট পদ্ধতির ক্ষেত্রটি গ্রহণ করার জন্য ম্যাজেন্টো কীভাবে পাবেন? কোন পয়েন্টার অনেক প্রশংসা করা হয় :)