সম্পূর্ণ পেপাল ওয়েবসাইট পেমেন্টস স্ট্যান্ডার্ড পেমেন্টের জন্য কাস্টম অর্ডার স্থিতি সেট করুন?


9

আমরা ব্যবহার করছেন Magento ই ই 1.13.0.2 সঙ্গে পেপ্যাল ওয়েবসাইট পেমেন্টস্ স্ট্যান্ডার্ড পেমেন্ট পদ্ধতি। দুর্ভাগ্যক্রমে ব্যাক-এন্ডে পেপ্যাল ​​অর্ডারের অর্ডারের স্থিতি নির্ধারণ করা সম্ভব নয়।

অর্ডারটি সফলভাবে প্রদান করা হলে (এবং আংশিক নয়) আমাদের একটি কাস্টম অর্ডার স্থিতি স্থাপন করতে হবে। পেপাল অর্ডার স্থিতিটি সংশোধন করার টিউটোরিয়ালগুলি পুরানো, ভুল বা কুরুচিপূর্ণ হ্যাকস বলে মনে হচ্ছে।

আমি যা জড়ো করেছি তা থেকে:

  • পেমেন্ট আপডেটগুলি পেপাল আইপিএন দ্বারা পরিচালিত হবে।
  • Mage_Paypal_Model_Ipn::_registerPaymentCapture()"সম্পূর্ণ অর্থ প্রদান প্রক্রিয়া (সম্পূর্ণ বা আংশিক)" এর জন্য দায়ী একটি পদ্ধতি রয়েছে is
  • ইন Mage_Paypal_Model_Ipn::_registerTransaction()পেপ্যাল থেকে অনুরোধ পর্যালোচনা করা হয় এবং পেমেন্ট অবস্থা সাথে তুলনা করা হয় Mage_Paypal_Model_Info::PAYMENTSTATUS_COMPLETED।

সত্যি কথা বলতে আমি এই তথ্যটি দিয়ে কী করব তা নিশ্চিত নই। আমি আবার লিখতে Mage_Paypal_Model_Ipn::_registerTransaction()এবং কেবল আমার কোড যুক্ত করতে পারি:

// paid
case Mage_Paypal_Model_Info::PAYMENTSTATUS_COMPLETED:
    $this->_registerPaymentCapture(true);
    // my code here
    break;

অবশ্যই কোনও ইভেন্ট পর্যবেক্ষক (উদাহরণস্বরূপ অর্ডার বা আদেশের কোনও এক ইভেন্টের জন্য) অনেক ভাল লাগবে তবে আমি নিশ্চিত নই যে পেপালের মাধ্যমে অর্ডারটি পুরোপুরি পেলে সেই এককালীন ইভেন্টটি ধরার 100% নির্ভরযোগ্য উপায় আছে কিনা? ।

কোন ধারনা?

হালনাগাদ

আমরা আমাদের অর্ডার স্থিতি প্রবাহকে সংশোধন করার জন্য বেছে নিয়েছি এবং স্ট্যাটাসটি আর সংশোধন করার দরকার নেই। কেউ যদি এর উত্তর দিতে চায় তবে আমি কিছু সময়ের জন্য প্রশ্নটি খোলা রেখে দেব।

উত্তর:


2

বড় সমস্যাটি হ'ল, পুরো পেপ্যাল ​​কাজের প্রবাহে একটিও ইভেন্ট নেই।

সুতরাং দুটি বিকল্প আছে:

এই পেপাল মডেলগুলির যে কোনও একটিকে আবারও লিখুন

যেমনটি আপনি বলেছিলেন, কেবলমাত্র মডেলটি আবার লিখুন, আচরণটি পরিবর্তন করুন এবং প্রত্যাশার মতো সবকিছুই কাজ করে - আশা করি বা ...

ভিতরে intoোকা sales_order_save_before

তারপরে আপনি অর্থপ্রদানের ধরণটি যাচাই করে নিন \Mage_Paypal_Model_Standard::$_code:

protected $_code  = Mage_Paypal_Model_Config::METHOD_WPS;

\Mage_Paypal_Model_Config
-> const METHOD_WPS         = 'paypal_standard';

এবং তারপরে, যখন আপনি চান না সেই স্থিতিটি পরিবর্তিত হয়, আপনি যা চান তা এটিকে পরিবর্তন করুন।


ধন্যবাদ ফ্যাবিয়ান, আমি অনুমান করি আমরা ম্যাজেন্টো 1.x-তে আরও ভাল সমাধান পাব না। :-)
— ম্যাথিয়াস জেইস

0

আমি আরেকটি সমাধান দিয়ে শেষ করেছি। কয়েক ঘন্টা এই সমস্যাটির সাথে লড়াই করার পরে, আমি বুঝতে পেরেছিলাম যে আমার বিশেষ ক্ষেত্রে কেবলমাত্র পেপাল অর্ডারগুলি একটি নির্দিষ্ট স্ট্যাটাস পেয়েছে কিনা তা বিবেচ্য নয় (এটি কোনও ইআরপি সংযোগের জন্য, যা একটি নির্দিষ্ট স্থিতিতে আদেশ অনুসন্ধান করে)।

পেপাল আদেশের স্থিতি সেট করে না। এটি কেবল অর্থ প্রদান করে ures ম্যাজেন্টো আদেশের স্থিতি প্রসেসিংয়েMage_Sales_Model_Order_Payment::registerCaptureNotification() সেট করে (দেখুন ) এবং সেই স্থিতির মধ্যে সেই রাজ্যের মধ্যে ডিফল্ট স্থিতিতে সেট করে।

সকল আমি পরিবর্তন হয়েছিল কি ছিল ডিফল্ট অবস্থা রাষ্ট্র মধ্যে প্রসেসিং অবস্থা আমি অ্যাডমিন ইন্টারফেস (মাধ্যমে প্রয়োজনীয় করার সিস্টেম » অর্ডার Statuses )।

আশা করি এটি কাউকে সাহায্য করবে!

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