Magento2 बाकी एपीआई ऑर्डर फ्लो


13

मैं ऑर्डर प्लेसमेंट के लिए Magento वेबसाइट पर REST API कॉल कर रहा हूं। नीचे मेरी कॉल का क्रम है।

  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

इस क्रम में ऑर्डर ऑर्डर "लंबित" के साथ रखा जा रहा है। अगर कोई भुगतान गेटवे (Ex। PayPal) भुगतान को संसाधित करने और इनवॉइस जनरेट करने के लिए शामिल है, तो मैं सोच रहा हूं कि एपीआई के माध्यम से भुगतान कैसे पकड़ा जाता है।

क्या पेमेंट कैप्चर करने के लिए उपरोक्त प्रवाह में कोई एप्टी गायब है।

जवाबों:


12

मैंने Magento2 CE 2.2.0-dev का उपयोग करते हुए निम्नलिखित के लिए एक ताज़ा स्थापना का उपयोग किया है, और डिफ़ॉल्ट "लूमा" थीम को भी छोड़ दिया है।

बाह्य भुगतान विधियों (गेटवे) जैसे कि MiGS , Braintree , PayPal और अन्य के बारे में, Magento इन गेटवे को बॉक्स से बाहर का समर्थन करता है, लेकिन उनके लिए NO APIs प्रदान करता है जिनका आप अन्य "Checkout" API के साथ उपयोग कर सकते हैं।

इसलिए, यदि आप Magento के API का उपयोग करके एक चेकआउट ऐप / पेज बनाने की योजना बना रहे हैं, तो आपको अपने एसडीके / एपीआई का उपयोग करके इन सेवाओं को मैन्युअल रूप से एकीकृत करने की आवश्यकता होगी, सौभाग्य से, आप यह जांच कर बहुत कुछ सीख सकते हैं कि Magento अंतर्निहित सेवाओं के साथ कैसे एकीकृत होता है। -इन एकीकरण।

इसे समझने के लिए, मुझे ब्रेंट्री को कॉन्फ़िगर करना पड़ा क्योंकि यह सबसे आसान है:

  1. Https://www.braintreepayments.com/sandbox पर सैंडबॉक्स खाता बनाएँ
  2. Magento के व्यवस्थापक क्षेत्र में पहुँचें।
  3. स्टोर> कॉन्फ़िगरेशन> बिक्री> भुगतान के तरीके> Braintree> कॉन्फ़िगर करें।
  4. सुनिश्चित करें कि "पर्यावरण" "सैंडबॉक्स" है, और "मर्चेंट आईडी", "सार्वजनिक कुंजी" और "निजी कुंजी" दर्ज करें।
  5. कॉन्फ़िगरेशन सहेजें।
  6. आपको कैश को फिर से लिखना और / या ताज़ा करना पड़ सकता है।

कार्ट में कोई उत्पाद जोड़ने और चेकआउट करने के लिए, अंतिम चरण में, ब्रेंट्री भुगतान विधि चुनें, फिर "प्लेस ऑर्डर" बटन पर क्लिक करने के बाद, आप निम्नलिखित AJAX अनुरोधों को देखेंगे:

  1. कार्ड को मान्य करने, लेन-देन करने और लेनदेन की स्थिति के साथ प्रतिक्रिया करने के लिए 2 ब्रेंट्री एपीआई के लिए अनुरोध।
  2. guest-carts/cartId/payment-informationMagento के एपीआई प्रलेखन में बताया गया है कि सामान्य शरीर के साथ Magento के एपीआई के लिए एक अनुरोध ।

उसके बाद यह प्रक्रिया सफलता के पृष्ठ पर पुनर्निर्देशन की अपेक्षा के अनुसार जारी रहती है जब अंतिम अनुरोध JSON में आदेश के साथ प्रतिक्रिया करता है entity_id

यहाँ छवि विवरण दर्ज करें

यह पुष्टि करता है कि बाहरी सेवाओं को कॉल करता है-हमारे उदाहरण में -Brintree- मैगेंटो द्वारा आंतरिक रूप से चेकआउट पृष्ठ द्वारा नहीं किया जाता है, इसलिए हमें अपने चेकआउट पृष्ठ / ऐप को विकसित करने के लिए ऐसा ही करना होगा।

ऑर्डर की स्थिति को नियंत्रित करने के लिए, मैंने गहराई से खोदा और पाया कि भुगतान विधि का उपयोग कर रहा है जैसे कि MiGS, ब्रेनट्री या पेपल, processingसामान्य के बजाय स्थिति के साथ एक आदेश दिया गया था pending, मुझे संदेह था कि यह या तो भुगतान-विधि कॉन्फ़िगरेशन या ऑब्ज़र्वर है , लेकिन यह एक विन्यास प्रतीत हुआ, यहाँ अधिक विवरण हैं।

वर्ग: Magento \ Sales \ Model \ Order \ भुगतान

विधि: जगह ()

एक सशर्त है जो जांचता है कि क्या Initializationविधि के लिए आवश्यक है if ($methodInstance->isInitializeNeeded()), यदि यह मामला है, तो एक विधि initialize()निष्पादित की जाती है जिसे आप परिभाषित करते हैं, और आपको दोनों को निर्दिष्ट करने की अनुमति देता है stateऔर status


क्या आप भुगतान-सूचना एपीआई के लिए पेलोड को साझा कर सकते हैं
बजे

1
{ "cartId": "a98697cba964d6ba0d3b64d78a31df33", "billingAddress": { "countryID": "उदाहरण के लिए", "regionId": अशक्त, "क्षेत्र": "", "सड़क": [ "सड़क", ""], "कंपनी ":" मेरी कंपनी "," टेलीफोन ":" 12346987 "," पोस्टकोड ":" 12345 "," शहर ":" शहर "," Firstname ":" f name "," lastname ":" l name "," saveInAddressBook ": अशक्त}," PAYMENTMETHOD ": {" विधि ":" ब्रेनट्री "," additional_data ": {" payment_method_nonce ":" ef27df81-7c29-4a74-9049-15de33f1f49f "}}," ईमेल ":" ईमेल @ उदाहरण .com "}
महमूद तांतावी

पेलोड के लिए धन्यवाद। मैं सोच रहा हूँ, कि "payment_method_nonce" कैसे जनरेट किया जाए।
ब्लेकैपैप

वास्तव में नहीं पता है, लेकिन मुझे लगता है कि आगे और पीछे के अनुरोधों का निरीक्षण करके आसानी से पता लगाया जा सकता है कि अगर यह वास्तव में एक गैर के रूप में कार्य करता है।
महमूद तांतावी

1
Braintree आरईएसटी एपीआई के माध्यम से एकीकृत करना आसान लगता है। लेकिन बाहरी पुनर्निर्देशन भुगतान गेटवे जैसे कि पापल या इनजेनिको को कैसे एकीकृत किया जाए?
फ्रेंक गार्नियर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.