Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. OpenCart
Code

OpenCart में एक कस्टम पेमेंट मेथड बनाएं: भाग 3

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Create a Custom Payment Method in OpenCart.
Create a Custom Payment Method in OpenCart: Part 2

Hindi (हिंदी) translation by Ashish Rampal (you can also view the original English article)

यदि आप इस सीरीज के साथ साथ चल रहे हैं, तो आपको उस बैक एंड में हमारे कस्टम पेमेंट मेथड के लिए हमारे द्वारा निर्धारित फाइल स्ट्रक्चर के टाइप से परिचित होना चाहिए। यदि आप इस सीरीज के पहले के हिस्सों से नहीं गुजरे हैं, तो मैं दृढ़ता से सलाह देता हूं कि आप इस के साथ आगे बढ़ने से पहले उनको पढ़ लें।

हम फ्रंट एंड सेक्शन के लिए भी इसी तरह के फाइल सेटअप का उपयोग करेंगे।

कंट्रोलर सेटअप

आगे बढ़ो और catalog/controller/payment/custom.php पर कंट्रोलर फाइल बनाएं। नई बनाई गई कंट्रोलर फाइल custom.php में निम्न कंटेंट को पेस्ट करें।

जैसे कि आप देख सकते हैं, दो अलग अलग मेथड है। index मैथर्ड थर्ड पार्टी पेमेंट गेटवे को फॉर्म सबमिट करने पर डेटा सेट करने के लिए जिम्मेदार होगा, और पेमेंट गेटवे से रिस्पांस डाटा को हैंडल करने के लिए callback मेथड का इस्तेमाल किया जाता है। लेकिन, आप और भी मेथड्स को डिफाइन कर सकते हैं यदि यह आपके पेमेंट गेटवे द्वारा रिक्वायर्ड हो। इस उदाहरण में हमने फ्लो को जितना हो सके उतना सरल रखा है।

आइए हर सेक्शन के बारे में विस्तार से जाने। हम index मेथड से शुरू करेंगे।

सबसे पहले, हमने लैंग्वेज फाइल लोड की है और Confirm बटन की वैल्यू सेट की है। हमने action अटरीब्यूट भी सेटअप किया है, जिसका उपयोग पेमेंट सबमिशन फॉर्म द्वारा किया जाएगा। आपको अपने पेमेंट गेटवे के अनुसार इसे बदलना चाहिए।

इसके बाद, हमने यूजर के एक्टिव सेक्शन से आर्डर की इनफार्मेशन लोड की है।

यदि ऑर्डर इंफॉर्मेशन उपलब्ध है, तो हम आगे बढ़ेंगे और छुपे हुए वैरियेबल्स के लिए डाटा सेट करेंगे जिसका उपयोग पेमेंट गेटवे URL को फॉर्म सबमिट करने के लिए किया जाएगा। यदि आप कोड का अनुसरण करते हैं, तो आप देखेंगे कि हमने अपने कस्टम पैरामीटर, text_config_one और text_config_two का भी उपयोग किया है, जिसे हमने इस सीरीज के पिछले भाग में एडमिन कंफीग्रेशन फॉर्म में सेट किया था।

यहां ध्यान देने योग्य अन्य महत्वपूर्ण वेरिएबल callbackurl है, जो पेमेंट प्रोसेस के बाद यूजर को वापस हमारे स्टोर पर रीडायरेक्ट करने के लिए पेमेंट गेटवे द्वारा उपयोग किया जाने वाला URL रखता है। और हां, URL payment/custom/callback को देखते हुए इंडिकेट करना चाहिए कि यह callback मैथर्ड को कॉल करेगा, जैसा कि हम एक क्षण में देखेंगे।

अंत में, हम अपने कस्टम टेंप्लेट फाइल custom.tpl असाइन करते हैं और व्यू को रेंडर करते हैं।

चलो callback मेथड के कोड की समीक्षा करें। जब यूजर पेमेंट गेटवे साइट से स्टोर पर वापस आएगा तो यह मेथड कॉल किया जाएगा।

सबसे पहले, हम जांच करते हैं कि आगे बढ़ने से पहले orderid वेरिएबल उपलब्ध है या नहीं। यदि यह उपलब्ध नहीं है, तो हम आगे के प्रोसेस को रोक देते हैं।

इसके बाद, हम डेटाबेस से ऑर्डर इंफॉर्मेशन लोड करते हैं। और अंत में, हम जानेंगे कि क्या हमें पेमेंट गेटवे रिस्पांस से success इंडिकेटर मिला है। यदि ऐसा है, तो हम आगे बढ़ेंगे और ऑर्डर स्टेटस इनफार्मेशन को तदनुसार अपडेट करेंगे।

यह कंट्रोलर सेटअप है। एकदम सीधा, है ना?

कन्वेंशनल मॉडल

जैसा कि शायद आप जानते हैं, OpenCart के पास टो के आंतरिक कामकाज से निपटने के लिए कन्वेंशंस और स्टैंडर्ड का अपना सेट है। पेमेंट मेथड का पता लगाने के लिए मॉडल सेट अप के साथ ऐसा ही है। आप बस इसे कन्वेंशंस के अनुसार सेट करते हैं, और इसे ऑटोमेटिक रूप से उठाया जाएगा।

