वापस

VibeFox PayMongo for WooCommerce — सहायता

आवश्यकताएँ

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

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

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

मुद्रा: फ़िलीपीन पेसो (PHP)। जब स्टोर की मुद्रा, या Pay for order पेज पर ऑर्डर की मुद्रा, PHP न हो, तो यह भुगतान विधि छिप जाती है।

PayMongo खाता: आपको अपने PayMongo खाते की API सीक्रेट keys और हर मोड के लिए एक webhook चाहिए (देखें कॉन्फ़िगरेशन)। केवल सीक्रेट keys (sk_test_..., sk_live_...) और webhook साइनिंग सीक्रेट (whsk_...) इस्तेमाल होते हैं। सार्वजनिक keys की ज़रूरत नहीं है, क्योंकि भुगतान पेज PayMongo होस्ट करता है। आप जो भुगतान विधियाँ देना चाहते हैं, वे आपके PayMongo खाते में सक्रिय होनी चाहिए।

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

इंस्टॉलेशन

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

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

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

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

5. अपनी PayMongo सीक्रेट keys डालें, webhooks बनाएँ और उनके साइनिंग सीक्रेट डालें (देखें कॉन्फ़िगरेशन)।

6. भुगतान विधियाँ चुनें, Enable/Disable चालू करें और सेव करें। Test mode चालू रखकर एक भुगतान का परीक्षण करें, फिर उसे बंद करें।

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

सभी सेटिंग्स एक ही पेज पर हैं: WooCommerce > Settings > Payments > PayMongo। फ़ील्ड्स के ऊपर यह पेज चेतावनी देता है जब स्टोर की मुद्रा PHP न हो, जब मौजूदा मोड में सीक्रेट key न हो (तब चेकआउट पर PayMongo नहीं दिखता), या जब webhook सीक्रेट न हो (तब भुगतान केवल ग्राहक के लौटने पर पुष्ट होते हैं)। टेस्ट मोड चालू होने पर यह Test mode is on: no real payments are made. भी दिखाता है। भुगतान विधियों की सूची में PayMongo तब तक सेटअप की ज़रूरत वाला दिखता है जब तक मौजूदा मोड में सीक्रेट key न हो।

सामान्य

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

Title: वह नाम जो ग्राहक चेकआउट पर भुगतान विधि के रूप में देखते हैं। डिफ़ॉल्ट: PayMongo (Card, GCash, GrabPay, Maya)।

Description: चेकआउट पर भुगतान विधि के नीचे दिखने वाला टेक्स्ट। डिफ़ॉल्ट: You will be redirected to PayMongo to pay securely with your card, GCash, GrabPay or Maya.

Payment methods: PayMongo भुगतान पेज पर दी जाने वाली विधियाँ। केवल वे विधियाँ चुनें जो आपके PayMongo खाते में सक्रिय हों, अन्यथा PayMongo चेकआउट को अस्वीकार कर देगा। डिफ़ॉल्ट: Cards, GCash, GrabPay and Maya।

Cards (Visa, Mastercard): 3-D Secure PayMongo द्वारा संभाला जाता है।
GCash, GrabPay, Maya, ShopeePay: ई-वॉलेट।
QR Ph: QR कोड से भुगतान।
BillEase, Atome: अभी खरीदें, बाद में भुगतान करें।
Direct online banking (BPI, UnionBank): बैंक खाते से भुगतान।

API keys

सीक्रेट keys PayMongo Dashboard > Developers > API keys से कॉपी करें। सार्वजनिक keys की ज़रूरत नहीं है। हर key को अपेक्षित prefix से शुरू होना चाहिए। गलत prefix वाला मान सेव नहीं होता: पेज दिखाता है कि फ़ील्ड must start with वाले prefix से शुरू होना चाहिए, और The previous value was kept.

Test mode: Enable test mode (no real payments)। नए भुगतान टेस्ट keys इस्तेमाल करते हैं। पहले किए गए भुगतान अपने मोड को बनाए रखते हैं, इसलिए स्टेटस जाँच और रिफ़ंड मेल खाती key इस्तेमाल करते हैं। डिफ़ॉल्ट: चालू। असली भुगतान लेने के लिए इसे बंद करें।

Test secret key: टेस्ट मोड की सीक्रेट key। यह sk_test_ से शुरू होती है।

