बैंक ट्रांसफर (वियतनाम)
एडमिन में कहां: Finance › Payment channels › VN bank transfer (
/payments/bank)। विनिमय दर: Finance › Payment channels › Exchange rates (/payments/fx)।
यह क्या करता है
ग्राहकों को वियतनामी डोंग में सामान्य बैंक ट्रांसफर द्वारा USD वॉलेट टॉप अप करने देता है। NexCMP एक VietQR कोड, खाता विवरण और एक अद्वितीय transfer memo दिखाता है; Sepay आपके बैंक खाते पर नज़र रखता है और पैसा आने पर वेबहुक कॉल करता है, और NexCMP वॉलेट को क्रेडिट करता है। यदि आप वियतनाम में ग्राहकों को बेचते हैं तो इसका उपयोग करें।
केवल वियतनामी इंटरफ़ेस में दिखाया गया है
VN बैंक विकल्प किसी ग्राहक को केवल तभी पेश किया जाता है जब पोर्टल Vietnamese में प्रदर्शित होता है। किसी अन्य भाषा के ग्राहक इसे कभी नहीं देखते हैं।
आवश्यकताएं
| आइटम | आवश्यकता |
|---|---|
| बैंक खाता | my.sepay.vn पर एक Sepay खाते से कनेक्टेड एक वियतनामी बैंक खाता (या Sepay वर्चुअल खाता, VA)। |
| Sepay | वेबहुक इंटीग्रेशन सक्षम वाला एक Sepay खाता। |
| विनिमय दर | USD से VND की दर मौजूद होनी चाहिए: इसे पहले Exchange rates के तहत अपडेट करें। दर के बिना चैनल fx_unavailable का उत्तर देता है और ग्राहक ट्रांसफर शुरू नहीं कर सकते। |
| नेटवर्क | आपका पैनल HTTPS द्वारा एक्सेस करने योग्य होना चाहिए ताकि Sepay https://<your-domain>/v1/billing/sepay/webhook को कॉल कर सके। |
| डिपेंडेंसी | Currency and exchange rates। |
बुनियादी ढांचा तैयार करें
Sepay की ओर:
- my.sepay.vn में अपना बैंक खाता कनेक्ट करें (या VA बनाएं) और सुनिश्चित करें कि ट्रांजैक्शन दिखाई देते हैं।
- memo prefix तय करें — 2 से 5 बड़े अक्षर, उदाहरण के लिए
PAY। NexCMP प्रीफिक्स के बाद 8 यादृच्छिक अंकों के रूप में मेमो जेनरेट करता है (उदाहरण के लिएPAY48210937)। प्रीफिक्स मेंORDनहीं होना चाहिए, और इसका उपयोग किसी अन्य सिस्टम द्वारा उसी खाते में पैसे प्राप्त करने के लिए नहीं किया जाना चाहिए। - यदि आपका Sepay खाता payment code structure का उपयोग करता है, तो Sepay को मेमो पहचानने के लिए वहां भी वही प्रीफिक्स रजिस्टर करें।
- वेबहुक को बाद में बनाएं, जब NexCMP पेज आपको URL और कुंजी (नीचे दिया गया चरण 7) दे दे।
NexCMP में कनेक्ट करें
Finance › Payment channels › Exchange rates खोलें और यदि कोई दर स्टोर नहीं की गई है तो Update exchange rates पर क्लिक करें।
Finance › Payment channels › VN bank transfer (
/payments/bank) खोलें।Receiving account में भरें:
फ़ील्ड Example Rule Bank VCBVietcombankसूची में से चुनें; BIN स्वतः भर जाता है। Account number 01234567894–24 अंक या बड़े अक्षर। वर्चुअल अकाउंट (VA — वैकल्पिक) यदि सेट किया जाता है, तो ग्राहक VA में ट्रांसफर करते हैं और QR इसे दिखाता है। Account holder name NGUYEN VAN Aकोई एक्सेंट नहीं, UPPERCASE, 2–60 वर्ण। Transfer memo prefix PAY2–5 बड़े अक्षर, कोई ORDनहीं।Webhook authentication में Auth method चुनें: HMAC-SHA256 (अनुशंसित) या API key, और Webhook key / HMAC secret (8–200 वर्ण) दर्ज करें। वैकल्पिक रूप से Sepay से userapi token दर्ज करें; इसका उपयोग केवल उन ट्रांसफर का मिलान करने के लिए किया जाता है जिनका वेबहुक खो गया था।
Channel & limits में सीमाएं सेट करें (कोशिकाओं में डिफ़ॉल्ट): Min / order (10,000 VND), Max / order (200,000,000 VND), Order expiry (120 मिनट, 15–1440), Max pending orders / account (3, 1–10), Reconcile every (10 मिनट) और, वैकल्पिक रूप से, Allowed webhook IPs (अल्पविराम से अलग किए गए; खाली होने पर IP केवल लॉग किया जाता है)।
Save पर क्लिक करें। खाता, नाम, प्रीफिक्स और कुंजी मान्य होने के बाद लाल बैनर "Sepay not configured" गायब हो जाता है।
Webhook URL to paste into my.sepay.vn (यह
https://<your-domain>/v1/billing/sepay/webhookहै) को Copy से कॉपी करें। Sepay में webhook इंटीग्रेशन खोलें, URL पेस्ट करें, वही authentication टाइप और key चुनें, और "money in" इवेंट इनेबल करें।Test connection पर क्लिक करें। फिर Enable Sepay for clients (main site) और Save चालू करें।


Webhook security
| Method | Sepay को क्या भेजना होगा |
|---|---|
| HMAC-SHA256 | हेडर X-SePay-Signature: sha256=<hex>, "<X-SePay-Timestamp>.<raw body>" पर गणना की गई; टाइमस्टैम्प में अधिकतम 300 सेकंड का अंतर हो सकता है। |
| API कुंजी | हेडर Authorization: Apikey <key>। |
केवल हेडर की जाँच की जाती है (कभी भी बॉडी या क्वेरी स्ट्रिंग की नहीं) और तुलना कॉन्स्टेंट-टाइम होती है। आपके कॉन्फ़िगर किए गए खाते या VA में केवल आने वाले ट्रांसफर (transferType = in) का उपयोग किया जाता है। प्रत्येक SePay ट्रांजैक्शन को एक बार स्टोर किया जाता है, इसलिए रीry किया गया वेबहुक कभी भी दो बार क्रेडिट नहीं करता है। NexCMP जानबूझकर किसी ट्रांजैक्शन को अनदेखा करने पर भी 200 {"success":true} उत्तर देता है, और केवल अस्थायी त्रुटियों के लिए HTTP 5xx देता है ताकि SePay दोबारा प्रयास करे।
ग्राहक भुगतान कैसे करता है
- Billing › Deposit (वियतनामी इंटरफ़ेस) में ग्राहक VN बैंक ट्रांसफर विकल्प और राशि चुनता है, फिर क्रिएट-ट्रांसफर बटन पर क्लिक करता है।
- NexCMP संग्रहीत दर पर USD राशि को परिवर्तित करता है (Exchange rates में आपके द्वारा सेट किए गए मार्जिन और राउंडिंग चरण सहित) और VND राशि को राउंडिंग चरण तक ऊपर की ओर राउंड करता है।
- ग्राहक को खाता संख्या, बैंक, राशि और मेमो के साथ एक QR कोड (VietQR, स्थानीय रूप से जेनरेट किया गया) दिखाई देता है।
- ट्रांसफर के बाद, SePay वेबहुक को कॉल करता है, NexCMP
floor(VND received × 100 / rate)सेंट क्रेडिट करता है। ऑर्डर बनाते समय दर लॉक हो जाती है; यदि ऑर्डर समाप्त होने के बाद पैसे आते हैं, तो लॉक की गई और वर्तमान दर में से जो अधिक हो उसका उपयोग किया जाता है। - ऑर्डर Order expiry के बाद समाप्त हो जाते हैं; सुरक्षा नेट के रूप में reconciliation हर Reconcile every मिनट पर चलता है (userapi टोकन की आवश्यकता होती है)।
सत्यापित करें
- वियतनामी इंटरफ़ेस पर ग्राहक के रूप में एक टेस्ट ऑर्डर बनाएँ। जाँच लें कि राशि, खाता और मेमो सही हैं।
- सटीक मेमो के साथ न्यूनतम स्वीकृत राशि ट्रांसफर करें।
- एक मिनट के भीतर पोर्टल डिपॉजिट को पूर्ण के रूप में दिखाता है और वॉलेट बढ़ जाता है; बैंक पेज पर State कार्ड अंतिम वेबहुक का समय दिखाता है।
- Finance › Billing › Top-ups खोलें और जाँच करें कि प्राप्त VND राशि के साथ भुगतान सूचीबद्ध है।
Limits & notes
- न्यूनतम। ग्राहक को जो VND न्यूनतम दिखाई देता है, वह Min / order और minimum top-up के VND मूल्य में से जो अधिक हो, वह होता है।
- लंबित ऑर्डर। एक ग्राहक के पास केवल Max pending orders / account खुले ऑर्डर हो सकते हैं (डिफ़ॉल्ट 3)।
- एक ही मेमो दो बार। एक ही मेमो के साथ दो बार ट्रांसफर करने से वर्तमान दर पर दूसरा पूर्ण भुगतान बनता है।
- बैंक खाते में कोई स्वचालित रिफंड नहीं।
- शुल्क। Fees & limits में चैनल की कोई निश्चित शुल्क लाइन नहीं है; दर मार्जिन ही एकमात्र समायोजन है।
- Resellers अपना खाता स्वयं कॉन्फ़िगर कर सकते हैं; उनका वेबहुक URL
/v1/billing/sepay/webhook/r/<id>पर समाप्त होता है।
मेल न खाने वाले ट्रांसफर
वह पैसा जो खाते तक पहुँच गया है लेकिन कोई वैध मेमो नहीं है, पेज के नीचे Unmatched transactions में दिखाई देता है (फ़िल्टर All channel owners या Master)। ग्राहक के साथ बैंक संदर्भ की जाँच करें, फिर Assign पर क्लिक करें और खाता चुनें। वॉलेट को वर्तमान दर पर क्रेडिट किया जाता है।
ट्रबलशूटिंग
| लक्षण | कारण | सुधार |
|---|---|---|
| बैनर "Sepay not configured" | बैंक, खाता, धारक का नाम, उपसर्ग या कुंजी गायब या अमान्य है | Receiving account और Webhook authentication कार्ड पूरे करें। |
बैनर "USD/VND rate blocked" (fx_unavailable) | कोई एक्सचेंज रेट संग्रहीत नहीं है | Exchange rates › Update exchange rates। |
prefix: 2–5 capital letters, no ORD | उपसर्ग अमान्य है | ORD के बिना 2–5 बड़े अक्षरों का उपयोग करें। |
account_name त्रुटि | उच्चारण चिह्न (accents) या छोटे अक्षर (lowercase) | बिना उच्चारण चिह्न वाले बड़े अक्षरों, अंकों, स्पेस, बिंदु या हाइफ़न का उपयोग करें। |
webhook_secret: 8–200 characters | कुंजी बहुत छोटी है | कम से कम 8 प्रिंट करने योग्य वर्णों का उपयोग करें। |
| ग्राहक विकल्प नहीं देख सकता है | वियतनामी इंटरफ़ेस में नहीं है, स्विच बंद है, या कोई दर नहीं है | भाषा, स्विच और दर की जाँच करें। |
| ग्राहक ने भुगतान किया लेकिन राशि जमा नहीं हुई | वेबहुक नहीं पहुँचा, मेमो बदल गया, गलत राशि | Sepay का वेबहुक लॉग जाँचें; यदि मेमो गलत था तो ट्रांसफर Unmatched transactions के अंतर्गत होगा। |
| वेबहुक 401 या 403 लौटाता है | ऑथेंटिकेशन विधि या कुंजी मेल नहीं खाती | Sepay और NexCMP में समान विधि और कुंजी का उपयोग करें। |
| ग्राहक "Too many pending requests" देखता है | लंबित ऑर्डर की सीमा पूरी हो गई | वे समाप्त हो जाते हैं या समाप्ति की प्रतीक्षा करें। |