वापस

VibeFox Xendit for WooCommerce — सहायता

आवश्यकताएँ

WordPress: 6.0 या उसके बाद का संस्करण।

WooCommerce: 8.0 या उसके बाद का संस्करण, इंस्टॉल और सक्रिय। इसके बिना प्लगइन सक्रिय नहीं होता।

PHP: 8.0 या उसके बाद का संस्करण।

स्टोर की मुद्रा: IDR, PHP, VND, THB, MYR, USD या SGD। अन्य मुद्राओं के लिए भुगतान विकल्प नहीं दिखता। कौन-से भुगतान चैनल और मुद्राएँ वास्तव में उपलब्ध हैं, यह आपके Xendit खाते पर निर्भर है।

Xendit खाता: आपको टेस्ट मोड के लिए एक secret API key चाहिए जिसमें Money-in (इनवॉइस) के लिए write permission हो, और लाइव मोड के लिए एक और; साथ ही हर मोड का वेबहुक सत्यापन टोकन (देखें कॉन्फ़िगरेशन)। केवल secret keys और सत्यापन टोकन उपयोग होते हैं। सार्वजनिक (public) key की ज़रूरत नहीं है, क्योंकि ग्राहक Xendit द्वारा होस्ट किए गए इनवॉइस पेज पर भुगतान करता है।

VibeFox लाइसेंस कुंजी: vibefox.net से खरीदी जाती है। एक कुंजी एक डोमेन पर काम करती है।

इंस्टॉलेशन

1. WordPress में Plugins > Add New > Upload Plugin पर जाएँ, प्लगइन की ZIP फ़ाइल चुनें और Install Now पर क्लिक करें। आप FTP से wcp_xendit_payment_gateway फ़ोल्डर को /wp-content/plugins/ में भी अपलोड कर सकते हैं।

2. Activate पर क्लिक करें।

3. सेटिंग्स खोलें: WooCommerce > Settings > Payments > Xendit > Manage, या Plugins पेज पर प्लगइन के नाम के नीचे Settings पर क्लिक करें।

4. पेज के शीर्ष पर लाइसेंस ब्लॉक में अपनी VibeFox लाइसेंस कुंजी डालें और Activate पर क्लिक करें।

5. अपनी Xendit secret keys डालें, Xendit Dashboard में वेबहुक URL सेट करें और सत्यापन टोकन डालें (देखें कॉन्फ़िगरेशन)।

6. Enable/Disable चालू करें। टेस्ट मोड में एक टेस्ट ऑर्डर दें, फिर असली भुगतान लेने के लिए Test Mode का चेकमार्क हटा दें।

कॉन्फ़िगरेशन

सभी सेटिंग्स एक ही पेज पर हैं: WooCommerce > Settings > Payments > Xendit। फ़ील्ड्स के ऊपर एक बैनर सक्रिय मोड दिखाता है: TEST MODE (इनवॉइस टेस्ट secret key से बनते हैं और कोई असली राशि नहीं ली जाती) या LIVE MODE (इनवॉइस लाइव secret key से बनते हैं और ग्राहकों से शुल्क लिया जाता है)। बैनर तब चेतावनी देता है जब सक्रिय मोड की secret key गायब हो या उसका प्रीफ़िक्स गलत हो (तब चेकआउट पर भुगतान विकल्प छिप जाता है), और जब सक्रिय मोड का वेबहुक सत्यापन टोकन खाली हो (Xendit की सूचनाएँ अस्वीकार हो जाती हैं, इसलिए ऑर्डर तभी अपडेट होते हैं जब ग्राहक आपके स्टोर पर लौटता है)। भुगतान विकल्पों की सूची में Xendit को तब तक सेटअप की ज़रूरत वाला दिखाया जाता है, जब तक सक्रिय मोड में एक वैध secret key न हो।

सामान्य

Enable/Disable: Enable Xendit भुगतान विकल्प को चालू या बंद करता है। डिफ़ॉल्ट: बंद।

