वापस

VibeFox Authorize.Net for OpenCart — सहायता

आवश्यकताएँ

OpenCart: 3.0.x (3.0.5.0 पर परीक्षण किया गया) या 4.0.2 और उसके बाद का संस्करण (4.1.0.3 पर परीक्षण किया गया)।

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

HTTPS: आपके चेकआउट को HTTPS का उपयोग करना होगा। Accept.js सादे HTTP पेजों पर नहीं चलता।

Authorize.Net खाता: आपके Authorize.Net खाते की API Login ID, Transaction Key और Public Client Key चाहिए, और यदि आप वेबहुक उपयोग करते हैं तो Signature Key भी चाहिए। प्रोडक्शन खाते (account.authorize.net) और sandbox खाते (sandbox.authorize.net) की क्रेडेंशियल अलग-अलग होती हैं। Authorize.Net खाते अमेरिका, कनाडा, UK, यूरोप, ऑस्ट्रेलिया और न्यूज़ीलैंड के मर्चेंट्स के लिए उपलब्ध हैं।

मुद्रा: ऑर्डर की मुद्रा USD, CAD, CHF, DKK, EUR, GBP, NOK, PLN, SEK, AUD या NZD में से एक होनी चाहिए, और आपके Authorize.Net खाते का सेटलमेंट उसी मुद्रा में होना चाहिए। अन्य मुद्राओं के लिए चेकआउट पर भुगतान विधि छिपा दी जाती है।

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

इंस्टॉलेशन

डाउनलोड एक zip फ़ाइल है, जिसमें दोनों OpenCart संस्करणों के पैकेज हैं। इसे अपने कंप्यूटर पर अनज़िप करें। इसमें README.txt, OpenCart 3 का पैकेज wcp_authorizenet_gateway-oc3-(संस्करण).ocmod.zip और OpenCart 4 का पैकेज wcp_authorizenet_gateway.ocmod.zip है। केवल अपने OpenCart संस्करण का पैकेज इंस्टॉल करें। दोनों संस्करणों के लिए लाइसेंस कुंजी एक ही है।

OpenCart 3

1. एडमिन में Extensions > Installer पर जाएँ, Upload पर क्लिक करें और फ़ाइल wcp_authorizenet_gateway-oc3-(संस्करण).ocmod.zip चुनें। इस एक्सटेंशन में कोई OCMOD बदलाव नहीं है, इसलिए Extensions > Modifications को रिफ़्रेश करने की ज़रूरत नहीं है। इंस्टॉलर के बजाय आप आर्काइव के upload फ़ोल्डर की सामग्री अपने स्टोर के रूट फ़ोल्डर में भी कॉपी कर सकते हैं।

2. Extensions > Extensions पर जाएँ और प्रकार Payments चुनें। VibeFox Authorize.Net Gateway खोजें और Install (हरा + बटन) पर क्लिक करें। आपके एडमिन यूज़र के पास भुगतान एक्सटेंशन की सूची बदलने का अधिकार होना चाहिए।

3. सेटिंग्स पेज खोलने के लिए Edit (पेंसिल बटन) पर क्लिक करें। अपनी VibeFox लाइसेंस कुंजी पेज के ऊपर लाइसेंस ब्लॉक में License key में पेस्ट करें और Activate पर क्लिक करें (देखें लाइसेंस कुंजी)।

4. sandbox और प्रोडक्शन खातों की क्रेडेंशियल दर्ज करें (देखें कॉन्फ़िगरेशन)। वैकल्पिक रूप से वेबहुक सेट करें।

5. Enable/Disable चालू करें, Transaction type चुनें और Save पर क्लिक करें। sandbox मोड में कार्ड 4111 1111 1111 1111, कोई भी भविष्य की एक्सपायरी तारीख और कोई भी CVV लेकर भुगतान का परीक्षण करें, फिर Sandbox mode बंद करें।

OpenCart 4

1. एडमिन में Extensions > Installer पर जाएँ, Upload पर क्लिक करें और फ़ाइल wcp_authorizenet_gateway.ocmod.zip चुनें। फ़ाइल का नाम न बदलें: OpenCart 4 एक्सटेंशन कोड फ़ाइल के नाम से लेता है, और नाम बदला हुआ पैकेज काम नहीं करता।

2. इंस्टॉल किए गए एक्सटेंशन की सूची में पैकेज उसी पेज पर दिखता है। उसके आगे Install (हरा + बटन) पर क्लिक करें।

3. Extensions > Extensions पर जाएँ और एक्सटेंशन का प्रकार Payments चुनें। VibeFox Authorize.Net Gateway खोजें, Install (हरा + बटन) पर क्लिक करें, फिर Edit (पेंसिल बटन) पर क्लिक करें।