Test webhook secret: टेस्ट मोड के webhook का साइनिंग सीक्रेट। यह whsk_ से शुरू होता है।

Live secret key: लाइव मोड की सीक्रेट key। यह sk_live_ से शुरू होती है।

Live webhook secret: लाइव मोड के webhook का साइनिंग सीक्रेट। यह whsk_ से शुरू होता है।

Webhook

Webhook आपके स्टोर को बताता है कि भुगतान हो गया है, भले ही ग्राहक भुगतान के बाद ब्राउज़र बंद कर दे। टेस्ट और लाइव, हर मोड के लिए PayMongo Dashboard में (या PayMongo API के ज़रिए) एक webhook बनाएँ, जिसका URL सेटिंग्स के इस भाग में दिखाया गया है। यह कुछ इस तरह दिखता है: https://your-site/?wc-api=paymongo_p_webhook।

ये इवेंट चुनें:

checkout_session.payment.paid: ग्राहक ने PayMongo के भुगतान पेज पर भुगतान किया।
payment.paid: एक भुगतान पूरा हुआ।
payment.failed: भुगतान का एक प्रयास विफल हुआ।

हर webhook का साइनिंग सीक्रेट (whsk_...) Test webhook secret या Live webhook secret में कॉपी करें। बिना वैध साइनेचर वाले webhooks अस्वीकार होते हैं, और इवेंट का मोड साइनेचर के मोड से मेल खाना चाहिए। ऑर्डर बदलने से पहले हर इवेंट को PayMongo API से दोबारा जाँचा जाता है। PayMongo पूरे खाते के इवेंट हर webhook को भेजता है; इस स्टोर द्वारा न बनाए गए भुगतानों के इवेंट अनदेखे किए जाते हैं। Webhook के बिना, भुगतान केवल तब पुष्ट होते हैं जब ग्राहक आपके स्टोर पर लौटता है।

ऑर्डर

भुगतान के बाद ऑर्डर स्टेटस: सफल भुगतान के बाद सेट होने वाला ऑर्डर स्टेटस। स्टेटस तुरंत सेट होता है, दूसरे स्टेटस बदलाव के बिना।

Processing: WooCommerce का डिफ़ॉल्ट (डिफ़ॉल्ट विकल्प)।
Completed: उन वर्चुअल या डाउनलोड होने वाली वस्तुओं के लिए उपयुक्त जिन्हें शिपिंग नहीं चाहिए।

उन्नत

Debug log: Log API calls and webhook events इन्हें WooCommerce > Status > Logs में, स्रोत wcp_paymongo_payment_gateway के साथ लिखता है। त्रुटियाँ हमेशा दर्ज होती हैं। Keys और ग्राहक का डेटा कभी दर्ज नहीं होता। डिफ़ॉल्ट: बंद।

Delete data on uninstall: Delete the settings and logs when the plugin is deleted। ऑर्डरों पर सेव किए गए PayMongo ID रखे जाते हैं, क्योंकि रिफ़ंड और हिसाब-किताब के लिए उनकी ज़रूरत होती है। डिफ़ॉल्ट: बंद।

चेकआउट

ग्राहक भुगतान विधि चुनता है (डिफ़ॉल्ट रूप से PayMongo (Card, GCash, GrabPay, Maya)) और ऑर्डर देता है। टेस्ट मोड में चेकआउट Test mode: no real payment will be made. दिखाता है। प्लगइन PHP में ऑर्डर की कुल राशि के लिए एक PayMongo Checkout Session बनाता है, जिसमें Order # और ऑर्डर नंबर वाली एक पंक्ति होती है, और ग्राहक को PayMongo के भुगतान पेज पर भेजता है। ग्राहक का नाम, ईमेल, फ़ोन और बिलिंग पता PayMongo को दिए जाते हैं। वहाँ ग्राहक चुनी गई विधियों में से एक चुनकर भुगतान करता है।

यह भुगतान विधि केवल ₱100.00 या उससे अधिक के ऑर्डर के लिए दिखती है। इससे कम कुल राशि PayMongo से नहीं चुकाई जा सकती।