Title: वह नाम जो ग्राहक चेकआउट पर देखते हैं। डिफ़ॉल्ट: Xendit।

Description: चेकआउट पर भुगतान विकल्प के नीचे दिखने वाला टेक्स्ट। डिफ़ॉल्ट: Pay with virtual accounts, e-wallets, QR codes, retail outlets or cards via Xendit.

API कुंजियाँ

Xendit Dashboard > Settings > Developers > API keys में Money-in (इनवॉइस) के लिए write permission वाली एक secret API key बनाएँ, एक बार Test मोड में और एक बार Live मोड में। कुंजी तय करती है कि इनवॉइस कहाँ बनेगा। सेव करते समय, जिस कुंजी का प्रीफ़िक्स उसके फ़ील्ड से मेल न खाए, वह सेव नहीं होती, और पेज दिखाता है, उदाहरण के लिए Test secret key was not saved: it must start with xnd_development_। बाकी सेटिंग्स सेव हो जाती हैं।

Test Mode: Enable test mode Test secret key से इनवॉइस बनाता है, इसलिए कोई असली राशि नहीं ली जाती। डिफ़ॉल्ट: चालू। असली भुगतान लेने के लिए इसका चेकमार्क हटाएँ और Live secret key इस्तेमाल करें।

Test Secret Key: Xendit के Test मोड की secret key। यह xnd_development_ से शुरू होती है।

Live Secret Key: Xendit के Live मोड की secret key। यह xnd_production_ से शुरू होती है।

वेबहुक

वेबहुक आपके स्टोर को बताता है कि कोई इनवॉइस भुगतान हो गया है। Xendit Dashboard > Settings > Developers > Webhooks में, सेटिंग्स के इस सेक्शन में दिखाया गया URL, Test और Live दोनों मोड के लिए, Invoices > Invoice paid पर सेट करें। वैकल्पिक रूप से इसे Invoice expired के लिए भी सेट कर सकते हैं। URL कुछ इस तरह दिखता है: https://your-site/wc-api/xendit_p_callback/। इसे ठीक वैसे ही कॉपी करें जैसा सेटिंग्स दिखाती हैं।

Invoice paid: ग्राहक ने इनवॉइस का भुगतान किया। नीचे बताई गई जाँच के बाद ऑर्डर भुगतान किया हुआ चिह्नित होता है।
Invoice expired: इनवॉइस बिना भुगतान के समाप्त हो गया। अगर ऑर्डर अब भी इसी इनवॉइस का इंतज़ार कर रहा था, तो वह विफल हो जाता है।

फिर Xendit Dashboard से हर मोड का Webhook verification token संबंधित फ़ील्ड में कॉपी करें। Xendit इसे x-callback-token हेडर में भेजता है। जिस मोड में इनवॉइस बना है, उसके टोकन के बिना आई सूचनाएँ अस्वीकार होती हैं। टोकन केवल यह साबित करता है कि सूचना Xendit से आई है: इनवॉइस की स्थिति, राशि और मुद्रा हमेशा उसी मोड की secret key से Xendit API से दोबारा पढ़ी जाती हैं। वेबहुक के बिना, ऑर्डर तभी पुष्ट होता है जब ग्राहक भुगतान के बाद स्टोर पर लौटता है।

Test Webhook Verification Token: Xendit Test मोड का वेबहुक सत्यापन टोकन।

Live Webhook Verification Token: Xendit Live मोड का वेबहुक सत्यापन टोकन।

भुगतान

Invoice Description: Xendit इनवॉइस पर दिखने वाला विवरण। आप {order_id}, {order_number} और {site_name} प्लेसहोल्डर इस्तेमाल कर सकते हैं। HTML हटा दिया जाता है और टेक्स्ट 255 अक्षरों पर काटा जाता है। डिफ़ॉल्ट: Order #{order_id}।