4. लाइसेंस कुंजी और सेटिंग्स वैसे ही दर्ज करें जैसे OpenCart 3 के चरण 3 से 5 में हैं। सेटिंग्स पेज और उसके फ़ील्ड दोनों संस्करणों में एक जैसे हैं। केवल webhook URL अलग है (देखें Webhooks)।

नई इंस्टॉलेशन भुगतान विधि बंद और sandbox मोड चालू के साथ शुरू होती है।

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

सभी सेटिंग्स एक्सटेंशन पेज पर हैं: Extensions > Extensions > Payments > VibeFox Authorize.Net Gateway > Edit। सेक्शन बाईं ओर सूचीबद्ध हैं; सूची के नीचे का Save बटन पूरा पेज सेव करता है। सेटिंग्स के ऊपर पेज आपको चेतावनी देता है जब स्टोरफ़्रंट HTTPS का उपयोग नहीं करता (Accept.js केवल HTTPS पेजों पर काम करता है), जब स्टोर की डिफ़ॉल्ट मुद्रा Authorize.Net द्वारा समर्थित नहीं है, जब वर्तमान मोड में API Login ID, Transaction Key या Public Client Key नहीं है (तब चेकआउट पर भुगतान विधि छिपी रहती है), और जब वर्तमान मोड में Signature Key नहीं है (तब वेबहुक अक्षम रहते हैं)। जब तक sandbox मोड चालू है, यह Sandbox mode is on: test transactions, no real charges. दिखाता है। एक्सटेंशन बदलने का अधिकार न होने पर पेज सेटिंग्स दिखाता है, पर उन्हें सेव नहीं कर सकता।

सेव करते समय Title में 1 से 128 अक्षर होने चाहिए, Transaction type दो विकल्पों में से एक होना चाहिए, Sort Order पूर्ण संख्या होनी चाहिए, Total 0 या उससे अधिक की संख्या होनी चाहिए, और geo zone तथा ऑर्डर स्थितियाँ मौजूद होनी चाहिए। यदि कोई फ़ील्ड गलत है, तो कुछ भी सेव नहीं होता और पेज उस फ़ील्ड का नाम बताता है।

Authorize.Net

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

Title: वह भुगतान विधि का नाम जो ग्राहक चेकआउट पर देखते हैं। यही नाम ऑर्डर में भी सहेजा जाता है। डिफ़ॉल्ट: Credit Card। आवश्यक, 128 अक्षरों तक।

Description: वह टेक्स्ट जो ग्राहक को Confirm Order चरण पर कार्ड फ़ॉर्म के ऊपर दिखता है। डिफ़ॉल्ट: Pay securely with your credit card via Authorize.Net.

Sort Order: चेकआउट पर अन्य भुगतान विधियों के बीच कार्ड भुगतान का स्थान। खाली छोड़ें या कोई पूर्ण संख्या दर्ज करें।

Geo Zone: कार्ड फ़ॉर्म केवल चुने गए geo zone के भुगतान पतों के लिए दिखाएँ। डिफ़ॉल्ट: All zones। Geo zones System > Localisation > Geo Zones में सेट किए जाते हैं।

Total: चेकआउट का वह कुल योग, स्टोर की डिफ़ॉल्ट मुद्रा में, जिस तक पहुँचने पर ही भुगतान विधि दी जाती है। किसी भी राशि के लिए देने हेतु खाली छोड़ें।

API credentials

Authorize.Net Merchant Interface में Account > Settings > Security Settings खोलें। API Credentials & Keys के अंतर्गत API Login ID कॉपी करें और Transaction Key तथा Signature Key बनाएँ। Manage Public Client Key के अंतर्गत Public Client Key कॉपी करें। sandbox और प्रोडक्शन अलग-अलग क्रेडेंशियल उपयोग करते हैं। यह सेक्शन दोनों मोड के फ़ील्ड दिखाता है, इसलिए आप दोनों सेट सुरक्षित रख सकते हैं।

Sandbox mode: Authorize.Net sandbox का उपयोग करता है (परीक्षण लेन-देन, कोई वास्तविक शुल्क नहीं)। यह API endpoint, Accept.js और नए भुगतानों के लिए उपयोग होने वाले क्रेडेंशियल सेट को बदल देता है। डिफ़ॉल्ट: चालू। वास्तविक भुगतान लेने के लिए इसे बंद करें। चालू रहने पर ग्राहक कार्ड फ़ॉर्म के ऊपर Sandbox mode: के साथ परीक्षण कार्ड 4111 1111 1111 1111 देखते हैं।

Sandbox API Login ID और Live API Login ID: sandbox या प्रोडक्शन खाते की API Login ID।

Sandbox Transaction Key और Live Transaction Key: उस खाते की Transaction Key।

Sandbox Public Client Key और Live Public Client Key: वह सार्वजनिक कुंजी जिसे Accept.js ब्राउज़र में उपयोग करता है।

Sandbox Signature Key और Live Signature Key: केवल वेबहुक के लिए आवश्यक। यह हर सूचना के X-ANET-Signature हेडर को सत्यापित करती है।