भुगतान के बाद ग्राहक आपके स्टोर के ऑर्डर प्राप्ति पेज पर लौटता है। ऑर्डर तभी भुगतान किया हुआ माना जाता है जब PayMongo उसकी पुष्टि करे: प्लगइन ग्राहक के लौटने पर और webhook आने पर PayMongo API से भुगतान की स्थिति पूछता है। अगर PayMongo अभी भी भुगतान प्रोसेस कर रहा है या उससे संपर्क नहीं हो पाता, तब भी ग्राहक ऑर्डर प्राप्ति पेज पर पहुँचता है, और webhook बाद में ऑर्डर पूरा कर देता है।

अगर ग्राहक PayMongo पेज पर रद्द कर देता है या भुगतान पूरा नहीं करता, तो वह Pay for order पेज पर पहुँचता है, जिसमें संदेश होता है: You cancelled the PayMongo payment. You can try again or choose another payment method. या Your PayMongo payment was not completed. You can try again or choose another payment method. ऑर्डर अभी भुगतान रहित रहता है। नया प्रयास पहले पिछले प्रयास की जाँच करता है: अगर इस बीच उसका भुगतान हो गया है, तो बिना नए भुगतान के ऑर्डर पूरा हो जाता है; वरना पिछला PayMongo checkout लिंक समाप्त हो जाता है, ताकि ग्राहक दो बार भुगतान न कर सके। जब तक पिछला भुगतान प्रोसेस हो रहा है, ग्राहक को Your previous PayMongo payment for this order is still being processed. Please wait a few minutes before trying again. दिखता है।

अगर PayMongo भुगतान शुरू नहीं कर पाता, तो ग्राहक को एक छोटा संदेश दिखता है, जैसे The payment could not be started. Please try again or choose another payment method. या PayMongo could not be reached. Please try again in a moment. तकनीकी कारण ऑर्डर नोट्स में जोड़ा जाता है।

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

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

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

ऑर्डर स्टेटस

Pending payment: ग्राहक को PayMongo पर भेजा गया है और उसने अभी भुगतान नहीं किया है, या PayMongo ने अभी भुगतान की पुष्टि नहीं की है। ऑर्डर के लिए बनाया गया हर PayMongo checkout एक नोट में दर्ज होता है। जब PayMongo कोई भुगतान प्रोसेस कर रहा होता है, तो एक नोट यह बताता है।

Processing या Completed: भुगतान की पुष्टि हो गई है। स्टेटस Order status after payment का पालन करता है। ऑर्डर नोट में PayMongo भुगतान, राशि, विधि और मोड दिखता है। ट्रांज़ैक्शन ID PayMongo का भुगतान ID (pay_...) है। ऑर्डर स्क्रीन बिलिंग पते के नीचे PayMongo checkout, payment intent और मोड दिखाती है।

On hold: भुगतान की गई राशि या मुद्रा ऑर्डर से अलग है (नोट amount/currency mismatch); या स्टोर लाइव मोड में होने पर टेस्ट मोड में भुगतान हुआ, इसलिए कोई पैसा नहीं मिला; या स्टॉक होल्ड की समय-सीमा जैसे कारण से ऑर्डर रद्द होने के बाद भुगतान आया। ऑर्डर नोट कारण बताता है। ऑर्डर की जाँच करें और उसे प्रोसेस करें या भुगतान रिफ़ंड करें।

Failed: एक साइन किए हुए payment.failed webhook ने बताया कि पेंडिंग ऑर्डर का नवीनतम भुगतान प्रयास विफल हुआ। नोट में PayMongo का failure code और संदेश दिखता है। ग्राहक फिर से भुगतान कर सकता है।

अगर पहले से भुगतान किए गए ऑर्डर के लिए दूसरा भुगतान आता है, जैसे पुराने checkout लिंक से, तो ऑर्डर नहीं बदलता। एक नोट आपसे PayMongo Dashboard में डुप्लिकेट भुगतान रिफ़ंड करने को कहता है। जो ऑर्डर पहले भुगतान हो चुका था और फिर रद्द या रिफ़ंड हुआ, उसे कभी फिर से नहीं खोला जाता।

रिफ़ंड

