वापस

VibeFox Cashfree for WooCommerce — सहायता

आवश्यकताएँ

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

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

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

HTTPS: Cashfree वेबहुक केवल https:// पतों पर भेजता है। HTTPS के बिना भी भुगतान तब पुष्ट होते हैं जब ग्राहक स्टोर पर लौटता है, पर लाइव होने से पहले HTTPS सक्षम करें।

Cashfree खाता: आपको अपने Cashfree खाते का App ID और Secret Key चाहिए, टेस्ट (सैंडबॉक्स) और प्रोडक्शन वातावरण के लिए अलग-अलग, और Cashfree Merchant Dashboard में एक वेबहुक (देखें कॉन्फ़िगरेशन)। Secret Key वेबहुक सत्यापित करने में भी उपयोग होती है, इसलिए अलग वेबहुक सीक्रेट नहीं है। ऑर्डर की मुद्रा आपके Cashfree खाते में सक्षम होनी चाहिए।

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

इंस्टॉलेशन

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

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

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

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

5. Sandbox App ID और Sandbox Secret Key दर्ज करें, Cashfree Merchant Dashboard में वेबहुक जोड़ें (देखें कॉन्फ़िगरेशन), Enable/Disable चालू करें और एक भुगतान का परीक्षण करें।

6. तैयार होने पर लाइव App ID और Secret Key दर्ज करें और Sandbox Mode का निशान हटाएँ।

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

सभी सेटिंग्स एक ही पेज पर हैं: WooCommerce > Settings > Payments > Cashfree Payments। जब भुगतान विधि चालू होती है, तो पेज चेतावनी देता है यदि चुने गए मोड की API कुंजियाँ गायब हैं (तब भुगतान विधि चेकआउट पर छिपी रहती है), और सैंडबॉक्स मोड चालू होने पर Sandbox mode is on: customers see a test checkout and no real money is charged. दिखाता है। चालू गेटवे को चुने गए मोड की कुंजियों के बिना सहेजने पर त्रुटि संदेश बताता है कि इन्हें सेट होने तक भुगतान विधि चेकआउट पर छिपी रहेगी।

सामान्य

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

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

Description: चेकआउट पर भुगतान विधि के नीचे दिखने वाला पाठ। डिफ़ॉल्ट: Pay securely via Card, UPI, Net Banking, Wallet via Cashfree।

मोड और API कुंजियाँ

App ID और Secret Key अपने Cashfree Merchant Dashboard में Developers > API Keys के अंतर्गत पाएँ। टेस्ट और Production कुंजियाँ अलग हैं; हर एक को उसके अपने सेक्शन में दर्ज करें।

Sandbox Mode: Enable Sandbox (test) mode टेस्टिंग के लिए Cashfree सैंडबॉक्स का उपयोग करता है। कोई असली पैसा नहीं लिया जाता, और चेकआउट पर SANDBOX MODE - no real payments will be processed. दिखता है। डिफ़ॉल्ट: on। लाइव भुगतानों के लिए इसका निशान हटाएँ।

Sandbox क्रेडेंशियल

Sandbox App ID: आपके Cashfree टेस्ट वातावरण का App ID।

Sandbox Secret Key: आपके Cashfree टेस्ट वातावरण की Secret Key।

लाइव क्रेडेंशियल

App ID: आपके Cashfree प्रोडक्शन वातावरण का App ID।

Secret Key: आपके Cashfree प्रोडक्शन वातावरण की Secret Key।

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

वेबहुक

वेबहुक आपके स्टोर को बताता है कि भुगतान हुआ, विफल हुआ या रिफ़ंड किया गया। Cashfree Merchant Dashboard में Developers > Webhooks पर जाएँ और इस सेक्शन में दिखाया गया URL, Payment और Refund इवेंट के साथ, जोड़ें। यह ऐसा दिखता है: https://your-site/wc-api/cashfree_p/?action=webhook। HTTPS वाली साइट पर प्लगइन यह URL हर ऑर्डर के साथ Cashfree को भी भेजता है। यदि आपकी साइट HTTPS का उपयोग नहीं करती, तो यह सेक्शन चेतावनी दिखाता है।

प्लगइन ये इवेंट संभालता है:

PAYMENT_SUCCESS_WEBHOOK: भुगतान सफल हुआ। राशि और मुद्रा की जाँच के बाद ऑर्डर भुगतान किया हुआ चिह्नित होता है।
PAYMENT_FAILED_WEBHOOK: भुगतान विफल हुआ। ऑर्डर Failed चिह्नित होता है।
PAYMENT_USER_DROPPED_WEBHOOK: ग्राहक भुगतान छोड़कर चला गया। एक नोट जुड़ता है; ग्राहक फिर भी दोबारा कोशिश कर सकता है।
REFUND_STATUS_WEBHOOK और AUTO_REFUND_STATUS_WEBHOOK: रिफ़ंड की स्थिति बदली। रिफ़ंड ID, राशि और स्थिति के साथ एक नोट जुड़ता है।

Cashfree हर वेबहुक पर आपकी Secret Key से हस्ताक्षर करता है। बिना वैध हस्ताक्षर वाले वेबहुक अस्वीकार होते हैं। इस स्टोर द्वारा नहीं बनाए गए ऑर्डरों के हस्ताक्षरित वेबहुक (उदाहरण के लिए उसी Cashfree खाते पर दूसरा स्टोर) स्वीकार होते हैं और अनदेखे किए जाते हैं। वेबहुक के बिना ऑर्डर केवल तब पुष्ट होता है जब भुगतान के बाद ग्राहक स्टोर पर लौटता है। यदि भुगतान के बाद ग्राहक ब्राउज़र बंद कर दे, तो केवल वेबहुक ही ऑर्डर की पुष्टि कर सकता है।

उन्नत

API Version: उपयोग होने वाला Cashfree API संस्करण।

v1 (2022-09-01): डिफ़ॉल्ट।
v2 (2023-08-01): नया API संस्करण।

Order ID prefix: Cashfree ऑर्डर ID प्रीफ़िक्स + WooCommerce ऑर्डर ID से बनते हैं; दोबारा प्रयास को अंत में एक संख्या मिलती है। खाली छोड़ें तो इस साइट का स्वचालित प्रीफ़िक्स उपयोग होता है, जो फ़ील्ड विवरण में दिखता है। एक ही Cashfree खाते से जुड़े हर स्टोर के लिए अलग प्रीफ़िक्स उपयोग करें। केवल अक्षर, अंक, "_" और "-", अधिकतम 20 अक्षर। अन्य अक्षर सहेजते समय हटा दिए जाते हैं और संदेश दिखता है।

Debug log: Log Cashfree API events for debugging। त्रुटियाँ हमेशा लॉग होती हैं। चालू होने पर API कॉल और वेबहुक भी WooCommerce > Status > Logs में, source wcp_cashfree_payment के साथ लिखे जाते हैं। कुंजियाँ और ग्राहक का डेटा कभी लॉग नहीं होता। डिफ़ॉल्ट: off।

Delete Data on Uninstall: Delete all plugin data when uninstalling। चालू होने पर प्लगइन हटाने से Cashfree सेटिंग्स, प्लगइन लॉग और ऑर्डरों पर संग्रहीत Cashfree संदर्भ हट जाते हैं। ऑर्डर स्वयं बने रहते हैं। डिफ़ॉल्ट: off।

चेकआउट

ग्राहक भुगतान विधि चुनता है (डिफ़ॉल्ट रूप से Cashfree Payments) और ऑर्डर देता है। प्लगइन ऑर्डर की कुल राशि के लिए ऑर्डर की मुद्रा में Cashfree ऑर्डर बनाता है और Pay for order पेज खोलता है, जहाँ Redirecting to Cashfree for payment... दिखता है और Cashfree चेकआउट लोड होता है। यदि वह अपने-आप नहीं खुलता, तो ग्राहक Pay Now पर क्लिक कर सकता है। Cashfree चेकआउट पर ग्राहक आपके Cashfree खाते में सक्षम किसी भी विधि से भुगतान करता है, उदाहरण के लिए कार्ड, UPI, नेट बैंकिंग या वॉलेट।

भुगतान के बाद ग्राहक आपके स्टोर पर लौटता है। ऑर्डर तभी भुगतान किया हुआ चिह्नित होता है जब Cashfree उसकी पुष्टि करे: हस्ताक्षरित वेबहुक से, या ग्राहक के लौटने पर Cashfree से सर्वर-साइड अनुरोध से। यदि बैंक ने भुगतान की अभी पुष्टि नहीं की है, तो ऑर्डर प्राप्त पेज पर यह संदेश दिखता है: Your payment is being processed by the bank. We will update the order as soon as Cashfree confirms it — please do not pay again.