सहेजी गई Transaction Keys और Signature Keys फिर कभी नहीं दिखाई जातीं। फ़ील्ड खाली रहता है और Saved — leave empty to keep it. दिखाता है। केवल बदलाव करने के लिए नया मान दर्ज करें। सहेजी कुंजी हटाने के लिए फ़ील्ड के नीचे Clear the saved value on save पर टिक लगाएँ और Save पर क्लिक करें।

Payment

Transaction type: कार्ड से शुल्क कैसे लिया जाए। एक authorization 30 दिनों बाद समाप्त हो जाता है।

Authorize and capture: कार्ड से तुरंत शुल्क लेता है; ऑर्डर को Order Status After Payment (डिफ़ॉल्ट) मिलता है।
Authorize only: राशि रोकता है; ऑर्डर को Authorized Status मिलता है। बाद में ऑर्डर टैब या Authorize.Net पैनल में Capture payment से उसे कैप्चर करें।

Webhooks (recommended)

वेबहुक के बिना, Fraud Detection Suite द्वारा रोके गए या Authorize.Net पैनल में कैप्चर या void किए गए ऑर्डर हाथ से अपडेट करने होंगे। Merchant Interface में Account > Settings > Business Settings > Webhooks पर जाएँ और sandbox तथा प्रोडक्शन दोनों खातों में Add Endpoint पर क्लिक करें। इस सेक्शन में Endpoint URL के अंतर्गत दिखाया गया URL उपयोग करें। OpenCart 3 पर यह कुछ इस तरह दिखता है: https://your-store/index.php?route=extension/payment/wcp_authorizenet_gateway/webhook, और OpenCart 4 पर: https://your-store/index.php?route=extension/wcp_authorizenet_gateway/payment/wcp_authorizenet_gateway.webhook। यह आपकी OpenCart इंस्टॉलेशन के स्टोरफ़्रंट पते से बनता है। URL को ठीक वैसा ही कॉपी करें जैसा सेटिंग्स दिखाती हैं। ये इवेंट चुनें (ये इस सेक्शन में भी सूचीबद्ध हैं):

net.authorize.payment.fraud.approved: समीक्षा के लिए रोका गया लेन-देन स्वीकृत हुआ।
net.authorize.payment.fraud.declined: समीक्षा के लिए रोका गया लेन-देन अस्वीकृत हुआ।
net.authorize.payment.priorAuthCapture.created: एक authorization कैप्चर हुआ, उदाहरण के लिए Authorize.Net पैनल में।
net.authorize.payment.void.created: एक लेन-देन void हुआ।

प्रत्येक खाते की Signature Key Sandbox Signature Key या Live Signature Key में दर्ज करें। वैध हस्ताक्षर के बिना वेबहुक अस्वीकार कर दिए जाते हैं। एक सूचना उसी मोड की कुंजी से हस्ताक्षरित होनी चाहिए जिस मोड में भुगतान हुआ था; दूसरे मोड की सूचना कुछ नहीं बदलती। हर सूचना के लिए एक्सटेंशन ऑर्डर बदलने से पहले Authorize.Net से लेन-देन की वर्तमान स्थिति और राशि भी पूछता है, इसलिए दोहराई गई सूचनाएँ कुछ नहीं बदलतीं। वेबहुक तब भी काम करता है जब स्टोर maintenance मोड में हो, क्योंकि OpenCart भुगतान एक्सटेंशन के अनुरोधों को जाने देता है।

Orders

OpenCart Confirm Order चरण पर ऑर्डर बिना स्थिति के बनाता है (एक लापता ऑर्डर)। ऑर्डर को तभी स्थिति मिलती है जब Authorize.Net कार्ड के लिए उत्तर दे देता है। नीचे का हर फ़ील्ड आपकी OpenCart ऑर्डर स्थितियों की सूची दिखाता है।

Order Status After Payment: कार्ड से शुल्क लिया गया (Authorize and capture, या बाद में कैप्चर)। डिफ़ॉल्ट: Processing।

Authorized Status: Authorize only: राशि रोकी गई है, अभी कैप्चर नहीं हुई। ऑर्डर टैब पर Capture payment केवल इसी स्थिति में दिया जाता है। डिफ़ॉल्ट: Pending।

On Hold (Review) Status: Fraud Detection Suite ने समीक्षा के लिए रोका है, या चार्ज या कैप्चर की गई राशि ऑर्डर से भिन्न है। एक नोट कारण बताता है। डिफ़ॉल्ट: Pending, क्योंकि OpenCart में On hold स्थिति नहीं है। आप System > Localisation > Order Statuses में अपनी स्थितियाँ बना सकते हैं और यहाँ चुन सकते हैं।

Canceled Status: Authorize.Net में बिना भुगतान के अस्वीकृत, void या समाप्त (वेबहुक), या ऑर्डर टैब से authorization void किया गया। डिफ़ॉल्ट: Canceled।