ऑर्डर खोलें, Refund पर क्लिक करें, राशि डालें और Refund via PayMongo (Card, GCash, GrabPay, Maya) पर क्लिक करें (बटन पर आपकी भुगतान विधि का शीर्षक दिखता है)। पूर्ण और आंशिक दोनों रिफ़ंड समर्थित हैं। रिफ़ंड उसी मोड (टेस्ट या लाइव) की सीक्रेट key से भेजा जाता है जिसमें भुगतान हुआ था, इसलिए वह key सेट होनी चाहिए। अगर PayMongo रिफ़ंड स्वीकार नहीं करता, तो WooCommerce त्रुटि दिखाता है और कोई रिफ़ंड दर्ज नहीं होता। सफल रिफ़ंड PayMongo refund ID और स्टेटस के साथ ऑर्डर नोट्स में जुड़ जाता है।

PayMongo Dashboard में किए गए रिफ़ंड WooCommerce में नहीं दिखते। WooCommerce ऑर्डर से रिफ़ंड करें, या WooCommerce में मैन्युअल रिफ़ंड बनाएँ।

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

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

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

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

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

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

चेकआउट पर PayMongo दिखाई नहीं देता: जाँचें कि लाइसेंस सक्रिय है, Enable/Disable चालू है, मौजूदा मोड में सीक्रेट key है (टेस्ट मोड में Test secret key, लाइव मोड में Live secret key), स्टोर की मुद्रा PHP है, और ऑर्डर की कुल राशि कम से कम ₱100.00 है। डेवलपर paymongo_p_minimum_amount फ़िल्टर से न्यूनतम राशि बदल सकते हैं।

भुगतान हो गया, लेकिन ऑर्डर Pending payment पर रहता है: webhook काम नहीं कर रहा और ग्राहक स्टोर पर वापस नहीं आया। PayMongo Dashboard में जाँचें कि जिस मोड का आप उपयोग करते हैं, उसमें webhook मौजूद है, उसका URL सेटिंग्स में दिखाए गए URL से हूबहू मेल खाता है, और तीनों इवेंट चुने गए हैं। जाँचें कि उसका साइनिंग सीक्रेट सही फ़ील्ड (Test webhook secret या Live webhook secret) में है।

Webhook Invalid signature का उत्तर देता है: उस मोड का साइनिंग सीक्रेट नहीं है या वह किसी दूसरे webhook का है। webhook का साइनिंग सीक्रेट उसके मोड वाले फ़ील्ड में डालें।

Webhook Mode mismatch का उत्तर देता है: टेस्ट इवेंट को लाइव के रूप में साइन किया गया, या इसके उलट। जाँचें कि हर webhook सही मोड का है।

Webhook Temporary error का उत्तर देता है: PayMongo API के ज़रिए भुगतान की जाँच नहीं हो सकी, या उसी समय कोई दूसरा अनुरोध ऑर्डर प्रोसेस कर रहा था। PayMongo webhook को अपने-आप दोबारा भेजता है।

मान सेव नहीं हुआ: कोई key गलत फ़ील्ड में चिपका दी गई। सीक्रेट keys sk_test_ या sk_live_ से, और webhook सीक्रेट whsk_ से शुरू होते हैं।

ग्राहक को ऑर्डर देते समय त्रुटि दिखती है: ऑर्डर नोट्स खोलें या WooCommerce > Status > Logs देखें, स्रोत wcp_paymongo_payment_gateway। गलत सीक्रेट key पर संदेश आता है कि भुगतान विधि अस्थायी रूप से उपलब्ध नहीं है। जो भुगतान विधि आपके PayMongo खाते में सक्रिय नहीं है, उसके कारण PayMongo चेकआउट अस्वीकार कर देता है; उसे Payment methods से हटा दें।

लाइव स्टोर पर टेस्ट भुगतान: स्टोर लाइव मोड में होने पर आया टेस्ट भुगतान ऑर्डर को इस नोट के साथ होल्ड पर रखता है कि कोई पैसा नहीं मिला। असली भुगतान टेस्ट मोड में वापस जाने के बाद भी पहचाने जाते हैं और लाइव key से रिफ़ंड होते हैं।

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

मोड से जुड़े संदेश के साथ रिफ़ंड विफल होता है: भुगतान टेस्ट या लाइव मोड में हुआ था, और उस मोड की सीक्रेट key सेट नहीं है। उसे डालें और दोबारा प्रयास करें।

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

अनइंस्टॉल

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

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