VibeFox Kushki for OpenCart — सहायता
आवश्यकताएँ
OpenCart: 3.0.x (3.0.5.0 पर परीक्षण किया गया) या 4.0.2 और उसके बाद का (4.1.0.3 पर परीक्षण किया गया)।
PHP: 8.0 या उसके बाद का संस्करण।
मुद्रा: USD (इक्वाडोर) या COP (कोलंबिया)। अन्य मुद्राओं के ऑर्डर के लिए चेकआउट पर भुगतान का तरीका नहीं दिखाया जाता।
HTTPS: Kushki के लिए ज़रूरी है कि लाइव मोड में चेकआउट HTTPS पर दिया जाए।
Kushki खाता: आपको अपने Kushki टेस्ट (UAT) खाते और प्रोडक्शन खाते के Public Merchant ID और Private Merchant ID चाहिए। ये Kushki Console में Developers > Credentials के अंतर्गत हैं। वैकल्पिक वेबहुक के लिए आपको हर खाते की वेबहुक साइनेचर कुंजी भी चाहिए (कॉन्फ़िगरेशन देखें)।
VibeFox लाइसेंस कुंजी: vibefox.net पर खरीदी जाती है। एक कुंजी एक ही डोमेन पर काम करती है।
इंस्टॉलेशन
इस डाउनलोड में दोनों OpenCart संस्करणों के पैकेज एक zip फ़ाइल में हैं। इसे अपने कंप्यूटर पर अनज़िप करें। इसमें README.txt, OpenCart 3 का पैकेज wcp_kushki_payment-oc3-(version).ocmod.zip और OpenCart 4 का पैकेज wcp_kushki_payment.ocmod.zip है। केवल अपने OpenCart संस्करण का पैकेज इंस्टॉल करें। लाइसेंस कुंजी दोनों संस्करणों के लिए एक ही है।
OpenCart 3
1. एडमिन में Extensions > Installer पर जाएँ, Upload पर क्लिक करें और फ़ाइल wcp_kushki_payment-oc3-(version).ocmod.zip चुनें। इस एक्सटेंशन में कोई OCMOD बदलाव नहीं है, इसलिए Extensions > Modifications को रिफ़्रेश करने की ज़रूरत नहीं है। इंस्टॉलर के बजाय आप इस पैकेज के upload फ़ोल्डर की सामग्री को अपने स्टोर के रूट फ़ोल्डर में भी कॉपी कर सकते हैं।
2. Extensions > Extensions पर जाएँ और प्रकार Payments चुनें। VibeFox Kushki Payment खोजें और Install (हरा + बटन) पर क्लिक करें। आपके एडमिन यूज़र के पास पेमेंट एक्सटेंशन की सूची बदलने का अधिकार होना चाहिए।
3. सेटिंग्स पेज खोलने के लिए Edit (पेंसिल बटन) पर क्लिक करें। पेज के ऊपर लाइसेंस ब्लॉक में License key में अपनी VibeFox लाइसेंस कुंजी चिपकाएँ और Activate पर क्लिक करें (लाइसेंस कुंजी देखें)।
4. टेस्ट के लिए Public और Private Merchant ID दर्ज करें और Test mode चालू रहने दें। वैकल्पिक रूप से Kushki Console में वेबहुक सेट करें और उसकी साइनेचर कुंजी चिपकाएँ (कॉन्फ़िगरेशन देखें)।
5. Enable / Disable चालू करें, Save पर क्लिक करें और एक टेस्ट ऑर्डर दें। तैयार होने पर लाइव Merchant ID (और लाइव वेबहुक साइनेचर) दर्ज करें और Test mode बंद करें।
OpenCart 4
1. एडमिन में Extensions > Installer पर जाएँ, Upload पर क्लिक करें और फ़ाइल wcp_kushki_payment.ocmod.zip चुनें। फ़ाइल का नाम न बदलें: OpenCart 4 एक्सटेंशन का कोड फ़ाइल के नाम से लेता है, और नाम बदला हुआ पैकेज काम नहीं करता।
2. इंस्टॉल किया गया पैकेज उसी पेज पर एक्सटेंशनों की सूची में दिखता है। उसके आगे Install (हरा + बटन) पर क्लिक करें।
3. Extensions > Extensions पर जाएँ और प्रकार Payments चुनें। VibeFox Kushki Payment खोजें, Install (हरा + बटन) पर क्लिक करें, फिर Edit (पेंसिल बटन) पर।
4. लाइसेंस कुंजी, Merchant ID और वेबहुक उसी तरह दर्ज करें जैसे OpenCart 3 के चरण 3 से 5 में। सेटिंग्स पेज और उसके फ़ील्ड दोनों संस्करणों में एक जैसे हैं। केवल Webhook URL अलग है (देखें वेबहुक)।
नया इंस्टॉल भुगतान का तरीका बंद और टेस्ट मोड चालू के साथ शुरू होता है।
कॉन्फ़िगरेशन
सभी सेटिंग्स एक्सटेंशन पेज पर हैं: Extensions > Extensions > Payments > VibeFox Kushki Payment > Edit। सेक्शन बाईं ओर सूचीबद्ध हैं; सूची के नीचे का Save बटन पूरे पेज को सेव करता है। सेटिंग्स के ऊपर पेज आपको चेतावनी देता है जब भुगतान का तरीका चालू हो लेकिन मौजूदा मोड के Merchant ID गायब हों (तब भुगतान का तरीका चेकआउट पर छिपा रहता है), जब आपके स्टोर की डिफ़ॉल्ट मुद्रा USD या COP न हो, जब HTTPS के बिना लाइव मोड का उपयोग हो (OpenCart 4 पर, जब स्टोरफ़्रंट पता http:// से शुरू हो) और जब मौजूदा मोड में वेबहुक साइनेचर कुंजी न हो। टेस्ट मोड चालू रहने पर यह Test mode is on: the Kushki test environment is used, no real money is charged. दिखाता है। एक्सटेंशन बदलने का अधिकार न होने पर पेज सेटिंग्स दिखाता है, पर उन्हें सेव नहीं कर सकता।
सेव करते समय Title खाली नहीं हो सकता और 128 अक्षरों से अधिक नहीं हो सकता, Sort Order एक पूर्ण संख्या होनी चाहिए (ऋणात्मक संख्याएँ मान्य हैं), Total 0 या उससे बड़ी संख्या होनी चाहिए, और हर ऑर्डर स्टेटस मौजूद होना चाहिए। अगर कोई फ़ील्ड गलत है, तो कुछ भी सेव नहीं होता और पेज वह फ़ील्ड बताता है। सेव करते समय ID के आसपास के स्पेस हटा दिए जाते हैं।
Kushki
Enable / Disable: Enable Kushki card payments भुगतान का तरीका चालू या बंद करता है। डिफ़ॉल्ट: बंद।
Title: वह भुगतान तरीके का नाम जो ग्राहक चेकआउट पर देखते हैं। यही नाम ऑर्डर में भी सेव होता है। डिफ़ॉल्ट: Credit / debit card (Kushki)। आवश्यक, 128 अक्षर तक।
Description: वह टेक्स्ट जो Confirm Order चरण में कार्ड फ़ॉर्म के ऊपर दिखता है। डिफ़ॉल्ट: Pay securely with your card. Card details are entered in a Kushki form and never stored on this site.
Sort Order: चेकआउट पर भुगतान के तरीकों के बीच Kushki की स्थिति। खाली छोड़ें या एक पूर्ण संख्या दर्ज करें।
Geo Zone: Kushki केवल चुने हुए geo zone के भुगतान पतों के लिए दें। डिफ़ॉल्ट: All zones। Geo zones System > Localisation > Geo Zones में सेट किए जाते हैं।
Total: चेकआउट की वह राशि, स्टोर की डिफ़ॉल्ट मुद्रा में, जिस तक ऑर्डर पहुँचना चाहिए, उसके बाद ही Kushki दिया जाता है। किसी भी राशि पर Kushki देने के लिए खाली छोड़ें।
API क्रेडेंशियल
Kushki Console (Developers > Credentials; पेज में Console का लिंक है) से Public और Private Merchant ID कॉपी करें। टेस्ट (UAT) और प्रोडक्शन खातों के ID अलग होते हैं। टेस्ट मोड केवल टेस्ट ID इस्तेमाल करता है, लाइव मोड केवल लाइव ID।
Test mode: Kushki टेस्ट (UAT) वातावरण का उपयोग करता है: टेस्ट Merchant ID, टेस्ट कार्ड फ़ॉर्म और टेस्ट API एक साथ। कोई असली पैसा नहीं काटा जाता, और चेकआउट पर TEST MODE बैज दिखता है। डिफ़ॉल्ट: चालू। असली भुगतान लेने के लिए इसे बंद करें। रिफ़ंड हमेशा उसी वातावरण में जाते हैं जिसमें भुगतान हुआ था।
Test Public Merchant ID: आपके Kushki टेस्ट खाते का Public Merchant ID। यह कार्ड फ़ॉर्म लोड करता है।
Test Private Merchant ID: आपके Kushki टेस्ट खाते का Private Merchant ID। इसका उपयोग सर्वर पर चार्ज और रिफ़ंड के लिए होता है।
Live Public Merchant ID: आपके Kushki प्रोडक्शन खाते का Public Merchant ID।
Live Private Merchant ID: आपके Kushki प्रोडक्शन खाते का Private Merchant ID। इसे गुप्त रखें।
सेव किए गए Private Merchant ID और वेबहुक साइनेचर फिर कभी नहीं दिखाए जाते। फ़ील्ड खाली रहता है और Saved — leave empty to keep it. दिखाता है। मान बदलने के लिए ही नया मान दर्ज करें। सेव किया हुआ मान हटाने के लिए फ़ील्ड के नीचे Clear the saved value on save पर टिक करें और Save पर क्लिक करें।
वेबहुक (अनुशंसित)
भुगतान Kushki API के जवाब से तुरंत पक्के हो जाते हैं, इसलिए वेबहुक अनिवार्य नहीं है। यह उन भुगतानों की भी पुष्टि करता है जिनका जवाब खो गया हो (उदाहरण के लिए टाइमआउट पर) और Kushki Console में किए गए voids, रिफ़ंड और chargebacks की सूचना देता है। Kushki Console (Webhooks) में इस सेक्शन के Webhook URL में दिखाया गया URL जोड़ें। OpenCart 3 पर यह कुछ इस तरह दिखता है: https://your-store/index.php?route=extension/payment/wcp_kushki_payment/webhook, OpenCart 4 पर https://your-store/index.php?route=extension/wcp_kushki_payment/payment/wcp_kushki_payment.webhook जैसा। यह आपके OpenCart इंस्टॉलेशन के स्टोर पते से बनता है। URL को ठीक वैसा ही कॉपी करें जैसा सेटिंग्स दिखाती हैं। यह टेस्ट खाते और प्रोडक्शन खाते दोनों के लिए करें।
यह एक्सटेंशन ये कार्ड सूचनाएँ संभालता है:
Test webhook signature: Kushki टेस्ट खाते की वेबहुक साइनेचर कुंजी (Console > Webhooks)।
Live webhook signature: Kushki प्रोडक्शन खाते की वेबहुक साइनेचर कुंजी।
बिना वैध साइनेचर वाले वेबहुक अस्वीकार किए जाते हैं। सूचना उसी मोड की कुंजी से साइन होनी चाहिए जिसमें भुगतान हुआ था, इसलिए टेस्ट सूचना कभी भी लाइव भुगतान की पुष्टि नहीं करती। साइनेचर कुंजी के बिना सभी वेबहुक सूचनाएँ अस्वीकार की जाती हैं, लेकिन भुगतान फिर भी काम करते हैं, क्योंकि उनकी पुष्टि API जवाब से होती है।
ऑर्डर
OpenCart Confirm Order चरण पर ऑर्डर बिना स्टेटस के बनाता है (एक गायब ऑर्डर)। ऑर्डर को स्टेटस तभी मिलता है जब Kushki कार्ड चार्ज को मंज़ूरी दे दे। नीचे हर फ़ील्ड आपके OpenCart ऑर्डर स्टेटस दिखाता है।
Order Status After Payment: Kushki ने ऑर्डर की राशि और मुद्रा के लिए टिकट नंबर के साथ चार्ज को मंज़ूरी दी। डिफ़ॉल्ट: Processing (प्रोसेसिंग)।
On Hold (Review) Status: Kushki ने बिना टिकट नंबर के चार्ज को मंज़ूरी दी, या कोई अलग राशि या मुद्रा बताई। एक नोट कारण समझाता है; शिपमेंट से पहले Kushki Console में भुगतान जाँचें। डिफ़ॉल्ट: Pending (भुगतान लंबित), क्योंकि OpenCart में On hold स्टेटस नहीं है। आप System > Localisation > Order Statuses में अपना स्टेटस बना सकते हैं और यहाँ चुन सकते हैं।
Failed Status: रिव्यू स्टेटस वाला ऑर्डर जिसका चार्ज बाद में Kushki ने अस्वीकृत बताया (वेबहुक)। डिफ़ॉल्ट: Failed (विफल)।
Canceled Status: इस स्टेटस (या refunded स्टेटस) के ऑर्डर कभी देर से आए वेबहुक से दोबारा नहीं खुलते। डिफ़ॉल्ट: Canceled (रद्द)।
Refunded Status: ऑर्डर टैब से भुगतान रिफ़ंड होने के बाद सेट होता है। डिफ़ॉल्ट: Refunded (रिफ़ंड किया गया)।
उन्नत
Debug log: Kushki के अनुरोध और वेबहुक को OpenCart लॉग फ़ोल्डर (storage/logs) में kushki_p_debug.log.php में लिखता है। फ़ाइल वेब से नहीं खोली जा सकती। चेतावनियाँ और त्रुटियाँ हमेशा लॉग होती हैं। लॉग में कभी भी Merchant ID, कार्ड टोकन या ग्राहकों के ईमेल नहीं होते। डिफ़ॉल्ट: बंद।
Log: लॉग का आकार और नवीनतम प्रविष्टियाँ दिखाता है। खाली करने के लिए Clear log पर क्लिक करें।
Delete data on uninstall: चालू होने पर एक्सटेंशन अनइंस्टॉल करने से सेटिंग्स और लॉग हट जाते हैं। Kushki भुगतान रिकॉर्ड (चार्ज और रिफ़ंड) हमेशा बने रहते हैं, ताकि दोबारा इंस्टॉल करने के बाद भी पुराने ऑर्डर रिफ़ंड किए जा सकें। डिफ़ॉल्ट: बंद।
इम्पोर्ट / एक्सपोर्ट
Export: Download JSON सेटिंग्स को JSON फ़ाइल में सहेजता है। Private Merchant ID और वेबहुक साइनेचर एक्सपोर्ट नहीं होते।
Import: पहले एक्सपोर्ट किया गया JSON चिपकाएँ और सेटिंग्स बहाल करने के लिए Import पर क्लिक करें। सेव किए गए सीक्रेट बने रहते हैं।
चेकआउट
Payment Method चरण पर ग्राहक भुगतान का तरीका चुनता है (डिफ़ॉल्ट रूप से Credit / debit card (Kushki))। OpenCart Confirm Order चरण पर ऑर्डर बनाता है, अभी भी बिना स्टेटस के। वहाँ ग्राहक आपका विवरण और Kushki कार्ड फ़ॉर्म देखता है, जिसमें ऑर्डर मुद्रा में ऑर्डर का कुल योग दिखता है। ग्राहक कार्ड डालता है, यदि Kushki फ़ॉर्म किस्तें देता है तो किस्त चुनता है, और Kushki फ़ॉर्म के अंदर के भुगतान बटन को दबाता है। फिर भुगतान अपने-आप भेजा जाता है, जैसा फ़ॉर्म के नीचे के नोट में लिखा है: Enter your card in the secure Kushki form above and press its pay button — the payment is sent automatically. यदि ग्राहक इसके बजाय OpenCart का Confirm Order बटन दबाता है, तो संदेश Please enter your card details in the Kushki form and press its pay button. दिखता है।
OpenCart 4 में ग्राहक Payment method options विंडो में, भुगतान विधि ब्लॉक के Choose बटन से भुगतान विधि चुनता है। इसके बाद Kushki कार्ड फ़ॉर्म चेकआउट पेज के नीचे, ऑर्डर पुष्टि ब्लॉक में, Confirm Order बटन के ऊपर दिखता है, और हर बार जब OpenCart वह ब्लॉक दोबारा लोड करता है, मौजूदा ऑर्डर कुल के लिए दोबारा बनता है।
इसके बाद आपका स्टोर सर्वर पर कार्ड से राशि काटता है। ऑर्डर तभी भुगतान किया हुआ माना जाता है जब Kushki उसकी टिकट नंबर के साथ पुष्टि करे। फिर ऑर्डर को OpenCart के मानक तरीके से स्टेटस मिलता है, सामान्य ऑर्डर ईमेल और स्टॉक अपडेट के साथ, कार्ट खाली हो जाता है, और ग्राहक OpenCart ऑर्डर सफलता पेज देखता है, जिस पर Your card payment has been received. लिखा होता है। Kushki द्वारा बताई गई राशि और मुद्रा की ऑर्डर से तुलना होती है। रिव्यू स्टेटस वाला ऑर्डर Your payment is being reviewed. We will update your order as soon as the review is complete. दिखाता है।
यदि कार्ड अस्वीकृत हो जाता है, तो ऑर्डर बिना स्टेटस के रहता है, ग्राहक Confirm Order चरण पर रहता है, Your payment was declined और Kushki का बताया कारण देखता है, और रीलोड किए गए फ़ॉर्म में कोई दूसरा कार्ड आज़मा सकता है। नेटवर्क, कुंजी या सर्वर समस्याओं पर ग्राहक The payment could not be processed right now. Please try again in a moment or choose another payment method. देखता है। तकनीकी कारण लॉग और ऑर्डर नोट्स में लिखा जाता है। भुगतान प्रोसेस होते समय दोबारा क्लिक करने पर A payment for this order is already being processed. Please wait a moment and check your order status. दिखता है।
OpenCart 3 हर बार Confirm Order चरण दिखने पर एक नया ऑर्डर बनाता है, OpenCart 4 चेकआउट के लिए एक ही ऑर्डर रखकर उसे अपडेट करता है। दोनों ही स्थितियों में एक कार्ट केवल एक बार भुगतान किया जाता है: जो कार्ट पहले से भुगतान हो चुका है, या जिसका स्वीकृत चार्ज हो और जिस ऑर्डर का अभी स्टेटस न हो, उसका दोबारा चार्ज कभी नहीं होता, और ग्राहक सफलता पेज देखता है। यदि Kushki का जवाब खो जाए (उदाहरण के लिए टाइमआउट पर), तो ग्राहक सामान्य संदेश देखता है, लेकिन चार्ज का प्रयास सुरक्षित रहता है। जब साइन किया हुआ वेबहुक स्वीकृत चार्ज की सूचना देता है, तो ऑर्डर को स्टेटस मिल जाता है। यदि कोई वेबहुक आने से पहले ग्राहक फिर से भुगतान करता है, तो यह नया चार्ज है; पहले चार्ज की देर से मिली मंज़ूरी केवल संभावित दोहरे चार्ज के बारे में एक नोट जोड़ती है।
OpenCart 4 में ऑर्डर तब तक चेकआउट में रहता है जब तक सफलता पेज नहीं दिखता। यदि वह ऑर्डर इस बीच बिना भुगतान के बंद हो गया हो (उदाहरण के लिए बाद में समीक्षा में रखा चार्ज अस्वीकृत हुआ, या आपने उसे रद्द किया), या वह किसी पिछले कार्ट के लिए पहले ही भुगतान हो चुका हो और ग्राहक तब से कार्ट बदल चुका हो, तो भुगतान के समय ग्राहक चेकआउट पेज पर लौटा दिया जाता है, और अगला Confirm Order नया ऑर्डर बनाता है। चेकआउट पेज के ऊपर ग्राहक को ये संदेश दिखते हैं: बंद हुए ऑर्डर के लिए Your previous order is closed (declined, cancelled or refunded by the store). Please confirm the order again: the cart will be paid with a new order., या किसी पिछले कार्ट के लिए भुगतान हो चुके ऑर्डर के लिए Your previous order is already paid for other cart contents. Please confirm the order again: the current cart will be paid with a new order. कार्ट में कोई भी बदलाव, नई मात्रा सहित, एक नए कार्ट के रूप में गिना जाता है जिसे अपने भुगतान की ज़रूरत है।
स्टोर मेंटेनेंस मोड में भी वेबहुक काम करता है: OpenCart 3 भुगतान एक्सटेंशन के अनुरोधों को जाने देता है, और OpenCart 4 पर एक्सटेंशन इसके लिए एक startup action जोड़ता है। 3-D Secure, फ़्रॉड नियम और दी जाने वाली किस्तें Kushki Console में सेट की जाती हैं।
यह एक्सटेंशन केवल एक-चरणीय कार्ड भुगतान स्वीकार करता है। इसमें आंशिक रिफ़ंड, सेव किए गए कार्ड या सब्सक्रिप्शन नहीं हैं, और नकद, बैंक ट्रांसफ़र (PSE) या डेबिट-कार्ड रीडायरेक्ट भुगतान नहीं हैं, और अलग-अलग authorize और capture भी नहीं हैं।
ऑर्डर और रिफ़ंड
ऑर्डर स्टेटस
कोई स्टेटस नहीं (गायब ऑर्डर): ग्राहक ने भुगतान नहीं किया, कार्ड अस्वीकृत हुआ, या Kushki का जवाब खो गया और वेबहुक अभी तक नहीं आया। Sales > Orders में ऐसे ऑर्डर केवल तब दिखते हैं जब फ़िल्टर Order Status को Missing Orders पर सेट किया गया हो।
Order Status After Payment (डिफ़ॉल्ट Processing): Kushki ने चार्ज की पुष्टि की (API जवाब या वेबहुक से)। एक नोट मोड, राशि, Kushki टिकट नंबर और संदर्भ दिखाता है।
On Hold (Review) Status (डिफ़ॉल्ट Pending): Kushki ने बिना टिकट नंबर के सफलता लौटाई, या ऑर्डर से अलग राशि या मुद्रा बताई। नोट इसे समझाता है। Kushki Console में लेन-देन जाँचें और ऑर्डर पूरा करें या भुगतान रिफ़ंड करें। बाद में टिकट नंबर और मेल खाती राशि के साथ आई साइन की हुई मंज़ूरी ऑर्डर को Order Status After Payment पर ले जाती है।
Failed Status (डिफ़ॉल्ट Failed): वेबहुक ने बताया कि रिव्यू स्टेटस वाले ऑर्डर का चार्ज अस्वीकृत हुआ।
Refunded Status (डिफ़ॉल्ट Refunded): भुगतान एक्सटेंशन के ज़रिए रिफ़ंड किया गया।
यदि Kushki किसी ऐसे ऑर्डर के लिए दूसरा स्वीकृत चार्ज बताए जो पहले से भुगतान, रद्द या रिफ़ंड हो चुका है, तो ऑर्डर नहीं बदलता। एक नोट आपसे दोहरे चार्ज की जाँच करने और उसे Kushki Console में रिफ़ंड करने को कहता है। लाइव भुगतान के लिए टेस्ट वातावरण का वेबहुक (या इसका उल्टा) नोट के साथ अनदेखा किया जाता है।
नोट्स ऑर्डर के History की वे प्रविष्टियाँ हैं जो ग्राहक को दिखाई नहीं देतीं।
VibeFox Kushki Payment टैब
Sales > Orders में Kushki से भुगतान किया गया ऑर्डर खोलें। ऑर्डर पेज के नीचे, History और Additional के बगल में, VibeFox Kushki Payment टैब Ticket number (टेस्ट भुगतानों पर TEST लेबल के साथ), Transaction reference, Environment, Result, Charged / order amount राशियाँ, रिफ़ंड फ़ॉर्म, रिफ़ंड इतिहास और ऑर्डर के Kushki notes दिखाता है। यह टैब उन उपयोगकर्ताओं को दिखता है जिनके पास एक्सटेंशन तक पहुँच है।
रिफ़ंड
Kushki पूरा चार्ज रिफ़ंड करता है, इसलिए केवल पूर्ण रिफ़ंड संभव हैं। VibeFox Kushki Payment टैब में Kushki द्वारा चार्ज की गई Amount भरी होती है। वैकल्पिक रूप से Reason (optional) दर्ज करें, Refund via Kushki पर क्लिक करें, फिर प्रश्न Refund the full payment through Kushki? This cannot be undone. की पुष्टि करें। आपके पास एक्सटेंशन बदलने का अधिकार होना चाहिए (System > Users > User Groups में सेट)। किसी अन्य राशि के लिए एक्सटेंशन उस राशि के साथ Kushki refunds the full payment only. Enter the full charged amount दिखाता है, और कुछ भी नहीं भेजा जाता। रिफ़ंड उसी राशि और मुद्रा में होता है जो Kushki ने चार्ज की, इसलिए राशि में अंतर होने पर ग्राहक को वही वापस मिलता है जो वास्तव में चार्ज हुआ था, न कि ऑर्डर का कुल योग। एक भुगतान केवल एक बार रिफ़ंड किया जा सकता है।
रिफ़ंड उसी मोड में भेजा जाता है जिसमें भुगतान हुआ था (टेस्ट या लाइव), इसलिए उस मोड का Private Merchant ID सेट होना चाहिए। यदि Kushki रिफ़ंड स्वीकार नहीं करता, तो टैब Kushki कोड और संदेश के साथ Kushki refund failed दिखाता है, और कोई रिफ़ंड दर्ज नहीं होता। सफल रिफ़ंड रिफ़ंड इतिहास और नोट्स में Kushki रिफ़ंड टिकट के साथ जोड़ा जाता है, और ऑर्डर ग्राहक को सूचित किए बिना और मैन्युअल स्टेटस बदलने की तरह उत्पादों को स्टॉक में लौटाए बिना Refunded Status पर चला जाता है। रिफ़ंड के लिए टिकट नंबर वाला पुष्ट Kushki चार्ज आवश्यक है।
Sales > Returns में उत्पाद रिटर्न Kushki के ज़रिए पैसे वापस नहीं भेजते। Kushki Console में किए गए voids और रिफ़ंड वेबहुक से आते हैं और नोट्स में जोड़े जाते हैं। ऑर्डर स्टेटस अपने-आप नहीं बदलता।
लाइसेंस कुंजी
यह एक्सटेंशन vibefox.net से मिली VibeFox लाइसेंस कुंजी के साथ काम करता है। लाइसेंस ब्लॉक License — VibeFox Kushki Payment, Extensions > Extensions > Payments > VibeFox Kushki Payment > Edit पर पहला ब्लॉक है, सेटिंग्स के ऊपर। कुंजी को License key में चिपकाएँ और Activate पर क्लिक करें। उसके बाद ब्लॉक कुंजी को मास्क करके, स्टेटस (जैसे लाइसेंस किस तारीख तक सक्रिय है और आपका डोमेन) और ये बटन दिखाता है: स्टेटस दोबारा जाँचने के लिए Check now, दूसरी कुंजी डालने के लिए Change key, और इस स्टोर से कुंजी हटाने के लिए Remove key। इनके नीचे Product: opencart-payment-kushki की पंक्ति और Manage licenses and domains in your account लिंक है, जो आपका vibefox.net खाता खोलता है। कुंजी केवल वे एडमिन उपयोगकर्ता बदल सकते हैं जिनके पास इस एक्सटेंशन के लिए Modify अनुमति हो। ब्लॉक के टेक्स्ट एडमिन भाषा का पालन करते हैं (अंग्रेज़ी और रूसी शामिल हैं)।
यदि कुंजी स्वीकार नहीं होती, तो ब्लॉक कारण बताता है, जैसे Key not found, This key belongs to another product, Domain limit reached, या तारीख के साथ License expired on। स्टोर का पता बदलने के बाद, या अपने खाते में डोमेन स्लॉट खाली करने के बाद, Check now पर क्लिक करें। यदि लाइसेंस सर्वर तक पहुँच न हो सके, तो एक्सटेंशन आखिरी ज्ञात स्टेटस पर काम करता रहता है।
एक कुंजी एक ही डोमेन पर काम करती है: OpenCart कॉन्फ़िगरेशन का स्टोर पता। स्टोर से कुंजी हटाने पर उसका डोमेन स्लॉट मुक्त नहीं होता। अपने vibefox.net खाते में स्लॉट मुक्त करें।
सक्रिय कुंजी के बिना Kushki चेकआउट पर ग्राहकों को नहीं दिखाया जाता। यदि फिर भी कोई भुगतान शुरू हो, तो ग्राहक को This payment method is not available. Please choose another one. दिखता है। उसी ब्राउज़र में एडमिन में लॉग इन किया हुआ एडमिन उपयोगकर्ता स्टोर में भुगतान का तरीका अब भी देखता है, जिस पर (unlicensed — visible to admins only) लिखा होता है, ताकि आप कुंजी खरीदने से पहले एक्सटेंशन सेट अप और टेस्ट कर सकें। OpenCart 4 पर यह पूर्वावलोकन उपलब्ध नहीं है: स्टोर एडमिन लॉगिन नहीं देखता, इसलिए बिना सक्रिय कुंजी के भुगतान विधि सभी के लिए छिपी रहती है। Edit पेज एक बार खोलने के बाद एडमिन Dashboard पर एक अनुस्मारक दिखता है। इसे 7 दिनों के लिए छिपाने के लिए × से बंद करें। मौजूदा ऑर्डर प्रभावित नहीं होते: जो भुगतान पहले से शुरू हो चुके हैं, उनकी पुष्टि अब भी होती है, और रिफ़ंड काम करते हैं।
जब लाइसेंस की समय-सीमा समाप्त होती है, तो एक्सटेंशन काम करता रहता है, लेकिन अपडेट और सहायता के लिए नवीनीकरण आवश्यक है। जब आप एडमिन Dashboard या Edit पेज खोलते हैं, तो स्टेटस अपने-आप दोबारा जाँचा जाता है: कुंजी दर्ज करने के बाद पहले 14 दिनों में रोज़ एक बार, फिर हफ़्ते में एक बार। cron जॉब की ज़रूरत नहीं है। एक्सटेंशन अनइंस्टॉल करने पर लाइसेंस कुंजी और लाइसेंस स्टेटस हमेशा हटा दिए जाते हैं।
समस्या निवारण
Kushki चेकआउट पर दिखाई नहीं देता: जाँचें कि लाइसेंस सक्रिय है, Enable / Disable चालू है, और मौजूदा मोड में दोनों Merchant ID हैं: टेस्ट मोड में टेस्ट ID, लाइव मोड में लाइव ID। ID गायब होने पर सेटिंग्स पेज चेतावनी दिखाता है। जाँचें कि ऑर्डर की मुद्रा USD या COP है, कि भुगतान पता चुने हुए Geo Zone में है, और कि ऑर्डर सेटिंग्स में दिए गए Total तक पहुँचता है।
भुगतान हो गया, लेकिन ऑर्डर बिना स्टेटस के रहता है: Kushki API का जवाब खो गया, उदाहरण के लिए टाइमआउट से। वेबहुक ऐसे भुगतानों की पुष्टि करता है। Kushki Console में जाँचें कि वेबहुक URL बिल्कुल वही है जो Webhook URL में दिखता है, उस मोड के खाते के लिए जिसका आप उपयोग करते हैं, और कि उस खाते की साइनेचर कुंजी सही फ़ील्ड में है (Test webhook signature या Live webhook signature)। भुगतान की गई राशि और मुद्रा के बिना स्वीकृत चार्ज ऑर्डर को On Hold (Review) Status में डाल देता है।
वेबहुक का जवाब Webhook signature not configured है: कोई वेबहुक साइनेचर सेट नहीं है। साइनेचर कुंजी सेटिंग्स में चिपकाएँ।
वेबहुक का जवाब Invalid signature है: साइनेचर कुंजी किसी और खाते या मोड की है, या सूचना रास्ते में बदल दी गई।
वेबहुक का जवाब Order mismatch है: सूचना इस ऑर्डर के किसी चार्ज प्रयास की नहीं है (गलत प्रयास कुंजी या लेन-देन)। कुछ नहीं बदला जाता।
वेबहुक का जवाब Busy, retry later है: उसी समय ऑर्डर किसी और अनुरोध द्वारा प्रोसेस हो रहा था, या ऑर्डर स्टेटस सेट नहीं हो सका। Kushki सूचना दोबारा भेज सकता है। त्रुटियाँ हमेशा लॉग में लिखी जाती हैं।
वेबहुक URL ब्राउज़र में केवल POST दिखाता है: यह सामान्य है। यह URL केवल Kushki की सूचनाएँ स्वीकार करता है।
कार्ड फ़ॉर्म लोड नहीं होता: ग्राहक The Kushki card form could not be loaded. Please reload the page or choose another payment method. देखता है। मौजूदा मोड का Public Merchant ID जाँचें।
ग्राहक को This payment option is not available in this store. Please pay by card.: दिखता है: Kushki फ़ॉर्म में कार्ड के अलावा कोई भुगतान विकल्प चुना गया। एक्सटेंशन केवल कार्ड से चार्ज करता है।
ग्राहक भुगतान करते समय त्रुटि देखता है: Debug log चालू करें और एक्सटेंशन पेज पर Log फ़ील्ड देखें। This payment method is not available. Please reload the checkout page. का मतलब है कि चेकआउट सेशन अब ऑर्डर से मेल नहीं खाता, या इस बीच भुगतान का तरीका बंद कर दिया गया: ग्राहक को चेकआउट रीलोड करना होगा। गलत या गायब Private Merchant ID से सामान्य संदेश मिलता है कि भुगतान प्रोसेस नहीं हो सका।
ग्राहक को Your payment was received, but the order could not be completed automatically दिखता है: Kushki ने चार्ज को मंज़ूरी दी, लेकिन OpenCart ऑर्डर स्टेटस सेट नहीं कर सका। लॉग कारण दिखाता है। उसी कार्ट का अगला भुगतान प्रयास बिना नए चार्ज के स्टेटस सेट करता है।
मोड से जुड़े संदेश के साथ रिफ़ंड विफल होता है: भुगतान टेस्ट या लाइव मोड में हुआ था, और उस मोड का Private Merchant ID सेट नहीं है। इसे दर्ज करें और फिर कोशिश करें।
टैब में रिफ़ंड फ़ॉर्म नहीं है: टैब कारण बताता है: भुगतान पहले ही रिफ़ंड हो चुका है, ऑर्डर का Kushki टिकट नंबर नहीं है (No Kushki ticket number found for this order — refund it in the Kushki Console.), आपके उपयोगकर्ता समूह के पास एक्सटेंशन बदलने का अधिकार नहीं है, या भुगतान के मोड का Private Merchant ID सेट नहीं है।
अनइंस्टॉल
Extensions > Extensions पर जाएँ, प्रकार Payments चुनें और VibeFox Kushki Payment के बगल में Uninstall (लाल − बटन) पर क्लिक करें। इस एक्सटेंशन की लाइसेंस कुंजी और लाइसेंस स्टेटस हमेशा हटा दिए जाते हैं। OpenCart एक्सटेंशन की अपनी सेटिंग्स हमेशा हटाता है: Enable / Disable, Sort Order, Geo Zone, Total, और Orders सेक्शन के ऑर्डर स्टेटस, जो दोबारा इंस्टॉल करने पर अपने डिफ़ॉल्ट पर लौट आते हैं। एक्सटेंशन का OpenCart इवेंट भी हटा दिया जाता है (OpenCart 4 पर उसके इवेंट, जिनमें ऊपर बताया गया संदेश दिखाने वाला इवेंट भी शामिल है, और उसका startup action भी, जो मेंटेनेंस मोड में वेबहुक को आगे जाने देता है)। यदि Delete data on uninstall चालू है, तो बाकी सेटिंग्स (शीर्षक, विवरण, टेस्ट मोड, Merchant ID, वेबहुक साइनेचर, लॉगिंग) और लॉग हटा दिए जाते हैं। यदि बंद है, तो बाद में दोबारा इंस्टॉल करने के लिए वे रखे जाते हैं। Kushki भुगतान रिकॉर्ड (चार्ज और रिफ़ंड) हमेशा रखे जाते हैं, ताकि पहले से भुगतान हुए ऑर्डर दोबारा इंस्टॉल करने के बाद भी रिफ़ंड किए जा सकें। मौजूदा ऑर्डर अपने भुगतान नोट्स रखते हैं।
OpenCart 4 पर एक्सटेंशन की फ़ाइलें भी हटाने के लिए, अनइंस्टॉल के बाद Extensions > Installer पर जाएँ और इंस्टॉल किए गए एक्सटेंशनों की सूची में VibeFox Kushki Payment के आगे Uninstall (नारंगी − बटन) पर क्लिक करें, फिर अपलोड किए गए पैकेज को हटाने के लिए Delete (लाल डस्टबिन बटन) पर क्लिक करें।
Kushki उसके संबंधित स्वामी का ट्रेडमार्क है। यह एक्सटेंशन Kushki से संबद्ध नहीं है और उसके द्वारा समर्थित नहीं है।