यदि भुगतान विफल होता है, या ग्राहक बिना भुगतान किए Cashfree पेज से चला जाता है, तो ग्राहक Pay for order पेज पर लौटता है, जहाँ The Cashfree payment was not completed. Please try again or choose another payment method. दिखता है। दोबारा कोशिश करने पर खुला Cashfree भुगतान दोबारा उपयोग होता है। यदि ऑर्डर की कुल राशि बदल गई या सेशन समाप्त होने वाला है, तो पुराना Cashfree ऑर्डर बंद कर दिया जाता है और नया बनता है, ताकि ऑर्डर दो बार न चुकाया जा सके। यदि ऑर्डर Cashfree पर पहले ही चुकाया जा चुका है पर दर्ज नहीं हुआ, तो अगला प्रयास दोबारा चार्ज करने के बजाय भुगतान को दर्ज करता है।

यदि Cashfree भुगतान शुरू नहीं कर पाता, तो ग्राहक को We could not start the Cashfree payment. Please try again or choose another payment method. दिखता है। तकनीकी कारण लॉग में लिखा जाता है। Cashfree की न्यूनतम सीमा (मुद्रा की 1 इकाई; BHD, JOD, KWD, OMR के लिए 0.01 और TND के लिए 0.1) से कम ऑर्डर राशि Cashfree से नहीं चुकाई जा सकती।

भुगतान विधि क्लासिक चेकआउट, Checkout ब्लॉक और Pay for order पेज पर काम करती है। यह WooCommerce High-Performance Order Storage (HPOS) के साथ संगत है। ग्राहक के सामने दिखने वाले पाठ हिंदी में अनुवादित हैं।

प्लगइन एक बार के भुगतान केवल Cashfree चेकआउट पर लेता है। इसमें सेव किए गए कार्ड, सब्सक्रिप्शन या आवर्ती भुगतान नहीं हैं, अलग authorize और capture नहीं है, Cashfree ऑफ़र विजेट नहीं है, Cashfree के माध्यम से COD या पेमेंट लिंक नहीं हैं, और मुद्रा रूपांतरण नहीं है: ऑर्डर ऑर्डर की मुद्रा में चार्ज होता है।

ऑर्डर और रिफ़ंड

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

Pending payment: ग्राहक को Cashfree पर भेजा गया है और उसने अभी भुगतान नहीं किया है, या बैंक में भुगतान अभी लंबित है। जब ग्राहक लंबित भुगतान के साथ लौटता है, तो एक नोट बताता है कि प्लगइन Cashfree वेबहुक की प्रतीक्षा कर रहा है।

Processing: भुगतान की पुष्टि हुई (केवल वर्चुअल डाउनलोड योग्य उत्पादों वाले ऑर्डर Completed बनते हैं, जो WooCommerce का डिफ़ॉल्ट है)। ऑर्डर नोट में Cashfree लेन-देन ID और भुगतान विधि समूह दिखता है। ऑर्डर का लेन-देन ID Cashfree भुगतान ID है। जो भुगतान ऑर्डर रद्द होने के बाद आता है, वह फिर भी दर्ज होता है, क्योंकि पैसा लिया जा चुका है।

On hold: Cashfree ने ऐसी भुगतान राशि या मुद्रा बताई जो ऑर्डर की कुल राशि से भिन्न है। ऑर्डर नोट में अपेक्षित और प्राप्त राशि और लेन-देन ID दिखते हैं। Cashfree डैशबोर्ड में भुगतान जाँचें, और ऑर्डर मैन्युअली पूरा करें या उसका रिफ़ंड करें।

Failed: भुगतान विफल हुआ या Cashfree पर रद्द हुआ। नोट में Cashfree स्थिति और कारण दिखते हैं। हर आगे का विफल प्रयास एक नोट जोड़ता है।

बाद के वेबहुक या वापसी से भुगतान किया हुआ ऑर्डर कभी वापस नहीं बदलता।

रिफ़ंड

ऑर्डर खोलें, Refund पर क्लिक करें, राशि दर्ज करें और Refund via Cashfree Payments पर क्लिक करें (बटन पर भुगतान विधि का शीर्षक दिखता है)। पूर्ण और आंशिक रिफ़ंड समर्थित हैं। रिफ़ंड उसी Cashfree ऑर्डर पर भेजा जाता है जिसका भुगतान हुआ था, और उसी वातावरण (सैंडबॉक्स या लाइव) में भेजा जाता है जिसमें भुगतान हुआ था, इसलिए उस वातावरण की कुंजियाँ सेट होनी चाहिए। यदि Cashfree रिफ़ंड स्वीकार नहीं करता, या उसे रद्द (cancelled) या अस्वीकृत (rejected) बताता है, तो WooCommerce त्रुटि दिखाता है और कोई रिफ़ंड दर्ज नहीं होता। शुरू हुआ रिफ़ंड अपने रिफ़ंड ID, राशि और स्थिति के साथ ऑर्डर नोट में जुड़ता है। अंतिम स्थिति रिफ़ंड वेबहुक से एक और ऑर्डर नोट के रूप में आती है।