Order Status After Payment: Xendit के भुगतान की पुष्टि करने के बाद सेट होने वाली ऑर्डर स्थिति। स्थिति एक ही स्थिति-बदलाव में तुरंत सेट होती है।

Processing: WooCommerce का डिफ़ॉल्ट (डिफ़ॉल्ट)। केवल डाउनलोड होने वाले वर्चुअल उत्पादों वाले ऑर्डर पूर्ण हो जाते हैं।
Completed: हर भुगतान किया हुआ ऑर्डर पूर्ण हो जाता है।

एडवांस्ड

Debug Log: Log API requests and webhooks अनुरोध, वेबहुक और स्थिति-बदलाव WooCommerce > Status > Logs में लिखता है, स्रोत wcp_xendit_payment_gateway। त्रुटियाँ और चेतावनियाँ हमेशा लॉग होती हैं, भले ही यह बंद हो। API कुंजियाँ, टोकन और ग्राहक डेटा लॉग नहीं होते। डिफ़ॉल्ट: बंद।

Delete Data on Uninstall: Delete the plugin settings and logs when the plugin is deleted। प्लगइन को निष्क्रिय करने से कुछ भी नहीं हटता। ऑर्डर का डेटा (ऑर्डर में इनवॉइस ID) हमेशा रखा जाता है। डिफ़ॉल्ट: बंद।

चेकआउट

भुगतान विकल्प तब दिखता है जब स्टोर की मुद्रा IDR, PHP, VND, THB, MYR, USD या SGD हो। Pay for order पेज पर ऑर्डर की मुद्रा गिनी जाती है। ग्राहक भुगतान विकल्प चुनता है (डिफ़ॉल्ट रूप से Xendit) और ऑर्डर देता है। प्लगइन ऑर्डर की मुद्रा में ऑर्डर कुल के लिए एक Xendit इनवॉइस बनाता है और ग्राहक को Xendit इनवॉइस पेज पर भेजता है। IDR और VND की राशियाँ पूर्ण संख्याओं में राउंड की जाती हैं, क्योंकि Xendit इन मुद्राओं के लिए दशमलव स्वीकार नहीं करता। ग्राहक का बिलिंग ईमेल Xendit को भेजा जाता है। इनवॉइस पेज पर ग्राहक इस मुद्रा के लिए आपके Xendit खाते में सक्रिय भुगतान चैनलों में से किसी एक से भुगतान करता है, जैसे वर्चुअल अकाउंट, ई-वॉलेट, QR कोड, रिटेल आउटलेट या कार्ड।

भुगतान के बाद ग्राहक आपके स्टोर के ऑर्डर प्राप्ति पेज पर लौटता है। ऑर्डर तभी भुगतान किया हुआ चिह्नित होता है जब Xendit उसकी पुष्टि करता है: वेबहुक से, या जब ग्राहक उस पेज पर पहुँचता है तब सर्वर से Xendit API के अनुरोध से। तब तक ऑर्डर भुगतान लंबित रहता है।

अगर इनवॉइस विफल होता है या समाप्त होता है, तो Xendit ग्राहक को वापस भेज देता है। चेकआउट पर दिया गया ऑर्डर तब WooCommerce के मानक तरीके से रद्द होता है, और उसका इनवॉइस समाप्त हो जाता है। Pay for order पेज से भुगतान किया गया ऑर्डर (जैसे, जो आपने ग्राहक के लिए बनाया हो) The Xendit payment was not completed. You can try again or choose another payment method. संदेश के साथ अपने भुगतान पेज पर लौटता है और भुगतान योग्य रहता है।

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

अगर Xendit भुगतान शुरू नहीं कर सकता, तो ग्राहक को एक छोटा संदेश दिखता है और वह कोई दूसरा भुगतान विकल्प चुन सकता है, उदाहरण के लिए Xendit is temporarily unavailable. Please try again in a few minutes or choose another payment method., या यह संदेश कि आपके खाते के लिए मुद्रा स्वीकार नहीं है, या यह कि ऑर्डर कुल Xendit की राशि सीमा से बाहर है। तकनीकी कारण लॉग में लिखा जाता है। शून्य कुल वाला ऑर्डर Xendit से नहीं दिया जा सकता।