Refunded Status: ऑर्डर टैब से भुगतान पूरी तरह रिफ़ंड होने के बाद (या भुगतान किया गया लेन-देन void होने के बाद) सेट होता है। डिफ़ॉल्ट: Refunded।

Advanced

Debug log: API अनुरोध और उत्तर OpenCart लॉग फ़ोल्डर (storage/logs) की wc_ang_debug.log.php फ़ाइल में लिखता है। यह फ़ाइल वेब से नहीं खोली जा सकती, और 5 MB पर इसे wc_ang_debug.old.log.php में ले जाया जाता है। कुंजियाँ, कार्ड टोकन और व्यक्तिगत डेटा मास्क कर दिए जाते हैं। डिफ़ॉल्ट: बंद। अस्वीकृत या विफल भुगतान, API त्रुटियाँ और विफल रिफ़ंड जैसी त्रुटियाँ हमेशा लॉग होती हैं, भले ही यह बंद हो।

Log: लॉग का आकार और नवीनतम प्रविष्टियाँ दिखाता है। उसे खाली करने के लिए Clear log पर क्लिक करें।

Delete data on uninstall: चालू होने पर एक्सटेंशन हटाने से सेटिंग्स और लॉग हट जाते हैं। Authorize.Net के लेन-देन और रिफ़ंड हमेशा बने रहते हैं, ताकि पहले भुगतान किए गए ऑर्डर री-इंस्टॉल के बाद भी कैप्चर और रिफ़ंड किए जा सकें। डिफ़ॉल्ट: बंद।

Import / Export

Export: Download JSON सेटिंग्स को JSON फ़ाइल के रूप में सहेजता है। Transaction Keys और Signature Keys एक्सपोर्ट नहीं होतीं।

Import: पहले एक्सपोर्ट किया गया JSON पेस्ट करें और सेटिंग्स बहाल करने के लिए Import पर क्लिक करें। सहेजी गई गुप्त कुंजियाँ सुरक्षित रहती हैं।

चेकआउट

Payment Method चरण पर ग्राहक भुगतान विधि चुनता है (डिफ़ॉल्ट रूप से Credit Card)। Confirm Order चरण पर ग्राहक आपका विवरण देखता है और पुष्टि बटन के ऊपर के फ़ॉर्म में कार्ड नंबर, एक्सपायरी तारीख (MM/YY) और कार्ड कोड (CVV) दर्ज करता है। OpenCart इसी चरण पर ऑर्डर बनाता है, पर अभी भी उसकी कोई स्थिति नहीं होती। Accept.js केवल इसी फ़ॉर्म के साथ Authorize.Net से लोड होता है। जब ग्राहक Confirm Order पर क्लिक करता है, तब Accept.js ब्राउज़र में कार्ड डेटा को एक बार उपयोग होने वाले टोकन में बदल देता है। कार्ड फ़ील्ड के फ़ॉर्म नाम नहीं होते, इसलिए कार्ड नंबर और CVV कभी आपके सर्वर तक नहीं पहुँचते।

एक्सटेंशन Authorize.Net API के जरिए ऑर्डर मुद्रा में ऑर्डर कुल के लिए टोकन पर शुल्क लेता है। बिलिंग पता, ईमेल और IP पता पता-सत्यापन और धोखाधड़ी फ़िल्टर के लिए लेन-देन के साथ भेजे जाते हैं, और ऑर्डर नंबर इनवॉइस नंबर के रूप में भेजा जाता है। ऑर्डर को तभी भुगतान किया हुआ चिह्नित किया जाता है जब Authorize.Net उसकी पुष्टि करता है: यदि लेन-देन स्वीकृत होता है, तो ऑर्डर को OpenCart के सामान्य तरीके से स्थिति मिलती है, सामान्य ऑर्डर ईमेल भेजे जाते हैं और स्टॉक अपडेट होता है, कार्ट खाली हो जाता है, और ग्राहक को OpenCart ऑर्डर सफलता पेज पर Your card payment has been received. दिखता है। Authorize only के साथ पेज पर Your card payment has been authorized. The amount will be charged when your order is processed. दिखता है। यदि Fraud Detection Suite लेन-देन रोकता है, तो Your payment is being reviewed. We will update your order as soon as the review is complete. दिखाया जाता है।

