Magento2 রেস্ট এপিআই অর্ডার প্রবাহ


13

অর্ডার প্লেসমেন্টের জন্য আমি মাগেন্তোর ওয়েবসাইটে রিস্ট এপিআই কল করছি। নীচে আমার কলগুলির ক্রম রয়েছে।

  1. একটি কার্ট তৈরি করুন rest/V1/guest-carts/
  2. কার্টটি পান rest/V1/guest-carts/bae0af147b83f1561f66cc4e3c97916e
  3. কার্টে পণ্য যুক্ত করুন rest/V1/guest-carts/24/items
  4. বিলিংয়ের তথ্য যুক্ত করুন, পেমেন্ট পদ্ধতি সেট করুন এবং অর্ডার দিন rest/V1/guest-carts/24/payment-information

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

পেমেন্টগুলি ক্যাপচার করার জন্য উপরের প্রবাহে কি কোনও এপিআই অনুপস্থিত রয়েছে?

উত্তর:


12

আমি Magento2 সিই 2.2.0-dev ব্যবহার করে নিম্নলিখিতগুলির জন্য একটি নতুন ইনস্টলেশন ব্যবহার করেছি এবং ডিফল্ট "লুমা" থিমটিও রেখেছি।

যেমন বাহ্যিক পেমেন্ট পদ্ধতি (গেটওয়ে) বিষয়ে MiGs , ব্রেংট্রী , পেপ্যাল , এবং অন্যদের, Magento বাক্সের বাইরে এই গেটওয়ে সমর্থন কিন্তু আপনি অন্যান্য "চেকআউট" API গুলি সহ ব্যবহার করতে পারেন তাদের কোন API গুলি প্রদান করে।

সুতরাং, আপনি যদি ম্যাজেন্টোর এপিআইগুলি ব্যবহার করে একটি চেকআউট অ্যাপ / পৃষ্ঠা তৈরির পরিকল্পনা করছেন, আপনাকে তাদের এসডিকে / এপিআই ব্যবহার করে ম্যানুয়ালি এই পরিষেবাদির সাথে সংহত করতে হবে, ভাগ্যক্রমে, আপনি কীভাবে ম্যাজেন্টো বিল্টে এই পরিষেবাগুলির সাথে সংহত করে তা পরীক্ষা করে অনেক কিছু শিখতে পারবেন ইন্টিগ্রেশন।

এটি বুঝতে, আমাকে ব্রিন্ট্রি কনফিগার করতে হয়েছিল কারণ এটি সবচেয়ে সহজ:

  1. Https://www.braintreepayments.com/sandbox এ স্যান্ডবক্স অ্যাকাউন্ট তৈরি করুন
  2. Magento প্রশাসনিক অঞ্চল অ্যাক্সেস করুন।
  3. স্টোরস> কনফিগারেশন> বিক্রয়> অর্থ প্রদানের পদ্ধতি> ব্রিন্ট্রি> কনফিগার করুন।
  4. "পরিবেশ" "" স্যান্ডবক্স "রয়েছে তা নিশ্চিত করুন এবং" মার্চেন্ট আইডি "," পাবলিক কী "এবং" ব্যক্তিগত কী "লিখুন।
  5. সংরক্ষণ করুন কনফিগারেশন।
  6. আপনার পুনরায় ইনডেক্স এবং / অথবা ক্যাশে রিফ্রেশ করতে হতে পারে।

কার্টে একটি পণ্য যুক্ত করার পরে এবং চেকআউটে এগিয়ে যাওয়ার পরে, শেষ ধাপে, ব্রায়েন্ট্রি অর্থ প্রদানের পদ্ধতিটি চয়ন করুন, তারপরে "প্লেস অর্ডার" বোতামটি ক্লিক করার পরে, আপনি নীচের এজেএক্স অনুরোধগুলি লক্ষ্য করবেন:

  1. কার্ডটি বৈধকরণ, লেনদেন সম্পাদন এবং লেনদেনের স্থিতির সাথে প্রতিক্রিয়া জানাতে ব্র্যান্ট্রি এপিআই-এর 2 টি অনুরোধ।
  2. guest-carts/cartId/payment-informationম্যাজেন্টোর এপিআই ডকুমেন্টেশনে যেমন ব্যাখ্যা করা হয়েছে তেমন সাধারণ বডি সহ ম্যাজেন্টোর এপিআই-তে একটি অনুরোধ ।