भुगतान विकल्प क्लासिक चेकआउट, Checkout ब्लॉक और Pay for order पेज पर काम करता है। टेस्ट मोड में Checkout ब्लॉक भुगतान विकल्प के नीचे Test mode: no real money is charged. दिखाता है। यह WooCommerce High-Performance Order Storage (HPOS) के साथ संगत है।

भुगतान हमेशा Xendit के पेज पर होता है। प्लगइन में WooCommerce से रिफ़ंड, सेव किए गए कार्ड, सब्सक्रिप्शन या आवर्ती भुगतान, चेकआउट पेज पर कार्ड या ई-वॉलेट फ़ील्ड, अलग authorize और capture, xenPlatform सब-अकाउंट, कस्टम इनवॉइस समाप्ति या भुगतान शुल्क नहीं हैं।

ऑर्डर

ऑर्डर स्थितियाँ

Pending payment: इनवॉइस बन गया है और ग्राहक ने अभी भुगतान नहीं किया है, या Xendit ने अभी भुगतान की पुष्टि नहीं की है। ऑर्डर नोट में इनवॉइस ID, राशि, मुद्रा और मोड दिखता है।

Processing or Completed: भुगतान की पुष्टि हो गई है। स्थिति Order Status After Payment का पालन करती है। ऑर्डर नोट में इनवॉइस ID, भुगतान की गई राशि, भुगतान चैनल और मोड दिखता है। ट्रांज़ैक्शन ID Xendit इनवॉइस ID है।

On hold: भुगतान किया हुआ इनवॉइस ऑर्डर कुल या मुद्रा से मेल नहीं खाया, या कुल से कम राशि भुगतान हुई (उदाहरण के लिए, इनवॉइस बनने के बाद ऑर्डर संपादित किया गया)। ऑर्डर नोट इसे समझाता है, भले ही ऑर्डर पहले से होल्ड पर हो। Xendit Dashboard में भुगतान जाँचें, फिर ऑर्डर पूरा करें या भुगतान रिफ़ंड करें।

Failed: मौजूदा इनवॉइस बिना भुगतान के समाप्त हो गया। ग्राहक ऑर्डर फिर से भुगतान कर सकता है।

Cancelled: ग्राहक किसी विफल या समाप्त इनवॉइस से लौटा, या ऑर्डर आपके द्वारा या बिना भुगतान वाले ऑर्डरों के लिए WooCommerce टाइमआउट द्वारा रद्द किया गया। खुला इनवॉइस समाप्त हो जाता है, इसलिए उसे अब भुगतान नहीं किया जा सकता। अगर Xendit यह स्वीकार नहीं करता, तो एक नोट आपसे Xendit Dashboard में इनवॉइस समाप्त करने को कहता है।

अगर कोई इनवॉइस ऐसे ऑर्डर के लिए भुगतान होता है जो पहले से भुगतान, रद्द या रिफ़ंड हो चुका है, तो ऑर्डर नहीं बदलता। एक नोट आपसे Xendit Dashboard में भुगतान रिफ़ंड करने या ऑर्डर मैन्युअली बहाल करने को कहता है।

रिफ़ंड

रिफ़ंड WooCommerce से Xendit को नहीं भेजे जाते। Xendit Dashboard में भुगतान रिफ़ंड करें (ऑर्डर नोट और ट्रांज़ैक्शन ID में इनवॉइस ID होता है) और WooCommerce में रिफ़ंड मैन्युअली दर्ज करें।

लाइसेंस कुंजी

