"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > QR में भुगतान प्राप्त करें

QR में भुगतान प्राप्त करें

2024-08-01 को प्रकाशित
ब्राउज़ करें:582

Get paid in QR

नहीं, पिक्सेल में नहीं, यूरो में।

नहीं, क्रेडिट कार्ड से नहीं।

हाँ फ़ोन के साथ.

प्रेरणा

यदि आप उत्पाद या सेवाएँ बेचते हैं तो भुगतान प्राप्त करना एक स्पष्ट आवश्यकता है।

इन दिनों क्रेडिट-कार्ड राजा है, वैसे भी ऑनलाइन।

आपके पास प्रचुर मात्रा में भुगतान गेटवे हैं, जो आपके लिए क्रेडिट कार्ड, गूगल या ऐप्पल पे संभालेंगे।

बेशक, शुल्क के लिए।

किसी भौतिक स्टोर में, आपको एक क्रेडिट-कार्ड टर्मिनल मिलेगा।

कुछ बैंक आपको बहुत सस्ता एंड्रॉइड ऐप बेच सकते हैं जो आपके फोन को सीसी टर्मिनल में बदल देता है।

यह विचार करने योग्य है, खासकर यदि आप एक दिन में केवल कुछ ही भुगतान संसाधित करते हैं।

ये विकल्प विशिष्ट उपभोक्ता परिदृश्यों में लगभग सभी स्थितियों को कवर करते हैं।

जहां कोई व्यक्ति ऑनलाइन या किसी ईंट-गारे की दुकान में जाता है और बहुत सारे उत्पाद खरीदता है या बाल कटवाता है।

लेकिन, और भी बहुत कुछ है।

  1. क्या होगा यदि आप एक गैर-लाभकारी या नागरिक-संगठन हैं जिसे छोटे भुगतान संसाधित करने की आवश्यकता है।
  2. क्या होगा यदि आप एक बी2बी कंपनी हैं और आपके ग्राहक सीधे हस्तांतरण के साथ भुगतान चाहते हैं।
  3. या क्या होगा यदि आप क्रेडिट कार्ड भुगतान के लिए ~2-3% ओवरहेड का भुगतान नहीं करना चाहते हैं।

इन सभी मामलों में, यूरोपीय संघ में उत्तर SEPA है।

अधिक विशेष रूप से SEPA क्रेडिट ट्रांसफर।

या इसका छोटा, लेकिन बहुत तेज़ सहोदर SEPA इंस्टेंट क्रेडिट ट्रांसफर।

SEPA क्रेडिट ट्रांसफर

यदि आप इस नाम से परिचित नहीं हैं, तो चिंता न करें, यह वही पुराना वायर-ट्रांसफर है।

जैसे. आप अपने बैंक से कहते हैं कि वह आपके खाते से पैसे ले ले और उसे किसी और के खाते में डाल दे।

जो ऐतिहासिक रूप से भरने के लिए एक कागजी फॉर्म था, वह इन दिनों आपके मोबाइल बैंकिंग ऐप में कुछ ही क्लिक में भर जाता है।

लेकिन, अब हमारे पास मानकीकृत अंतरराष्ट्रीय बैंक खाता संख्याएं हैं - आईबीएएन।

यूरोपीय संघ या यहां तक ​​कि दुनिया भर में कहीं भी पैसा भेजना बेहद आसान बना दिया गया है।

और तुरंत SEPA के साथ, आपका पैसा कुछ ही सेकंड में पहुंच जाता है।

लेकिन, लेकिन आईबीएएन इतने लंबे हैं, वे लगभग भयावह हैं।

और लोग सामान दर्ज करने में बेहद खराब हैं, इसलिए यदि आपको सही राशि मिलती है तो आप खुश हो सकते हैं, अतिरिक्त नोट्स के बारे में भूल जाएं।

ये सभी समस्याएं क्यूआर कोड से आसानी से हल हो जाती हैं।

आपके ग्राहक उन्हें अपने फोन से स्कैन कर सकते हैं, राशि की जांच कर सकते हैं और उनके बैंकिंग ऐप में भुगतान पर क्लिक कर सकते हैं।

SEPA इंस्टेंट क्रेडिट ट्रांसफर योजना में बैंकों की बढ़ती सूची के साथ, संभावना अधिक है, आपका पैसा पलक झपकते ही आ जाएगा।

भविष्य के ब्लॉग में, हम देखेंगे कि आपके बैंक खाते पर आने वाले भुगतानों पर कैसे नज़र रखें।

उदाहरण के लिए चालान निर्माण और भेजने को स्वचालित करना।

मैं आपको दिखाता हूं कि स्लोवाकिया और चेक गणराज्य के लिए क्यूआर कोड कैसे जनरेट करें।

मैं इस सूची को और लंबा बनाना चाहता हूं, इसलिए यदि आप जानते हैं कि आपके देश में क्यूआर कोड कैसे बनाए जाते हैं, तो कृपया मुझे बताएं।

क्यूआर स्लोवाकिया

स्लोवाक बैंक पे बाय स्क्वायर नामक एक सामान्य मानक पर सहमत हुए हैं।

यहां तक ​​कि एक यूआरएल स्कीमा भी है जिसका उपयोग ऑनलाइन परिदृश्यों में किया जा सकता है।

जैसे. उपयोगकर्ता एक लिंक पर क्लिक करता है और सभी भुगतान जानकारी भरने के साथ उनका बैंकिंग ऐप लॉन्च हो जाता है।

अफसोस की बात है कि ये इंटरऑपरेबल नहीं हैं (2024 में)।

मैं आपको दिखाता हूं कि NodeJS में QR कोड कैसे जनरेट किया जाता है।

