VibeFox Midtrans for WooCommerce — सहायता
आवश्यकताएँ
WordPress: 6.0 या उसके बाद का संस्करण।
WooCommerce: 8.0 या उसके बाद का संस्करण, इंस्टॉल और सक्रिय। WooCommerce के बिना प्लगइन सक्रिय नहीं होता।
PHP: 8.0 या उसके बाद का संस्करण।
स्टोर मुद्रा: इंडोनेशियाई रुपिया (IDR)। अन्य मुद्राओं के लिए चेकआउट पर भुगतान विकल्प छिपा दिया जाता है। मुद्रा रूपांतरण नहीं होता।
Midtrans खाता: आपको Midtrans Dashboard > Settings > Access Keys से Server Key चाहिए, sandbox डैशबोर्ड और production डैशबोर्ड दोनों में। केवल Server Key इस्तेमाल होती है। Snap Redirect के लिए Client Key की ज़रूरत नहीं है। भुगतान के तरीके (GoPay, QRIS, वर्चुअल अकाउंट और अन्य) आपके Midtrans खाते में सक्षम किए जाते हैं।
VibeFox लाइसेंस कुंजी: vibefox.net से खरीदी जाती है। एक कुंजी एक डोमेन पर काम करती है।
इंस्टॉलेशन
1. WordPress में Plugins > Add New > Upload Plugin पर जाएँ, प्लगइन की ZIP फ़ाइल चुनें और Install Now पर क्लिक करें। आप FTP से wcp_midtrans_payment_gateway फ़ोल्डर को /wp-content/plugins/ में भी अपलोड कर सकते हैं।
2. Activate पर क्लिक करें।
3. स्टोर मुद्रा को इंडोनेशियाई रुपिया (IDR) पर सेट करें।
4. सेटिंग्स खोलें: WooCommerce > Settings > Payments > Midtrans > Manage, या प्लगइन्स पेज पर प्लगइन के नाम के नीचे Settings पर क्लिक करें।
5. पेज के ऊपर लाइसेंस ब्लॉक में अपनी VibeFox लाइसेंस कुंजी डालें और Activate पर क्लिक करें।
6. Server Key डालें और payment notification URL को Midtrans डैशबोर्ड में कॉपी करें (कॉन्फ़िगरेशन देखें)।
7. Enable/Disable चालू करें। Sandbox में परीक्षण करें, फिर Environment को Production पर बदलें।
कॉन्फ़िगरेशन
सभी सेटिंग्स एक ही पेज पर हैं: WooCommerce > Settings > Payments > Midtrans। फ़ील्ड्स के ऊपर पेज चेतावनी देता है जब चुने गए वातावरण का Server Key नहीं होता (तब चेकआउट पर भुगतान विकल्प छिपा रहता है) और जब स्टोर मुद्रा IDR नहीं होती, और Sandbox चुने होने पर Sandbox mode: payments are simulated, no real money is charged. दिखाता है। भुगतान विकल्पों की सूची में Midtrans तब तक सेटअप आवश्यक के रूप में दिखता है जब तक Server Key न डाली जाए, और Sandbox में Test mode दिखाता है।
सामान्य
Enable/Disable: Enable Midtrans payments भुगतान विकल्प को चालू या बंद करता है। डिफ़ॉल्ट: off।
Title: चेकआउट पर ग्राहकों को दिखने वाला भुगतान विकल्प का शीर्षक। डिफ़ॉल्ट: Midtrans।
Description: चेकआउट पर भुगतान विकल्प के नीचे दिखने वाला पाठ। डिफ़ॉल्ट: Pay securely via Midtrans — GoPay, QRIS, ShopeePay, cards, bank transfer and more। Sandbox में SANDBOX MODE: no real money is charged. पंक्ति जुड़ जाती है।
API क्रेडेंशियल
Midtrans Dashboard > Settings > Access Keys से Server Key कॉपी करें। इस भाग में production और sandbox डैशबोर्ड के लिंक हैं।
Environment: कौन-सा Midtrans वातावरण नए भुगतानों के लिए उपयोग होगा। बदलने पर चुने गए वातावरण की कुंजी और API इस्तेमाल होते हैं। ऑर्डर अपने भुगतान वाले वातावरण को रिफ़ंड और सूचनाओं के लिए बनाए रखते हैं। डिफ़ॉल्ट: Sandbox।
Production Server Key: Mid-server- से शुरू होती है। इसे गोपनीय रखें।
Sandbox Server Key: SB-Mid-server- से शुरू होती है।
भुगतान सूचना URL
सूचना आपके स्टोर को बताती है कि भुगतान हो गया है। यह भाग वह URL दिखाता है जिसका उपयोग करना है। यह कुछ इस तरह दिखता है: https://your-site/wc-api/midtrans_p_callback/। इसे उस sandbox डैशबोर्ड और production डैशबोर्ड में चिपकाएँ जिसका आप उपयोग करते हैं, Midtrans Dashboard > Settings > Payment > Notification URL में। अगर आप URL को ब्राउज़र में खोलते हैं तो एक छोटा स्पष्टीकरण दिखता है, जिससे आप जाँच सकते हैं कि यह पहुँच योग्य है। Midtrans डैशबोर्ड का Test notification URL बटन भी उत्तर देता है।
हर सूचना में आपकी किसी एक Server Key से बना मान्य हस्ताक्षर होना चाहिए, और कुंजी का वातावरण ऑर्डर के वातावरण से मेल खाना चाहिए। मान्य हस्ताक्षर के बिना आई सूचनाएँ अस्वीकार की जाती हैं। इसके बाद स्टेटस Midtrans स्टेटस API से दोबारा पढ़ा जाता है। प्लगइन इन Midtrans लेन-देन स्टेटस को संभालता है:
सूचना URL के बिना, ऑर्डर तभी पक्का होता है जब ग्राहक भुगतान के बाद स्टोर पर लौटता है।
भुगतान सेटिंग्स
Midtrans केवल IDR में चार्ज करता है, और राशियाँ पूर्ण रुपये में भेजी जाती हैं। यदि ऑर्डर की पंक्तियों का योग गोल किए गए कुल से मेल नहीं खाता, तो Midtrans को एक Rounding adjustment पंक्ति भेजी जाती है।
Status after payment: पुष्टि किए गए भुगतान के बाद ऑर्डर स्टेटस। स्टेटस एक ही चरण में सेट होता है, ग्राहक को दोहरे ईमेल नहीं जाते।
Payment page expiry (minutes): ग्राहक कितनी देर तक भुगतान कर सकता है (Snap पेज, वर्चुअल अकाउंट आदि)। खाली छोड़ें या 0 रखें, तो Midtrans का डिफ़ॉल्ट लागू होगा।
Order ID prefix: Midtrans को भेजे जाने वाले ऑर्डर नंबर में जोड़ा जाता है, ताकि कई स्टोर एक ही Midtrans खाता साझा कर सकें। केवल अक्षर, अंक और - _ . ~, अधिकतम 20 अक्षर; अन्य अक्षर सेव करते समय हटा दिए जाते हैं। दूसरे स्टोर्स की सूचनाएँ अनदेखी की जाती हैं। डिफ़ॉल्ट: WC-।
एडवांस्ड
Debug log: Log API calls and notifications चालू करने पर यह WooCommerce > Status > Logs में, स्रोत wcp_midtrans_payment_gateway के साथ लिखता है। त्रुटियाँ हमेशा दर्ज होती हैं। कुंजियाँ और ग्राहक का डेटा कभी दर्ज नहीं होता। डिफ़ॉल्ट: off।
Delete data on uninstall: Remove the plugin settings and logs when the plugin is deleted (deactivation keeps everything). Order data is kept. डिफ़ॉल्ट: off।
चेकआउट
ग्राहक भुगतान का तरीका चुनता है (डिफ़ॉल्ट रूप से Midtrans) और ऑर्डर देता है। प्लगइन ऑर्डर की कुल राशि के लिए पूर्ण रुपये में Midtrans Snap लेन-देन बनाता है, जिसमें ऑर्डर की पंक्तियाँ, शिपिंग, टैक्स और ग्राहक के बिलिंग व शिपिंग विवरण शामिल होते हैं, और ग्राहक को Midtrans भुगतान पेज पर भेजता है। वहाँ ग्राहक आपके Midtrans खाते में सक्षम कोई भी तरीका चुनता है।
भुगतान के बाद ग्राहक आपके स्टोर के ऑर्डर प्राप्ति पेज पर लौटता है। वापसी का लिंक अपने-आप ऑर्डर को भुगतान किया हुआ नहीं बनाता: प्लगइन Midtrans स्टेटस API से पूछता है, और ऑर्डर तभी भुगतान किया हुआ चिह्नित होता है जब Midtrans उसकी पुष्टि करे। जब तक भुगतान की पुष्टि नहीं होती, पेज We are waiting for Midtrans to confirm your payment. ... दिखाता है। पेज पर उपयोग किया गया भुगतान तरीका भी दिखता है।
यदि भुगतान पूरा नहीं हुआ, तो ग्राहक को The Midtrans payment was not completed. You can try again below. संदेश के साथ Pay for order पेज पर भेजा जाता है। यदि भुगतान अस्वीकृत हुआ या समाप्त हो गया, तो संदेश है Your Midtrans payment was declined or has expired. Please try again or choose another payment method.। जब ग्राहक फिर से भुगतान करता है, तो उसी राशि का कोई अप्रयुक्त या लंबित Snap फिर से उपयोग होता है। यदि राशि बदली है, तो पहले Midtrans पर लंबित लेन-देन की समय-सीमा समाप्त की जाती है। यदि इस बीच पिछला Snap भुगतान हो गया, तो ऑर्डर की पुष्टि होती है और कोई नया लेन-देन नहीं बनता।
यदि Midtrans भुगतान शुरू नहीं कर पाता, तो ग्राहक को Could not connect to Midtrans. Please try again in a moment., Midtrans payments are temporarily unavailable. Please choose another payment method or contact us. (उदाहरण के लिए गलत Server Key होने पर) या Midtrans का बताया कारण दिखता है। तकनीकी कारण ऑर्डर नोट्स में जोड़ा जाता है।
यह भुगतान तरीका क्लासिक चेकआउट, Checkout ब्लॉक और Pay for order पेज पर काम करता है। यह WooCommerce High-Performance Order Storage (HPOS) के साथ संगत है।
प्लगइन केवल Snap Redirect का उपयोग करता है। इसमें Snap पॉप-अप नहीं है, आपकी साइट पर कार्ड फ़ॉर्म नहीं है, सेव किए गए कार्ड या वन-क्लिक भुगतान नहीं हैं, किस्त या प्रोमो सेटिंग्स नहीं हैं (भुगतान तरीके Midtrans डैशबोर्ड में कॉन्फ़िगर करें), और WooCommerce Subscriptions नहीं है। कार्ड भुगतान तुरंत कैप्चर होते हैं, authorize और capture अलग-अलग नहीं होते।
ऑर्डर और रिफ़ंड
ऑर्डर स्टेटस
Pending payment: ग्राहक को Midtrans पर भेजा गया है और उसने अभी भुगतान का तरीका नहीं चुना है।
On hold: ग्राहक ने विलंबित तरीका चुना है और अभी भुगतान नहीं किया, या कार्ड भुगतान धोखाधड़ी समीक्षा (challenge) में है, या भुगतान की गई राशि या मुद्रा ऑर्डर से मेल नहीं खाती। रद्द ऑर्डर पर भुगतान आने पर भी होल्ड लगता है; ऑर्डर अपने-आप दोबारा नहीं खुलता। ऑर्डर नोट इसका कारण बताता है।
Processing, Completed or On hold after payment: भुगतान की पुष्टि हो गई। स्टेटस Status after payment के अनुसार होता है। ऑर्डर नोट में भुगतान का तरीका और Midtrans ID दिखते हैं। ट्रांज़ैक्शन ID Midtrans ट्रांज़ैक्शन ID है, और ऑर्डर स्क्रीन पर यह ऑर्डर के वातावरण वाले Midtrans डैशबोर्ड के लेन-देन से लिंक होता है।
Failed: भुगतान विफल हुआ, या challenge में चल रहा कार्ड भुगतान अस्वीकृत हुआ।
Cancelled: अनभुगतान लेन-देन की समय-सीमा समाप्त हो गई या उसे रद्द किया गया। स्टॉक वापस होता है। जब आप WooCommerce में अनभुगतान Midtrans ऑर्डर रद्द करते हैं (या अनभुगतान ऑर्डर का टाइमर ऐसा करता है), तो उसका लंबित Midtrans लेन-देन, जैसे जारी किया गया वर्चुअल अकाउंट, समाप्त कर दिया जाता है ताकि उस पर अब भुगतान न हो सके।
यदि पहले से भुगतान किए गए ऑर्डर पर दूसरा भुगतान आता है, तो ऑर्डर फिर से नहीं बदलता। एक नोट आपसे दूसरे भुगतान का Midtrans डैशबोर्ड में रिफ़ंड करने को कहता है। रिफ़ंड किए गए ऑर्डर पर आया भुगतान केवल नोट जोड़ता है।
रिफ़ंड
ऑर्डर खोलें, Refund पर क्लिक करें, राशि डालें और Refund via Midtrans पर क्लिक करें (बटन पर आपका Title दिखता है)। पूर्ण और आंशिक रिफ़ंड पूर्ण रुपये में समर्थित हैं; दशमलव वाली राशि अस्वीकार होती है। रिफ़ंड उसी वातावरण में भेजा जाता है जिसमें ऑर्डर का भुगतान हुआ था, इसलिए उस वातावरण की Server Key सेट होनी चाहिए। Midtrans केवल कुछ भुगतान तरीकों और लेन-देन स्थितियों के लिए API रिफ़ंड की अनुमति देता है (जैसे सेटल हुए कार्ड, GoPay, QRIS या ShopeePay भुगतान)। यदि Midtrans रिफ़ंड स्वीकार नहीं करता, तो WooCommerce त्रुटि दिखाता है और कोई रिफ़ंड दर्ज नहीं होता; तब Midtrans डैशबोर्ड से रिफ़ंड करें। सफल रिफ़ंड ऑर्डर नोट्स में जुड़ जाता है।
Midtrans डैशबोर्ड में किए गए रिफ़ंड सूचना के माध्यम से आते हैं और अपने-आप Refunded in the Midtrans dashboard कारण के साथ WooCommerce रिफ़ंड के रूप में दर्ज होते हैं।
लाइसेंस कुंजी
प्लगइन vibefox.net से मिली VibeFox लाइसेंस कुंजी के साथ काम करता है। लाइसेंस ब्लॉक WooCommerce > Settings > Payments > Midtrans के ऊपर है। कुंजी License key में चिपकाएँ और Activate पर क्लिक करें। ब्लॉक स्टेटस दिखाता है, जैसे वह तारीख जब तक लाइसेंस सक्रिय है और आपका डोमेन। स्टेटस दोबारा जाँचने के लिए Check now, दूसरी कुंजी डालने के लिए Change key और इस साइट से कुंजी हटाने के लिए Remove key इस्तेमाल करें। Manage licenses and domains in your account लिंक आपका vibefox.net खाता खोलता है।
एक कुंजी एक डोमेन पर काम करती है। किसी साइट से कुंजी हटाने पर उसकी डोमेन स्लॉट खाली नहीं होती। अपने vibefox.net खाते में स्लॉट खाली करें।
सक्रिय कुंजी के बिना चेकआउट पर ग्राहकों को Midtrans नहीं दिखता। फिर भी यदि भुगतान शुरू हो जाए, तो ग्राहक को This payment method is not available. Please choose another one. दिखता है। लॉग इन किए स्टोर मैनेजरों को भुगतान तरीका (unlicensed — visible to admins only) चिह्न के साथ दिखता रहता है, ताकि आप कुंजी खरीदने से पहले प्लगइन सेट करके परख सकें। प्लगइन्स पेज और WooCommerce पेजों पर एक रिमाइंडर दिखता है। मौजूदा ऑर्डर प्रभावित नहीं होते: जो भुगतान शुरू हो चुके हैं वे अब भी पक्के होते हैं, और रिफ़ंड काम करते हैं।
जब लाइसेंस की समय-सीमा समाप्त होती है, तब भी प्लगइन काम करता रहता है, पर अपडेट और सपोर्ट के लिए नवीनीकरण चाहिए। स्टेटस पृष्ठभूमि में अपने-आप दोबारा जाँचा जाता है।
समस्या निवारण
चेकआउट पर Midtrans दिखाई नहीं देता: जाँचें कि लाइसेंस सक्रिय है, Enable/Disable चालू है और चुने गए Environment के लिए Server Key है। जाँचें कि स्टोर मुद्रा (या Pay for order पेज पर ऑर्डर की मुद्रा) IDR है। सेटिंग्स पेज इनमें से हर समस्या के लिए चेतावनी दिखाता है।
भुगतान हो गया, पर ऑर्डर Pending payment पर अटका है: सूचना काम नहीं कर रही। जाँचें कि जिस वातावरण (sandbox या production) का आप उपयोग करते हैं, उसके Midtrans डैशबोर्ड में payment notification URL सेट है और पहुँच योग्य है: उसे ब्राउज़र में खोलें, एक छोटा स्पष्टीकरण दिखेगा। सूचनाएँ देखने के लिए Debug log चालू करें। भुगतान के बाद ग्राहक के स्टोर पर लौटने पर भी ऑर्डर पक्का होता है।
सूचना का उत्तर Invalid signature है: सूचना आपकी Sandbox या Production Server Key से हस्ताक्षरित नहीं थी। जाँचें कि सेटिंग्स की कुंजियाँ उसी Midtrans खाते की हैं जिस डैशबोर्ड से सूचनाएँ आती हैं।
सूचना का उत्तर Server key not configured है: कोई Server Key सेट नहीं है। उसे सेटिंग्स में डालें; Midtrans सूचना फिर से भेजेगा।
सूचना का उत्तर Order not found — ignored है: Midtrans ऑर्डर ID इस स्टोर के किसी ऑर्डर का नहीं है, जैसे उसी Midtrans खाते के किसी दूसरे स्टोर से। हर स्टोर को अलग Order ID prefix दें।
सूचना का उत्तर Environment mismatch — ignored है: सूचना ऐसी कुंजी से हस्ताक्षरित थी जो उस वातावरण की नहीं है जिसमें ऑर्डर का भुगतान हुआ था।
सूचना का उत्तर Verification failed, please retry है: Midtrans स्टेटस API तक नहीं पहुँचा जा सका। Midtrans सूचना फिर से भेजेगा।
ऑर्डर On hold पर है: ऑर्डर नोट पढ़ें। ग्राहक ने विलंबित भुगतान पूरा नहीं किया, या कार्ड भुगतान धोखाधड़ी समीक्षा में है, या भुगतान की गई राशि या मुद्रा ऑर्डर से मेल नहीं खाती।
ग्राहक को ऑर्डर देते समय त्रुटि दिखती है: ऑर्डर नोट खोलें या Debug log चालू करके WooCommerce > Status > Logs में स्रोत wcp_midtrans_payment_gateway देखें। IDR के अलावा किसी मुद्रा का ऑर्डर Midtrans only supports payments in IDR (Indonesian Rupiah). Please choose another payment method. दिखाता है।
रिफ़ंड विफल होता है: भुगतान तरीका या लेन-देन की स्थिति API रिफ़ंड की अनुमति नहीं देती; Midtrans डैशबोर्ड से रिफ़ंड करें, रिफ़ंड अपने-आप WooCommerce में दर्ज हो जाएगा। यदि संदेश कहता है कि जिस वातावरण में ऑर्डर का भुगतान हुआ था, उसके लिए कोई Server Key कॉन्फ़िगर नहीं है, तो वह कुंजी डालकर फिर से प्रयास करें।
लाइसेंस ब्लॉक त्रुटि दिखाता है: ब्लॉक के संदेश का पालन करें। उदाहरण के लिए, यदि कुंजी किसी दूसरे डोमेन पर पहले से इस्तेमाल हो रही है, तो अपने vibefox.net खाते में स्लॉट खाली करें और Check now पर क्लिक करें। यदि साइट का पता बदल गया है, तो नए डोमेन के लिए कुंजी सक्रिय करने हेतु Check now पर क्लिक करें। यदि लाइसेंस सर्वर तक नहीं पहुँचा जा सकता, तो प्लगइन अंतिम ज्ञात स्टेटस पर काम करता रहता है।
अनइंस्टॉल
प्लगइन को निष्क्रिय करने पर सारा डेटा रहता है। हटाने के लिए उसे निष्क्रिय करें और फिर Plugins पेज से हटाएँ। इस प्लगइन की लाइसेंस कुंजी और लाइसेंस स्टेटस हमेशा हटा दिए जाते हैं। गेटवे सेटिंग्स और लॉग तभी हटते हैं जब Delete data on uninstall चालू था। अन्यथा वे बाद में दोबारा इंस्टॉल करने के लिए रहते हैं। मौजूदा ऑर्डर अपने भुगतान नोट्स और ट्रांज़ैक्शन ID रखते हैं।
Midtrans अपने-अपने स्वामियों के ट्रेडमार्क हैं। यह प्लगइन Midtrans से संबद्ध नहीं है और Midtrans द्वारा अनुमोदित नहीं है।