यदि कार्ड अस्वीकार होता है, तो ग्राहक Confirm Order चरण पर रहता है और फ़ॉर्म के नीचे Payment failed: के साथ कारण देखता है, जैसे कार्ड अस्वीकृत, गलत कार्ड कोड, या कार्ड की एक्सपायरी बीत चुकी। ऑर्डर बिना स्थिति के रहता है, कार्ट सुरक्षित रहता है, और ग्राहक दूसरा कार्ड डाल सकता है। कॉन्फ़िगरेशन और API त्रुटियाँ ग्राहकों को नहीं दिखाई जातीं: उन्हें सामान्य संदेश दिखता है, और विवरण लॉग में जाते हैं। यदि स्टोर Authorize.Net तक नहीं पहुँच पाता, तो ग्राहक को Payment error: unable to connect to the payment gateway. Please try again. दिखता है। यदि कार्ड फ़ील्ड खाली हैं, तो फ़ॉर्म Please enter the card number, expiry date and card code. माँगता है।

डबल क्लिक, दूसरे टैब या बार-बार सबमिट करने से कोई ऑर्डर कभी दो बार चार्ज नहीं होता। हर बार Confirm Order चरण दिखने पर OpenCart 3 एक नया ऑर्डर बनाता है, इसलिए एक ही कार्ट के कई ऑर्डर हो सकते हैं (OpenCart 4 पर कोई पिछला ऑर्डर या दूसरा ब्राउज़र टैब अब भी वही कार्ट रख सकता है): उनमें से एक के भुगतान होते ही उसी कार्ट के दूसरे ऑर्डर से शुल्क नहीं लिया जाता। ग्राहक को This cart has already been paid with order #…. Please check your order history — do not pay again. दिखता है। पहला प्रयास चलते समय दूसरा प्रयास Your payment is already being processed. Please wait a moment and check your order history before trying again. दिखाता है। यदि भुगतान स्वीकृत हो गया हो पर ऑर्डर की स्थिति सेट न हो पाई हो, तो ग्राहक को Your payment was received, but the order could not be completed automatically. Please contact us — do not pay again. दिखता है। फिर अगले प्रयास पर या वेबहुक द्वारा ऑर्डर को स्वीकृत भुगतान से स्थिति मिलती है, बिना कार्ड पर दोबारा शुल्क लगाए।