प्लगइन vibefox.net की VibeFox लाइसेंस कुंजी के साथ काम करता है। लाइसेंस ब्लॉक WooCommerce > Settings > Payments > Xendit के शीर्ष पर है। कुंजी License key में चिपकाएँ और Activate पर क्लिक करें। ब्लॉक स्थिति दिखाता है, जैसे लाइसेंस किस तारीख तक सक्रिय है और आपका डोमेन। स्थिति फिर से जाँचने के लिए Check now, दूसरी कुंजी डालने के लिए Change key, और इस साइट से कुंजी हटाने के लिए Remove key इस्तेमाल करें। लिंक Manage licenses and domains in your account आपका vibefox.net खाता खोलता है।

एक कुंजी एक डोमेन पर काम करती है। किसी साइट से कुंजी हटाने पर उस डोमेन का स्लॉट खाली नहीं होता। अपने vibefox.net खाते में स्लॉट खाली करें।

सक्रिय कुंजी के बिना चेकआउट पर ग्राहकों को Xendit नहीं दिखाया जाता। अगर फिर भी भुगतान शुरू होता है, तो ग्राहक को This payment method is not available. Please choose another one. दिखता है। लॉग-इन किए स्टोर मैनेजर को भुगतान विकल्प (unlicensed — visible to admins only) के चिह्न के साथ अब भी दिखता है, ताकि आप कुंजी खरीदने से पहले प्लगइन सेट कर सकें और परख सकें। Plugins पेज और WooCommerce पेजों पर एक रिमाइंडर दिखता है। मौजूदा ऑर्डर प्रभावित नहीं होते: जो भुगतान पहले से शुरू हो चुके हैं, उनकी पुष्टि अब भी होती है।

लाइसेंस समाप्त होने पर प्लगइन काम करता रहता है, लेकिन अपडेट और सपोर्ट के लिए नवीनीकरण चाहिए। स्थिति पृष्ठभूमि में अपने-आप फिर से जाँची जाती है।

समस्या निवारण

चेकआउट पर Xendit दिखाई नहीं देता: जाँचें कि लाइसेंस सक्रिय है, Enable/Disable चालू है, सक्रिय मोड में सही प्रीफ़िक्स वाली secret key है (टेस्ट मोड में xnd_development_ वाली Test Secret Key, लाइव मोड में xnd_production_ वाली Live Secret Key), और स्टोर की मुद्रा IDR, PHP, VND, THB, MYR, USD या SGD है। कुंजी गायब या गलत होने पर सेटिंग्स का बैनर चेतावनी दिखाता है।

भुगतान हो गया, पर ऑर्डर भुगतान लंबित में है: वेबहुक काम नहीं कर रहा। जिस मोड (टेस्ट या लाइव) का आप उपयोग करते हैं, उसके Xendit Dashboard में जाँचें कि सेटिंग्स में दिखाया गया URL Invoice paid के लिए सेट है, और उस मोड का सत्यापन टोकन संबंधित फ़ील्ड में सेव है। Xendit Dashboard हर वेबहुक के लिए आपके स्टोर का उत्तर दिखाता है। ग्राहक के ऑर्डर प्राप्ति पेज पर लौटने पर भी ऑर्डर की पुष्टि होती है।

वेबहुक उत्तर «Webhook verification token is not configured»: दोनों सत्यापन टोकन में से कोई भी सेट नहीं है। टोकन सेटिंग्स में चिपकाएँ।

वेबहुक उत्तर «Unauthorized»: Xendit द्वारा भेजा गया टोकन सेटिंग्स के किसी टोकन से मेल नहीं खाता। सही मोड का टोकन दोबारा कॉपी करें।

वेबहुक उत्तर «Token does not match the mode of this invoice»: इनवॉइस दूसरे मोड में बना था। टेस्ट सूचना कभी लाइव ऑर्डर की पुष्टि नहीं करती, और उल्टा भी नहीं। वेबहुक और टोकन उसी मोड में सेट करें जिसमें ऑर्डर का भुगतान हुआ था।