आगे बढ़ो और catalog/model/payment/custom.php पर मॉडल फाइल बनाओ। नई बनाई गई मॉडल फाइल custom.php में निम्नलिखित कंटेंट्स को पेस्ट करें।

चेकआउट प्रोसेस के दौरान एक्टिव पेमेंट मैथर्ड को सूचीबद्ध करते समय OpenCart द्वारा इस क्लास का उपयोग किया जाएगा। इस प्रोसेस के दौरान, OpenCart बैकऐंड से एक्टिव पेमेंट मेथड की सूची एकत्र करता है, और प्रत्येक मेथड के लिए यह जांच करेगा की उपयुक्त मॉडल क्लास उपलब्ध है या नहीं। पेमेंट मेथड केवल तभी सूचीबद्ध होगा जब कोई संबंधित मॉडल क्लास उपलब्ध हो।

इस सेटअप में महत्वपूर्ण बात code वेरिएबल की वैल्यू है। हमारे मामले में, हमने custom में इसे डिफाइन किया है, जिसका अर्थ है कि जब आप पेमेंट मैथर्ड को सिलेक्ट करते हैं और Continue दबाते हैं, तो यह payment/custom URL को आंतरिक रुप से कॉल करेगा, जो अंततः हमारे पेमेंट गेटवे के लिए फॉर्म सेट करता है।

संक्षेप में, हम कह सकते हैं कि फ्रंटेंड में पेमेंट मैथर्ड का पता लगाने और उचित कार्य के लिए यह एक अनिवार्य फाइल है।

लैंग्वेज और टेंप्लेट फाइल्स

अब, हमें केवल लैंग्वेज बनाने और फाइलों को देखने की आवश्यकता है। आगे बढ़ो और catalog/language/english/payment/custom.php पर लैंग्वेज फाइल बनाएं। निम्नलिखित कंटेंट को नई बनाई गई लैंग्वेज फाइल custom.php में पेस्ट करें।

समझने में आसान: हमने अभी-अभी उन लेबलो को सेट अप किया है जिनका उपयोग चेक-आउट के दौरान फ्रंट एंड में किया जाएगा।

आगे बढ़े और कैटलॉग फाइल को catalog/view/theme/default/template/payment/custom.tpl पर बनाएं। नई बनाई गई टेंप्लेट फाइल custom.tpl में निम्नलिखित कंटेंट्स को पेस्ट करें।

जैसा कि आपने शायद अनुमान लगाया होगा, यह वह फॉर्म है जो तब सबमिट किया जाएगा जब कोई यूजर Confirm Order बटन पर क्लिक करता है। हमने अभी छुपे हुए वेयर ओ उनकी वैल्यू सेटअप की है जो पहले कंट्रोलर के index मेथड में परिभाषित किए गए थे।

आइए देखें कि फ्रंट एंड पर चीजें कैसी दिखती हैं:

Front-end Checkout View

आइए जल्दी से ओवरऑल फ्लो से गुजरे:

  • सबसे पहले, आपको अपने पेमेंट मैथर्ड के लिए मॉडल फाइल सेट करनी होगी ताकि इसे Step 5: Payment Method टैब में सूचीबद्ध किया जा सके।
  • इसके बाद, जब कोई यूजर पांचवे टैब में Custom Payment Method को सेलेक्ट करता है और Continue बटन पर क्लिक करता है, तो OpenCart आंतरिक रुप से payment/custom URL को कॉल करता है, जो अंततः index मेथड को कॉल करता है और custom.tpl फाइल को छठे टैब में रेंडर करता है.
  • अंत में, जब कोई यूजर Confirm Order बटन पर क्लिक करता है, तो फॉर्म सबमिट हो जाएगा और यूजर को पेमेंट गेटवे साइट पर ले जाया जाएगा जहां पेमेंट प्रोसेस शुरू होता है। पेमेंट प्रोसेस पूरा हो जाने के बाद, callbackurl छिपे हुए वैरियेबल की बदौलत यूजर को हमारी साइट पर वापस भेज देगा। बेशक, ऑर्डर स्टेटस callback मेथड के एक भाग के रूप में अपडेट किया जाएगा यदि चीजें अपेक्षित रूप से ऑपरेट होती हैं।

निष्कर्ष

इस सीरीज में, मैंने समझाया है कि कैसे अपने स्वयं के पेमेंट मैथर्ड मॉड्यूल बनाकर लगभग किसी भी पेमेंट मैथर्ड को सेट किया जाए। मुझे आशा है कि आपने इस सीरीज का आनंद लिया है और कुछ उपयोगी सीखा है।

यह हमेशा किसी भी फ्रेमवर्क के लिए कस्टम चीजें बनाने में मजेदार है, है ना? याद रखें कि आप नीचे कमेंट फॉर्म का उपयोग करके हमेशा कमेंट और प्रश्न प्रदान कर सकते हैं।

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.