OpenCart 4 पर ग्राहक भुगतान विधि ब्लॉक के Choose बटन से, Payment method options विंडो में, भुगतान विधि चुनता है। कार्ड फ़ॉर्म तब चेकआउट पेज के नीचे, Confirm Order के ऊपर, ऑर्डर पुष्टि ब्लॉक में दिखता है। OpenCart 4 पर भुगतान पता वैकल्पिक है: उसके बिना शिपिंग पता Authorize.Net को बिलिंग पते के रूप में भेजा जाता है। OpenCart 4 चेकआउट के लिए एक ही ऑर्डर रखता है और उसे अपडेट करता है, इसलिए रद्द कार्ड के बाद ग्राहक वही ऑर्डर चुकाता है। यदि वह ऑर्डर इस बीच बंद हो गया हो (उदाहरण के लिए आपने उसे रद्द किया हो), या वह पहले से चुकाया जा चुका हो और कार्ट में अब नई खरीदारी हो, तो Confirm Order ग्राहक को चेकआउट पेज पर वापस ले जाता है, और अगला Confirm Order एक नया ऑर्डर चुकाता है। चेकआउट पेज के ऊपर ग्राहक को, ऑर्डर बंद होने पर, Your previous order is closed (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. Please confirm the order again: the cart will be paid with a new order. दिखता है। कार्ट में कोई भी बदलाव, नई मात्रा सहित, एक नई कार्ट माना जाता है जिसे अपने भुगतान की ज़रूरत है।

यदि लिया गया शुल्क ऑर्डर कुल से मेल नहीं खाता, तो ऑर्डर एक नोट के साथ On Hold (Review) Status पर चला जाता है, और भुगतान वास्तव में लिए गए शुल्क की राशि के साथ दर्ज होता है।

इस एक्सटेंशन में सहेजे गए कार्ड या ग्राहक प्रोफ़ाइल नहीं हैं, सब्सक्रिप्शन या आवर्ती भुगतान नहीं हैं, eCheck/ACH, Apple Pay, Google Pay, PayPal या 3-D Secure नहीं हैं, authorization का आंशिक कैप्चर नहीं है और स्वचालित मुद्रा रूपांतरण नहीं है।

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

Order statuses

No status (missing order): कार्ड अस्वीकृत हुआ या भुगतान विफल हुआ। Sales > Orders में ऐसे ऑर्डर केवल तभी दिखते हैं जब Order Status फ़िल्टर Missing Orders पर सेट हो।

Order Status After Payment (default Processing): कार्ड से शुल्क लिया गया (Authorize and capture), या कोई authorization कैप्चर हुआ। एक नोट राशि, Trans ID, auth code, कार्ड प्रकार और अंतिम चार अंक दिखाता है।

Authorized Status (default Pending): राशि केवल authorize हुई है (Authorize only)। शिपमेंट से पहले उसे कैप्चर करें।

On Hold (Review) Status (default Pending): Fraud Detection Suite ने लेन-देन को समीक्षा के लिए रोका है, चार्ज की गई राशि ऑर्डर कुल से मेल नहीं खाती, या वेबहुक द्वारा रिपोर्ट किया गया कैप्चर ऑर्डर राशि से मेल नहीं खाता। नोट इसे समझाता है। रोके गए लेन-देन को Authorize.Net पैनल में स्वीकृत या अस्वीकृत करें; वेबहुक के साथ ऑर्डर अपने-आप अपडेट हो जाता है।

Canceled Status (default Canceled): एक वेबहुक ने बताया कि ऑर्डर का भुगतान होने से पहले लेन-देन अस्वीकृत, void या समाप्त हो गया, या आपने ऐसा authorization void किया जो कैप्चर नहीं हुआ था। यदि भुगतान किए गए ऑर्डर का लेन-देन Authorize.Net पैनल में void किया जाता है, तो उसकी स्थिति नहीं बदलती और एक चेतावनी नोट जोड़ा जाता है।

Refunded Status (default Refunded): भुगतान एक्सटेंशन के जरिए पूरी तरह रिफ़ंड या void किया गया।

OpenCart 4 पर चेकआउट का एक अवैतनिक ऑर्डर Voided स्थिति पा सकता है, जिसे OpenCart 4 तब सेट करता है जब ग्राहक Confirm Order चरण पर वापस आता है। एक्सटेंशन ऐसे ऑर्डर को बिना स्थिति वाले ऑर्डर की तरह देखता है: बाद का भुगतान या वेबहुक फिर भी उसकी स्थिति सेट करता है।

नोट ऑर्डर के History की वे प्रविष्टियाँ हैं जो ग्राहक को दिखाई नहीं देतीं।

VibeFox Authorize.Net Gateway tab

Sales > Orders में Authorize.Net से भुगतान किया गया ऑर्डर खोलें। ऑर्डर पेज के नीचे, History और Additional के बगल में, VibeFox Authorize.Net Gateway टैब sandbox भुगतानों के लिए Sandbox लेबल के साथ Trans ID, Transaction type, लेन-देन की Status, Card और auth code, Charged / order / refunded राशियाँ, कैप्चर बटन, रिफ़ंड फ़ॉर्म, रिफ़ंड इतिहास और ऑर्डर के Authorize.Net notes दिखाता है। यह टैब उन उपयोगकर्ताओं को दिखता है जिनकी एक्सटेंशन तक पहुँच है। कैप्चर और रिफ़ंड के लिए एक्सटेंशन बदलने का अधिकार चाहिए (System > Users > User Groups में सेट)।

Capture

Authorized Status वाले ऑर्डर के लिए टैब में Capture payment पर क्लिक करें और Capture the authorized amount through Authorize.Net? की पुष्टि करें। स्वीकृत राशि कैप्चर होती है और ऑर्डर को Order Status After Payment मिलता है। यदि कैप्चर विफल होता है, तो त्रुटि दिखती है और नोट में जुड़ जाती है। आप Authorize.Net पैनल में भी कैप्चर कर सकते हैं; वेबहुक के साथ ऑर्डर अपने-आप अपडेट होता है।

Refunds

टैब में Amount दर्ज करें (जो राशि अभी रिफ़ंड नहीं हुई है, वह भर दी जाती है), वैकल्पिक रूप से Reason (optional), फिर Refund via Authorize.Net पर क्लिक करें और Refund this amount through Authorize.Net? This cannot be undone. की पुष्टि करें। पूरी राशि का रिफ़ंड पहले लेन-देन को void करता है, यदि वह अभी सेटल नहीं हुआ है, या उस authorization को void करता है जो कैप्चर नहीं हुआ। सेटल हो चुके लेन-देन, आमतौर पर 24 घंटे बाद, पूरी या आंशिक रूप से रिफ़ंड किए जा सकते हैं। सेटलमेंट से पहले आंशिक रिफ़ंड संभव नहीं है: लेन-देन void करने के लिए पूरी राशि रिफ़ंड करें, या सेटलमेंट के बाद फिर से प्रयास करें। रिफ़ंड उसी राशि और मुद्रा में होते हैं जो Authorize.Net ने चार्ज की थी, इसलिए राशि में अंतर होने पर आप ऑर्डर कुल तक नहीं, बल्कि ग्राहक द्वारा वास्तव में चुकाई गई राशि तक ही रिफ़ंड कर सकते हैं। यदि Authorize.Net रिफ़ंड स्वीकार नहीं करता, तो टैब त्रुटि दिखाता है और कोई रिफ़ंड दर्ज नहीं होता। सफल रिफ़ंड या void रिफ़ंड इतिहास और नोट्स में जुड़ जाता है। पूरा रिफ़ंड ऑर्डर को Refunded Status पर सेट करता है (केवल authorization void होने पर Canceled Status), बिना ग्राहक को सूचित किए और बिना उत्पादों को स्टॉक में लौटाए, जैसे मैनुअल स्थिति बदलने पर होता है। आंशिक रिफ़ंड स्थिति नहीं बदलता। जब तक कोई लेन-देन समीक्षा के लिए रोका गया है, रिफ़ंड नहीं दिए जाते।

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

Sales > Returns में उत्पाद वापसी Authorize.Net के जरिए पैसे वापस नहीं भेजती। Authorize.Net पैनल में किए गए रिफ़ंड स्टोर को रिपोर्ट नहीं होते: ऑर्डर को मैनुअली अपडेट करें।

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

यह एक्सटेंशन vibefox.net से मिली VibeFox लाइसेंस कुंजी के साथ काम करता है। लाइसेंस ब्लॉक License — VibeFox Authorize.Net Gateway, Extensions > Extensions > Payments > VibeFox Authorize.Net Gateway > Edit पर सेटिंग्स के ऊपर पहला ब्लॉक है। कुंजी को License key में पेस्ट करें और Activate पर क्लिक करें। इसके बाद ब्लॉक कुंजी को मास्क करके, स्थिति (जैसे वह तारीख जब तक लाइसेंस सक्रिय है और आपका डोमेन) और ये बटन दिखाता है: स्थिति फिर से जाँचने के लिए Check now, दूसरी कुंजी दर्ज करने के लिए Change key, और इस स्टोर से कुंजी हटाने के लिए Remove key। इनके नीचे Product: opencart-payment-authorizenet वाली पंक्ति और आपके vibefox.net खाते को खोलने वाला लिंक Manage licenses and domains in your account है। केवल वे एडमिन उपयोगकर्ता कुंजी बदल सकते हैं जिनके पास इस एक्सटेंशन के लिए Modify अनुमति है। ब्लॉक के पाठ एडमिन भाषा का पालन करते हैं (अंग्रेज़ी और रूसी शामिल हैं)।

यदि कुंजी स्वीकार नहीं होती, तो ब्लॉक कारण बताता है, जैसे Key not found, This key belongs to another product, Domain limit reached, या तारीख के साथ License expired on। स्टोर का पता बदलने के बाद, या अपने खाते में डोमेन स्लॉट खाली करने के बाद, Check now पर क्लिक करें। यदि लाइसेंस सर्वर तक नहीं पहुँचा जा सकता, तो एक्सटेंशन अंतिम ज्ञात स्थिति पर काम करता रहता है।

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

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

जब लाइसेंस समाप्त हो जाता है, तो एक्सटेंशन काम करता रहता है, लेकिन अपडेट और सहायता के लिए नवीनीकरण चाहिए। जब आप एडमिन Dashboard या Edit पेज खोलते हैं, तब स्थिति अपने-आप फिर से जाँची जाती है: कुंजी दर्ज करने के बाद पहले 14 दिनों तक रोज़ एक बार, फिर हर सप्ताह एक बार। कोई cron job आवश्यक नहीं है। एक्सटेंशन हटाने पर लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हट जाती है।

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

चेकआउट पर कार्ड भुगतान नहीं दिखता: जाँचें कि लाइसेंस सक्रिय है, Enable/Disable चालू है, और वर्तमान मोड में API Login ID, Transaction Key और Public Client Key हैं। इनमें से कुछ न होने पर सेटिंग्स पेज चेतावनी दिखाता है। यह भी जाँचें कि ग्राहक की मुद्रा समर्थित है, भुगतान पता चुने गए Geo Zone में है, और ऑर्डर सेटिंग्स में दिए गए Total तक पहुँचता है।

भुगतान हो गया, पर ऑर्डर authorized या review स्थिति में रहता है: लेन-देन का प्रकार Authorize only है (उसे ऑर्डर टैब में कैप्चर करें), या Authorize.Net ने लेन-देन को समीक्षा के लिए रोका है। उसे Authorize.Net पैनल में स्वीकृत या अस्वीकृत करें। ऐसे ऑर्डर अपने-आप अपडेट हों, इसके लिए वेबहुक सेट करें: जाँचें कि जिस मोड का आप उपयोग करते हैं उसके खाते में endpoint मौजूद है, उसका URL बिल्कुल वही है जो Endpoint URL में दिखता है, चारों इवेंट चुने गए हैं, और उस खाते की Signature Key दर्ज है।

Webhook उत्तर: webhooks are not configured: दोनों में से किसी मोड के लिए Signature Key दर्ज नहीं है।

Webhook उत्तर: invalid signature: Signature Key किसी दूसरे खाते की है, या Authorize.Net में कोई कुंजी बदली गई है। Signature Key दोबारा बनाएँ या कॉपी करें और उसके मोड के फ़ील्ड में पेस्ट करें।

Webhook उत्तर: mode mismatch: सूचना एक मोड की कुंजी से हस्ताक्षरित है, पर भुगतान दूसरे मोड में हुआ था। जाँचें कि sandbox और live Signature Keys आपस में बदल तो नहीं गईं।

Webhook उत्तर: verification failed, retry later: स्टोर Authorize.Net API से लेन-देन नहीं पढ़ पाया, या भुगतान के मोड की क्रेडेंशियल गायब हैं। Authorize.Net डिलीवरी फिर से करेगा।

Webhook उत्तर: busy, retry later: उसी समय कोई दूसरा अनुरोध ऑर्डर अपडेट कर रहा था, या प्रक्रिया विफल हुई। Authorize.Net डिलीवरी फिर से करेगा। कारण के लिए Log फ़ील्ड देखें।

ब्राउज़र में वेबहुक URL method not allowed दिखाता है: यह सामान्य है। यह URL केवल Authorize.Net के अनुरोध स्वीकार करता है।

कार्ड फ़ॉर्म में The secure card form (Accept.js) could not be loaded दिखता है: चेकआउट HTTPS पर होना चाहिए, और वर्तमान मोड की Public Client Key और API Login ID सही होनी चाहिए।

Payment error: the card could not be tokenized: Accept.js ने कोई टोकन नहीं लौटाया। ग्राहक को कार्ड विवरण फिर से दर्ज करके पुनः प्रयास करना चाहिए।

ग्राहक को This payment method is not available दिखता है: चेकआउट सत्र अब ऑर्डर से मेल नहीं खाता, इस बीच भुगतान विधि बंद हो गई, क्रेडेंशियल गायब हैं, या ऑर्डर कुल शून्य है। Please reload the checkout page के साथ ग्राहक चेकआउट को फिर से लोड करता है।

ग्राहक को सामान्य त्रुटि दिखती है: एक्सटेंशन पेज पर Log फ़ील्ड देखें; त्रुटियाँ हमेशा वहीं लिखी जाती हैं। जिस मुद्रा को खाता समर्थित नहीं करता, उसे Authorize.Net अस्वीकार करता है।

आंशिक रिफ़ंड विफल होता है क्योंकि लेन-देन अभी सेटल नहीं हुआ है: लेन-देन void करने के लिए पूरी राशि रिफ़ंड करें, या सेटलमेंट के बाद, आमतौर पर 24 घंटों के भीतर, फिर प्रयास करें।

मोड से संबंधित संदेश के साथ रिफ़ंड या कैप्चर विफल होता है: भुगतान sandbox या live मोड में हुआ था, और उस मोड की API Login ID और Transaction Key सेट नहीं हैं। उन्हें दर्ज करें और फिर प्रयास करें।

अनइंस्टॉल

Extensions > Extensions पर जाएँ, प्रकार Payments चुनें और VibeFox Authorize.Net Gateway के आगे Uninstall (लाल − बटन) पर क्लिक करें। इस एक्सटेंशन की लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हटाई जाती हैं। OpenCart एक्सटेंशन की अपनी सेटिंग्स हमेशा हटा देता है: Enable/Disable, Sort Order, Geo Zone, Total और Orders सेक्शन की ऑर्डर स्थितियाँ, जो री-इंस्टॉल पर अपने डिफ़ॉल्ट पर लौट आती हैं। एक्सटेंशन का OpenCart इवेंट भी हटा दिया जाता है (OpenCart 4 पर इसके इवेंट, जिनमें चेकआउट पेज के ऊपर संदेश दिखाने वाला इवेंट भी शामिल है, और इसकी स्टार्टअप क्रिया भी, जो मेंटेनेंस मोड में वेबहुक को आगे जाने देती है)। यदि Delete data on uninstall चालू है, तो बाकी सेटिंग्स (शीर्षक, विवरण, sandbox मोड, क्रेडेंशियल, लेन-देन प्रकार, लॉगिंग) और लॉग हट जाते हैं। यदि बंद है, तो उन्हें बाद की री-इंस्टॉल के लिए रखा जाता है। Authorize.Net के लेन-देन और रिफ़ंड हमेशा रखे जाते हैं, ताकि पहले भुगतान किए गए ऑर्डर री-इंस्टॉल के बाद भी कैप्चर और रिफ़ंड किए जा सकें। मौजूदा ऑर्डर अपने भुगतान नोट्स रखते हैं।

OpenCart 4 पर, एक्सटेंशन की फ़ाइलें भी हटाने के लिए, अनइंस्टॉल के बाद Extensions > Installer पर जाएँ और इंस्टॉल किए गए एक्सटेंशन की सूची में VibeFox Authorize.Net Gateway के आगे Uninstall (नारंगी − बटन) पर क्लिक करें, फिर अपलोड किया गया पैकेज हटाने के लिए Delete (लाल डस्टबिन बटन) पर क्लिक करें।

Authorize.Net अपने-अपने स्वामी का ट्रेडमार्क है। यह एक्सटेंशन Authorize.Net से संबद्ध नहीं है और न ही Authorize.Net द्वारा समर्थित है।