এরপরে প্রক্রিয়াটি সাফল্যের পৃষ্ঠায় পুনর্নির্দেশের সাথে প্রত্যাশার মতো অব্যাহত থাকে যখন শেষ অনুরোধটি অর্ডার সম্বলিত জেএসএনে সাড়া দেয় entity_id

এখানে চিত্র বর্ণনা লিখুন

এটি নিশ্চিত করে যে বাহ্যিক পরিষেবাগুলিতে কল করে - আমাদের উদাহরণস্বরূপ ব্র্যান্ড্রি- অভ্যন্তরীণভাবে ম্যাজেন্টো দ্বারা নয় চেকআউট পৃষ্ঠা দ্বারা সঞ্চালিত হয়, তাই আমাদের যদি আমাদের নিজস্ব চেকআউট পৃষ্ঠা / অ্যাপ্লিকেশন বিকাশ করতে হয় তবে আমাদের একই কাজ করতে হবে।

অর্ডার স্থিতি নিয়ন্ত্রণ করার ক্ষেত্রে, আমি গভীরভাবে খনন করেছি এবং জানতে পেরেছি যে মিগএস, ব্র্যান্ট্রি বা পেপালের মতো অর্থপ্রদানের পদ্ধতিগুলি ব্যবহারের ফলে processingস্বাভাবিকের পরিবর্তে স্ট্যাটাস সহ একটি অর্ডার এসেছে pending, আমার সন্দেহ হয়েছিল যে এটি হয় পেমেন্ট-পদ্ধতি কনফিগারেশন বা পর্যবেক্ষক is , তবে এটি একটি কনফিগারেশন হিসাবে উপস্থিত হয়েছিল, এখানে আরও বিশদ রয়েছে।

শ্রেণি: ম্যাজেন্টো \ বিক্রয় \ মডেল \ আদেশ \ অর্থ প্রদান

পদ্ধতি: স্থান ()

একটি শর্তাধীন যে চেক আছে যদি Initializationপদ্ধতির জন্য প্রয়োজন বোধ করা হয় if ($methodInstance->isInitializeNeeded())সেই বিষয়টিই কিনা তা, একটি পদ্ধতি, initialize()মৃত্যুদন্ড কার্যকর হয় আপনি সংজ্ঞায়িত, এবং আপনি উভয় নির্দিষ্ট করার অনুমতি দেয় stateএবং status।


আপনি কি পেমেন্ট-তথ্য এপিআই-এর জন্য পেলোড ভাগ করতে পারেন
— ব্ল্যাকক্যাপস

1
{ "cartId": "a98697cba964d6ba0d3b64d78a31df33", "billingAddress": { "countryId": "যেমন", "regionId": নাল, "অঞ্চল": "", "রাস্তায়": [ "রাস্তায়", ""], "কোম্পানী ":" আমার সংস্থা "," টেলিফোন ":" 12346987 "," পোস্টকোড ":" 12345 "," শহর ":" শহর "," প্রথম নাম ":" চ নাম "," পদবি ":" এল নাম "," saveInAddressBook ": নাল}," paymentMethod ": {" পদ্ধতি ":" Braintree "," additional_data ": {" payment_method_nonce ":" ef27df81-7c29-4a74-9049-15de33f1f49f "}}," ইমেল ":" ইমেল @ উদাহরণ .কম "}
— মাহমুদ টান্তোয়া

পেডলোডের জন্য ধন্যবাদ আমি ভাবছি, কীভাবে "পেমেন্ট_মোথড_নিউস" জেনারেট করা যায়?
— ব্লাকক্যাপস

সত্যিই জানেন না তবে আমি মনে করি যে অনুরোধগুলি বার বার পর্যবেক্ষণ করে যে ননস সহজেই আবিষ্কার করা যেতে পারে, যদি এটি সত্যিই কোনও বাজে হিসাবে কাজ করে।
— মাহমুদ তানতাভি

1
ব্র্যান্ড্রিটি REST এপিআইয়ের মাধ্যমে সংহত করা সহজ বলে মনে হচ্ছে। তবে কীভাবে বাহ্যিক পুনঃনির্দেশ পেমেন্ট গেটওয়ে যেমন পাপাল বা ইনজেনিকো একীভূত করবেন?
— ফ্রাঙ্ক গার্নিয়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.