app.get("/api/paybysquare", mustAuth, async (req, res, next) => {
    try {
        const body = req.query.content as string;
        const model = JSON.parse(body);
        const content = await generate(model);
        const qrStream = new PassThrough();
        const result = await toFileStream(qrStream, content,
            {
                type: 'png',
                width: 200,
                errorCorrectionLevel: 'H'
            }
        );

        qrStream.pipe(res);
    } catch (ex) {
        next(ex);
    }
});

जेनरेट विधि बायस्क्वायर लाइब्रेरी से है।

आप इसे सामान्य npm i bysquare की तरह npm के साथ इंस्टॉल कर सकते हैं

एक पीएनजी छवि प्राप्त करने के लिए जिसे हम ब्राउज़र में या इनवॉइस दस्तावेज़ में उपयोग कर सकते हैं, हम इस विधि को कहते हैं।

interface IBySquareModel {
    IBAN: string;
    Amount: number;
    CurrencyCode: string; // must be "EUR",
    VariableSymbol: string;
    Payments: number; // must be 1,
    PaymentOptions: number; // must be 1,
    BankAccounts: number; // must be 1,
    PaymentNote?: string; // optional note
}

const BySquareQR = (payModel: IBySquareModel) => {
    return QR में भुगतान प्राप्त करें
}

भुगतान में एक वर्णनात्मक संदेश जोड़ना अक्सर बहुत उपयोगी होता है।

यहां कुछ सरल कोड है जो क्लाइंट नामों को सामान्य कर देगा।

यह विशेषक चिह्नों को हटा देगा, JAN Kováč को Jan Kovac में बदल देगा।

अभी भी पूरी तरह से पठनीय होना चाहिए और यह सुनिश्चित करेगा कि बैंक सिस्टम इसमें गड़बड़ी न करें।

    const paymentMessage = customerName?.normalize("NFKD").replace(/[\u0300-\u036f]/g, "").substring(0, 100) || "";

क्यूआर चेक गणराज्य

हालांकि चेक गणराज्य या चेकिया ने अब तक (2024) यूरो का विरोध किया है, उनके पास भी क्यूआर कोड योजना है।

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

const czQrLink = "https://api.paylibo.com/paylibo/generator/image?iban="   iban   "&amount="   
czkPrice   "&currency=CZK&vs="   vsym   
"&message="   message;

const CzQrImage = (czQrLink: string) => {
    return QR में भुगतान प्राप्त करें
}

अंतरराष्ट्रीय

दुर्भाग्य से, अभी तक कोई अंतरराष्ट्रीय या यूरोपीय क्यूआर मानक नहीं है।

इसलिए आपको अपने उपयोगकर्ता के देश के आधार पर सही क्यूआर कोड दिखाना होगा।

यदि आप चेक गणराज्य से भुगतान की उम्मीद करते हैं, तो ध्यान रखें कि चेक क्यूआर कोड केवल चेक क्राउन (चेक मुद्रा सीजेडके) में काम करते हैं।

या यदि आप चेक गणराज्य में रहते हैं और आप स्लोवाकिया से भुगतान की उम्मीद करते हैं, तो क्यूआर केवल यूरो में काम करता है।

नीचे दिया गया कोड आपको सही मुद्रा राशि की गणना करने में मदद कर सकता है।

सबसे पहले हम केंद्रीय बैंक से वर्तमान संदर्भ विनिमय दर प्राप्त करते हैं।

फिर हम उत्पाद की कीमत और मुद्रा के आधार पर यूरो और सीजेडके कीमतों की गणना करते हैं।

const getExchangeRate = async () => {
    const now = new Date();
    const dt = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1).toISOString().substring(0, 10);

    const url = "https://nbs.sk/export/sk/exchange-rate/"   dt   "/xml";
    const dat  = { url: url }
    const opts = {
        headers: {
            'Content-Type': 'application/json'
        },
        method: "POST",
        body: JSON.stringify(dat)
    }

    const resp = await fetch("/api/httpfetch", opts);
    const xml = await resp.text();

    const parser = new DOMParser();
    const xmlDoc = parser.parseFromString(xml, "text/xml");
    const node = xmlDoc.querySelector("Cube [currency='CZK']");
    if (node) {
        const attr = node.getAttribute("rate");
        if (attr) {
            const num = attr.replace(/\s/, "").replace(",", ".");
            return  num;
        }
    }
    return undefined;
}

    // basePrice is the amount to be paid, for the products or services
    // currencyCode is the currency the products or services are sold in.
    const czkRate = await getExchangeRate();

    const eurPrice = currencyCode === "EUR" ? basePrice : (Math.ceil(basePrice / czkRate * 100) / 100).toFixed(2);
    const czkPrice = currencyCode === "CZK" ? basePrice : (Math.ceil(basePrice * czkRate * 100) / 100).toFixed(2);

भुगतान प्राप्त करना

चालानों से खराब मुद्रित आईबीएएन को पढ़ने की कोशिश करना या यहां तक ​​​​कि बेहद लंबे आईबीएएन में टाइप करना बेहद कष्टप्रद है।

आपको बहुत सावधान रहना होगा और तीन बार जांच करनी होगी, क्योंकि यह पैसा है, इसे और भी अधिक बनाता है।

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

मुझे आशा है कि आपको जानकारी उपयोगी लगी होगी, और यदि आपके पास अपनी राष्ट्रीय क्यूआर कोड योजनाओं के बारे में कुछ संकेत हैं, तो कृपया उन्हें मेरे तरीके से शूट करें।

हैप्पी हैकिंग!

विज्ञप्ति वक्तव्य यह लेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/chuliomartinez_ebd2d8009bdec/get-speed-in-qr-2dkp?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3