रिफ़ंड की स्थिति वाले वेबहुक केवल नोट के रूप में जुड़ते हैं। वे अपने-आप WooCommerce रिफ़ंड के रूप में दर्ज नहीं होते।

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

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

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

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

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

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

Cashfree चेकआउट पर नहीं दिखता: जाँचें कि लाइसेंस सक्रिय है, Enable/Disable चालू है, और वर्तमान मोड की कुंजियाँ भरी हैं: सैंडबॉक्स मोड में Sandbox App ID और Sandbox Secret Key, लाइव मोड में App ID और Secret Key। ऑर्डर राशि Cashfree की न्यूनतम सीमा से कम हो, तब भी भुगतान विधि छिपी रहती है। कुंजियाँ गायब होने पर सेटिंग्स पेज चेतावनी दिखाता है।

भुगतान हो गया, पर ऑर्डर Pending payment पर रहता है: वेबहुक काम नहीं कर रहा। जाँचें कि आपकी साइट HTTPS का उपयोग करती है, Developers > Webhooks में URL सेटिंग्स में दिखाए URL से बिल्कुल मेल खाता है, और Payment इवेंट चुने गए हैं। जाँचें कि सेटिंग्स की Secret Key उसी वातावरण की है जिसमें ऑर्डर का भुगतान हुआ। ऑर्डर तब भी पुष्ट होता है जब भुगतान के बाद ग्राहक स्टोर पर लौटता है, और अगले भुगतान प्रयास पर।

Webhook answers Missing signature या Invalid signature: कॉल में वैध Cashfree हस्ताक्षर नहीं था, या सेटिंग्स की Secret Key उस वातावरण से मेल नहीं खाती जिसमें ऑर्डर बना था। Cashfree वेबहुक दोबारा भेजता है।

Webhook answers Ignored: वेबहुक सही हस्ताक्षरित है, पर वह ऐसे ऑर्डर का है जो इस स्टोर ने नहीं बनाया, उदाहरण के लिए उसी Cashfree खाते पर दूसरा स्टोर। हर स्टोर को अपना Order ID prefix दें।

Webhook answers Busy, retry later: उसी समय कोई दूसरा अनुरोध इस ऑर्डर को प्रोसेस कर रहा था। Cashfree वेबहुक दोबारा भेजता है।

The Cashfree payment page could not be loaded: ग्राहक को यह संदेश दिखता है। ब्राउज़र में Cashfree स्क्रिप्ट लोड नहीं हो पाई, उदाहरण के लिए किसी ब्लॉकर के कारण। ग्राहक Pay Now पर फिर से क्लिक कर सकता है, या Choose another payment method चुन सकता है।

We could not start the Cashfree payment: ग्राहक को यह संदेश दिखता है। Debug log चालू करें और WooCommerce > Status > Logs में source wcp_cashfree_payment देखें। आम कारण हैं चुने गए मोड के लिए गलत कुंजियाँ, या ऐसी मुद्रा जो आपके Cashfree खाते में सक्षम नहीं है।

The minimum amount for a Cashfree payment is …: ग्राहक को यह संदेश दिखता है। ऑर्डर की कुल राशि मुद्रा की Cashfree न्यूनतम सीमा से कम है।

We could not verify the payment: ग्राहक को यह संदेश दिखता है। वापसी का लिंक ऑर्डर से मेल नहीं खाया। यदि पैसा चार्ज हो गया है, तो भी वेबहुक ऑर्डर की पुष्टि करता है। ग्राहक दोबारा भुगतान करे, उससे पहले Cashfree डैशबोर्ड में भुगतान जाँचें।

Order is On hold after payment: ऑर्डर नोट पढ़ें। चुकाई गई राशि या मुद्रा ऑर्डर से मेल नहीं खाई। ऑर्डर पूरा करें या भुगतान का रिफ़ंड करें।

सैंडबॉक्स या लाइव मोड से संबंधित संदेश के साथ रिफ़ंड विफल होता है: ऑर्डर उसी वातावरण में चुकाया गया था, और उसकी API कुंजियाँ सेट नहीं हैं। उन्हें दर्ज करें और दोबारा कोशिश करें।

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

अनइंस्टॉल

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

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