वेबहुक उत्तर «Ignored: not an invoice of this store»: इनवॉइस इस स्टोर ने नहीं बनाया, उदाहरण के लिए उसी Xendit खाते पर किसी दूसरे इंटीग्रेशन ने बनाया। Xendit Dashboard का Test बटन भी यही उत्तर पाता है, जो पुष्टि करता है कि URL और टोकन काम करते हैं।

वेबहुक उत्तर «Temporary error»: इनवॉइस जाँचने के लिए Xendit API तक नहीं पहुँचा जा सका, इनवॉइस के मोड की secret key गायब है, या उसी समय कोई दूसरा अनुरोध ऑर्डर अपडेट कर रहा था। Xendit वेबहुक को दोबारा भेजता है। अगर आपके पास दोनों मोड के ऑर्डर हैं, तो जाँचें कि दोनों secret keys सेट हैं।

कुंजी सेव नहीं होती: मान उसके फ़ील्ड के प्रीफ़िक्स से शुरू नहीं होता। टेस्ट कुंजियाँ xnd_development_ से, लाइव कुंजियाँ xnd_production_ से शुरू होती हैं।

ग्राहक को «This payment method is temporarily unavailable» दिखता है: Xendit ने अनुरोध अस्वीकार किया, उदाहरण के लिए secret key गलत है या Money-in (इनवॉइस) के लिए write permission नहीं है। ज़रूरत हो तो Debug Log चालू करें और WooCommerce > Status > Logs में स्रोत wcp_xendit_payment_gateway देखें। बिलिंग विवरण से जुड़ा संदेश बताता है कि Xendit ने अनुरोध का डेटा स्वीकार नहीं किया, उदाहरण के लिए ईमेल।

ग्राहक को «A payment for this order was already received by Xendit and is being reviewed» दिखता है: इस ऑर्डर का कोई पुराना इनवॉइस भुगतान हो चुका है, लेकिन वह ऑर्डर से मेल नहीं खाया, इसलिए ऑर्डर होल्ड पर है। Xendit Dashboard में भुगतान जाँचें।

भुगतान के बाद ऑर्डर On hold है: ऑर्डर नोट पढ़ें। भुगतान की गई राशि या मुद्रा ऑर्डर से अलग थी। ऑर्डर पूरा करें या Xendit Dashboard में भुगतान रिफ़ंड करें।

लाइसेंस ब्लॉक में त्रुटि दिखती है: ब्लॉक का संदेश मानें। उदाहरण के लिए, अगर कुंजी पहले से किसी दूसरे डोमेन पर इस्तेमाल हो रही है, तो अपने vibefox.net खाते में स्लॉट खाली करें और Check now पर क्लिक करें। अगर साइट का पता बदल गया है, तो नए डोमेन के लिए कुंजी सक्रिय करने के लिए Check now पर क्लिक करें। अगर लाइसेंस सर्वर तक नहीं पहुँचा जा सकता, तो प्लगइन आखिरी ज्ञात स्थिति पर काम करता रहता है।

अनइंस्टॉल

प्लगइन को निष्क्रिय करने पर सारा डेटा बना रहता है। हटाने के लिए, Plugins पेज पर उसे निष्क्रिय करके डिलीट करें। इस प्लगइन की लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हटा दी जाती हैं। गेटवे सेटिंग्स, प्लगइन के बाकी विकल्प, अस्थायी डेटा और उसके लॉग (घुमाई गई लॉग फ़ाइलों सहित लॉग फ़ाइलें, डेटाबेस लॉग एंट्री और संस्करण 1.0 का लॉग फ़ोल्डर) तभी हटते हैं जब Delete Data on Uninstall चालू था। नहीं तो बाद में दोबारा इंस्टॉल करने के लिए वे बने रहते हैं। मौजूदा ऑर्डर अपने भुगतान नोट, इनवॉइस ID और ट्रांज़ैक्शन ID बनाए रखते हैं।

Xendit उसके संबंधित स्वामी का ट्रेडमार्क है। यह प्लगइन Xendit से संबद्ध नहीं है और Xendit द्वारा अनुमोदित नहीं है।