पैसे चुकाने का तरीका सेट अप करना

वेब भुगतान का उपयोग करके किया जाने वाला भुगतान लेन-देन आपकी पेमेंट ऐप्लिकेशन. पेमेंट का तरीका सेट अप करने और पेमेंट ऐप्लिकेशन डाउनलोड करने के बारे में जानें इससे कारोबारियों और ग्राहकों को पेमेंट किया जा सकता है.

पेमेंट रिक्वेस्ट एपीआई के साथ इस्तेमाल किए जाने के लिए, पेमेंट ऐप्लिकेशन को पेमेंट के तरीके का आइडेंटिफ़ायर. ऐसे कारोबारी या कंपनियां जो पेमेंट ऐप्लिकेशन के साथ अपनी सेवा जोड़ना चाहती हैं पेमेंट के तरीके के आइडेंटिफ़ायर का इस्तेमाल करके, ब्राउज़र को इसकी जानकारी देगा. यह इस लेख में, पेमेंट ऐप्लिकेशन डिस्कवरी की सुविधा के काम करने के तरीके के बारे में बताया गया है. साथ ही, पेमेंट ऐप्लिकेशन को, ब्राउज़र में सही तरीके से खोजा और चलाया जा सके.

अगर आपको वेब पेमेंट का कॉन्सेप्ट या पेमेंट के लेन-देन के काम करने का तरीका पता नहीं है नीचे दिए गए लेख पढ़ने से पहले, नीचे दिए गए लेख पढ़ें:

ब्राउज़र समर्थन

वेब भुगतान में विभिन्न प्रकार की तकनीकी और सहायता स्टेटस ब्राउज़र पर निर्भर करता है.

Chromium Safari Firefox
डेस्कटॉप Android डेस्कटॉप मोबाइल डेस्कटॉप/मोबाइल
भुगतान अनुरोध API
पेमेंट हैंडलर एपीआई
iOS/Android पर पेमेंट के लिए इस्तेमाल होने वाला ऐप्लिकेशन ✔* ✔*

ब्राउज़र किसी पेमेंट ऐप्लिकेशन को कैसे खोजता है

हर पेमेंट ऐप्लिकेशन के लिए ये चीज़ें उपलब्ध होनी चाहिए:

  • यूआरएल पर आधारित, पेमेंट के तरीके का आइडेंटिफ़ायर
  • पेमेंट के तरीके की मेनिफ़ेस्ट फ़ाइल (यह एट्रिब्यूट सिर्फ़ तब इस्तेमाल करें, जब पेमेंट के तरीके का आइडेंटिफ़ायर तीसरे पक्ष से मिला है)
  • वेब ऐप्लिकेशन मेनिफ़ेस्ट
डायग्राम: यूआरएल पर आधारित पेमेंट के तरीके के आइडेंटिफ़ायर की मदद से, ब्राउज़र पेमेंट ऐप्लिकेशन को कैसे खोजता है

खोज की प्रोसेस तब शुरू होती है, जब कोई व्यापारी/कंपनी/कारोबारी लेन-देन शुरू करता है:

  1. ब्राउज़र, पेमेंट के तरीके के लिए अनुरोध भेजता है आइडेंटिफ़ायर यूआरएल और फ़ेच पेमेंट का तरीका मेनिफ़ेस्ट करें.
  2. ब्राउज़र तय करता है कि वेब ऐप्लिकेशन मेनिफ़ेस्ट यूआरएल पेमेंट का तरीका मेनिफ़ेस्ट और वेब ऐप्लिकेशन मेनिफ़ेस्ट फ़ेच करता है.
  3. ब्राउज़र यह तय करता है कि ओएस पेमेंट ऐप्लिकेशन को लॉन्च करना है या वेब ऐप्लिकेशन मेनिफ़ेस्ट से वेब पर आधारित पेमेंट ऐप्लिकेशन डाउनलोड करें.

अगले सेक्शन में, पेमेंट का तरीका सेट अप करने के बारे में ज़्यादा जानकारी दी गई है ताकि ब्राउज़र इसे खोज सकें.

पहला चरण: पेमेंट के तरीके का आइडेंटिफ़ायर देना

पेमेंट का तरीका आइडेंटिफ़ायर यूआरएल पर आधारित स्ट्रिंग है. उदाहरण के लिए, Google Pay का आइडेंटिफ़ायर https://google.com/pay. पेमेंट ऐप्लिकेशन के डेवलपर, पेमेंट के तौर पर किसी भी यूआरएल को चुन सकते हैं आइडेंटिफ़ायर का इस्तेमाल तब तक किया जा सकता है, जब तक उसका इस पर कंट्रोल होता है और वह आर्बिट्रेरी काम कर सकता है कॉन्टेंट. इस लेख में, हम पैसे चुकाने के तरीके के तौर पर https://bobbucks.dev/pay आइडेंटिफ़ायर के तौर पर जोड़ा जाता है.

कारोबारी या कंपनी, पेमेंट के तरीके के आइडेंटिफ़ायर का इस्तेमाल कैसे करती है

PaymentRequest ऑब्जेक्ट, पेमेंट के तरीके की सूची की मदद से बनाया गया है ऐसे आइडेंटिफ़ायर जो पेमेंट की पहचान करते हैं ऐसे ऐप्लिकेशन जिन्हें कोई व्यापारी स्वीकार करता है. पेमेंट के तरीके के आइडेंटिफ़ायर, वैल्यू के तौर पर सेट किए गए हैं supportedMethods प्रॉपर्टी के लिए. उदाहरण के लिए:

[merchant] पेमेंट का अनुरोध करता है:

const request = new PaymentRequest([{
  supportedMethods: 'https://bobbucks.dev/pay'
}], {
  total: {
    label: 'total',
    amount: { value: '10', currency: 'USD' }
  }
});
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

दूसरा चरण: पेमेंट के तरीके का मेनिफ़ेस्ट दिखाना

पेमेंट के तरीके का मेनिफ़ेस्ट, JSON फ़ाइल जिसमें यह बताया गया है कि पेमेंट के इस तरीके का इस्तेमाल किस ऐप्लिकेशन में किया जा सकता है.

पैसे चुकाने के तरीके का मेनिफ़ेस्ट सबमिट करें

जब कोई कारोबारी पेमेंट की प्रोसेस शुरू करता है, तो ब्राउज़र एक एचटीटीपी भेजता है GET ने पेमेंट के तरीके के आइडेंटिफ़ायर के यूआरएल के लिए अनुरोध किया है. जवाब देने के लिए, सर्वर पैसे चुकाने का तरीका बताता है मेनिफ़ेस्ट का मुख्य हिस्सा.

पैसे चुकाने के तरीके के मेनिफ़ेस्ट में दो फ़ील्ड होते हैं, default_applications और supported_origins.

प्रॉपर्टी का नाम ब्यौरा
default_applications (ज़रूरी) यूआरएल का कलेक्शन, जो उन वेब ऐप्लिकेशन मेनिफ़ेस्ट पर ले जाता है जहां पेमेंट किया जाता है ऐप्लिकेशन होस्ट किए जाते हैं. (यूआरएल कोई मिलता-जुलता हो सकता है). इस कलेक्शन में बदलाव किया जा सकता है में डेवलपमेंट मेनिफ़ेस्ट, प्रोडक्शन मेनिफ़ेस्ट वगैरह का रेफ़रंस हो.
supported_origins उन ऑरिजिन पर ले जाने वाले यूआरएल का कलेक्शन जो तीसरे पक्ष को होस्ट कर सकते हैं कुछ पेमेंट ऐप्लिकेशन पर भी इस तरीके से पेमेंट किया जा सकता है. ध्यान दें कि पेमेंट कई पेमेंट ऐप्लिकेशन की मदद से लागू किया जा सकता है.
पेमेंट के तरीके के मेनिफ़ेस्ट फ़ील्ड

पेमेंट के तरीके की मेनिफ़ेस्ट फ़ाइल कुछ ऐसी दिखनी चाहिए:

[पेमेंट हैंडलर] /payment-manifest.json:

{
  "default_applications": ["https://bobbucks.dev/manifest.json"],
  "supported_origins": [
    "https://alicepay.friendsofalice.example"
  ]
}

जब ब्राउज़र default_applications फ़ील्ड को पढ़ता है, तो उसे काम करने वाले के वेब ऐप्लिकेशन मेनिफ़ेस्ट के लिंक पेमेंट ऐप्लिकेशन.

इसके अलावा, पेमेंट के तरीके का मेनिफ़ेस्ट ढूंढने के लिए, ब्राउज़र को किसी अन्य जगह पर भेजें

पेमेंट के तरीके के आइडेंटिफ़ायर का यूआरएल, Link हेडर के साथ वैकल्पिक रूप से जवाब दे सकता है जो उस दूसरे यूआरएल पर ले जाता है जहां ब्राउज़र से पेमेंट के तरीके की जानकारी मिल सकती है मेनिफ़ेस्ट. यह तब फ़ायदेमंद होता है, जब पेमेंट के तरीके का मेनिफ़ेस्ट, किसी दूसरे प्लैटफ़ॉर्म पर होस्ट किया गया हो सर्वर या जब पेमेंट ऐप्लिकेशन के लिए कोई तीसरा पक्ष सेवा देता हो.

ब्राउज़र, रीडायरेक्ट वाले यूआरएल पर आधारित पेमेंट के तरीके के आइडेंटिफ़ायर से पेमेंट ऐप्लिकेशन को कैसे खोजता है

पेमेंट के तरीके वाले सर्वर को कॉन्फ़िगर करें, ताकि वह एचटीटीपी Link हेडर का इस्तेमाल करके जवाब दे सके rel="payment-method-manifest" एट्रिब्यूट और पेमेंट का तरीका मेनिफ़ेस्ट यूआरएल का इस्तेमाल कर रहे हैं.

उदाहरण के लिए, अगर मेनिफ़ेस्ट https://bobbucks.dev/payment-manifest.json पर है, रिस्पॉन्स हेडर में यह शामिल होगा:

Link: <https://bobbucks.dev/payment-manifest.json>; rel="payment-method-manifest"

यूआरएल, पूरी तरह क्वालिफ़ाइड डोमेन नेम या मिलता-जुलता पाथ हो सकता है. निरीक्षण करें उदाहरण देखने के लिए नेटवर्क ट्रैफ़िक का https://bobbucks.dev/pay/. आप curl निर्देश:

curl --include https://bobbucks.dev/pay
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

तीसरा चरण: वेब ऐप्लिकेशन मेनिफ़ेस्ट दिखाना

वेब ऐप्लिकेशन मेनिफ़ेस्ट का इस्तेमाल, वेब ऐप्लिकेशन के नाम के सुझाव देने के लिए किया जाता है. यह बड़े पैमाने पर इस्तेमाल की जाने वाली मेनिफ़ेस्ट फ़ाइल है का इस्तेमाल करके प्रोग्रेसिव वेब ऐप्लिकेशन (पीडब्ल्यूए) तय करें.

सामान्य वेब ऐप्लिकेशन मेनिफ़ेस्ट ऐसा दिखेगा:

[पेमेंट हैंडलर] /manifest.json:

{
  "name": "Pay with Bobpay",
  "short_name": "Bobpay",
  "description": "This is an example of the Payment Handler API.",
  "icons": [
    {
      "src": "images/manifest/icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "images/manifest/icon-512x512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ],
  "serviceworker": {
    "src": "service-worker.js",
    "scope": "/",
    "use_cache": false
  },
  "start_url": "/",
  "display": "standalone",
  "theme_color": "#3f51b5",
  "background_color": "#3f51b5",
  "related_applications": [
    {
      "platform": "play",
      "id": "com.example.android.samplepay",
      "min_version": "1",
      "fingerprints": [
        {
          "type": "sha256_cert",
          "value": "4C:FC:14:C6:97:DE:66:4E:66:97:50:C0:24:CE:5F:27:00:92:EE:F3:7F:18:B3:DA:77:66:84:CD:9D:E9:D2:CB"
        }
      ]
    }
  ]
}

वेब ऐप्लिकेशन मेनिफ़ेस्ट में बताई गई जानकारी का इस्तेमाल, यह तय करने के लिए भी किया जाता है कि पेमेंट ऐप्लिकेशन, पेमेंट के अनुरोध के यूज़र इंटरफ़ेस (यूआई) में दिख रहा है.

प्रॉपर्टी का नाम ब्यौरा
name (ज़रूरी) इसका इस्तेमाल पेमेंट ऐप्लिकेशन के नाम के तौर पर किया जाता है.
icons (ज़रूरी) इसका इस्तेमाल पेमेंट ऐप्लिकेशन आइकॉन के तौर पर किया जाता है. इन आइकॉन का इस्तेमाल सिर्फ़ Chrome करता है; अन्य ब्राउज़र, ब्राउज़र में उनका इस्तेमाल फ़ॉलबैक आइकॉन के तौर पर कर सकते हैं. ऐसा तब ही किया जा सकता है, जब भुगतान विधि का हिस्सा है.
serviceworker इसका इस्तेमाल सर्विस वर्कर का पता लगाने के लिए किया जाता है, जो वेब पर आधारित पेमेंट करता है है.
serviceworker.src वह यूआरएल जिससे सर्विस वर्कर स्क्रिप्ट डाउनलोड करनी है.
serviceworker.scope उस यूआरएल को दिखाने वाली स्ट्रिंग जो सर्विस वर्कर के बारे में बताती है रजिस्ट्रेशन का दायरा.
serviceworker.use_cache वह यूआरएल जिससे सर्विस वर्कर स्क्रिप्ट डाउनलोड करनी है.
related_applications इस डेटा का इस्तेमाल, ऐसे ऐप्लिकेशन का पता लगाने के लिए किया जाता है जो ओएस से मिलने वाले पेमेंट ऐप्लिकेशन के तौर पर काम करता है. Android पर ज़्यादा जानकारी पाएं पेमेंट ऐप्लिकेशन डेवलपर गाइड देखें.
prefer_related_applications इस डेटा का इस्तेमाल, यह तय करने के लिए किया जाता है कि ओएस से मिलने वाले पेमेंट ऐप्लिकेशन और वेब पर आधारित पेमेंट ऐप्लिकेशन, दोनों के उपलब्ध होने पर कौनसा पेमेंट ऐप्लिकेशन लॉन्च किया जाए.
वेब ऐप्लिकेशन मेनिफ़ेस्ट के ज़रूरी फ़ील्ड
पेमेंट ऐप्लिकेशन में आइकॉन.
पेमेंट ऐप्लिकेशन का लेबल और आइकॉन.

वेब ऐप्लिकेशन मेनिफ़ेस्ट की name प्रॉपर्टी का इस्तेमाल पेमेंट ऐप्लिकेशन के नाम icons के तौर पर किया जाता है प्रॉपर्टी का इस्तेमाल पेमेंट ऐप्लिकेशन आइकॉन के तौर पर किया जाता है.

Chrome यह कैसे तय करता है कि किस पेमेंट ऐप्लिकेशन को लॉन्च करना है

प्लैटफ़ॉर्म के हिसाब से पेमेंट ऐप्लिकेशन लॉन्च करना

प्लैटफ़ॉर्म के हिसाब से पेमेंट ऐप्लिकेशन को लॉन्च करने के लिए, नीचे दी गई शर्तें पूरी होनी चाहिए:

  • related_applications फ़ील्ड की जानकारी वेब ऐप्लिकेशन मेनिफ़ेस्ट में दी गई है और:
    • इंस्टॉल किए गए ऐप्लिकेशन का पैकेज आईडी और हस्ताक्षर मेल खाते हैं. हालांकि, यह कम से कम वेब ऐप्लिकेशन मेनिफ़ेस्ट में वर्शन (min_version) का मान इससे कम या इसके बराबर है इंस्टॉल किए गए ऐप्लिकेशन का वर्शन हो.
  • prefer_related_applications फ़ील्ड true है.
  • प्लैटफ़ॉर्म के हिसाब से पेमेंट ऐप्लिकेशन इंस्टॉल किया गया हो और उसमें:
    • org.chromium.action.PAY का इंटेंट फ़िल्टर.
    • org.chromium.default_payment_method_name प्रॉपर्टी की वैल्यू के तौर पर, पेमेंट के तरीके का आइडेंटिफ़ायर दिया जाता है.

Android पेमेंट ऐप्लिकेशन: डेवलपर की गाइड देखें पर जाएं.

[पेमेंट हैंडलर] /manifest.json

"prefer_related_applications": true,
"related_applications": [{
  "platform": "play",
  "id": "xyz.bobpay.app",
  "min_version": "1",
  "fingerprints": [{
    "type": "sha256_cert",
    "value": "92:5A:39:05:C5:B9:EA:BC:71:48:5F:F2:05:0A:1E:57:5F:23:40:E9:E3:87:14:EC:6D:A2:04:21:E0:FD:3B:D1"
  }]
}]

अगर ब्राउज़र ने यह तय किया है कि प्लैटफ़ॉर्म के हिसाब से पेमेंट ऐप्लिकेशन उपलब्ध है, तो खोज फ़्लो को यहां खत्म कर दिया जाता है. अगर ऐसा नहीं होता है, तो अगले चरण पर जाएं -- पैसे चुकाने के लिए वेब पर आधारित ऐप्लिकेशन लॉन्च करना होगा.

वेब पर आधारित पेमेंट ऐप्लिकेशन लॉन्च करना

वेब पर आधारित पेमेंट ऐप्लिकेशन को, वेब ऐप्लिकेशन मेनिफ़ेस्ट के serviceworker फ़ील्ड में बताया जाना चाहिए.

[पेमेंट हैंडलर] /manifest.json:

"serviceworker": {
  "src": "payment-handler.js"
}

ब्राउज़र, paymentrequest भेजकर वेब पर आधारित पेमेंट ऐप्लिकेशन को लॉन्च करता है सर्विस वर्कर को इवेंट के तौर पर भेजा जाता है. सर्विस वर्कर को इसमें पंजीकृत होना आवश्यक नहीं है आगे बढ़ाएं. इसे तुरंत रजिस्टर किया जा सकता है.

खास ऑप्टिमाइज़ेशन को समझना

ब्राउज़र पेमेंट के अनुरोध वाले यूज़र इंटरफ़ेस (यूआई) को छोड़कर, सीधे पेमेंट ऐप्लिकेशन को कैसे लॉन्च कर सकते हैं

Chrome में, PaymentRequest में से show() तरीके को कॉल करने पर, पेमेंट अनुरोध एपीआई, ब्राउज़र से मिला यूज़र इंटरफ़ेस (यूआई) दिखाता है. इस यूज़र इंटरफ़ेस को "पेमेंट के अनुरोध का यूज़र इंटरफ़ेस (यूआई)" कहते हैं. यह यूज़र इंटरफ़ेस (यूआई) की मदद से उपयोगकर्ता, पेमेंट ऐप्लिकेशन चुन सकते हैं. जारी रखें बटन दबाने के बाद पेमेंट रिक्वेस्ट यूज़र इंटरफ़ेस (यूआई) में, चुना गया पेमेंट ऐप्लिकेशन लॉन्च हो जाता है.

पेमेंट ऐप्लिकेशन को लॉन्च करने से पहले, पेमेंट के अनुरोध का यूज़र इंटरफ़ेस (यूआई) बीच में आता है.

पेमेंट ऐप्लिकेशन को लॉन्च करने से पहले, पेमेंट के अनुरोध का यूज़र इंटरफ़ेस (यूआई) दिखाने से, पेमेंट पूरा करने के लिए उपयोगकर्ता को ज़रूरी चरणों की संख्या. प्रोसेस को ऑप्टिमाइज़ करने के लिए, ब्राउज़र इस जानकारी को पूरा करने के लिए, पेमेंट ऐप्लिकेशन और किसी पेमेंट ऐप्लिकेशन को सीधे लॉन्च करने के लिए, पेमेंट के अनुरोध वाला यूज़र इंटरफ़ेस (यूआई) दिखाए बिना show() पर कॉल किया गया है.

पेमेंट के अनुरोध वाले यूज़र इंटरफ़ेस (यूआई) को छोड़कर, सीधे पेमेंट ऐप्लिकेशन को लॉन्च करें.

किसी पेमेंट ऐप्लिकेशन को सीधे तौर पर लॉन्च करने के लिए, नीचे दी गई शर्तें पूरी करना ज़रूरी है:

  • show(), उपयोगकर्ता के जेस्चर से ट्रिगर होता है, जैसे कि माउस क्लिक.
  • पेमेंट के लिए सिर्फ़ एक ही ऐप्लिकेशन है जो:
    • पेमेंट के अनुरोध किए गए तरीके के आइडेंटिफ़ायर के साथ काम करता है.

वेब पर आधारित पेमेंट ऐप्लिकेशन को जस्ट-इन-टाइम (जेआईटी) कब रजिस्टर किया जाता है?

उपयोगकर्ता के साफ़ तौर पर पहले से जाने के बिना, वेब पर आधारित पेमेंट ऐप्लिकेशन लॉन्च किए जा सकते हैं और सर्विस वर्कर का रजिस्ट्रेशन करना होगा. सेवा जब उपयोगकर्ता पेमेंट करने का विकल्प चुनता है, तो वर्कर को उस समय रजिस्टर किया जा सकता है पेमेंट ऐप्लिकेशन के तौर पर काम करता है. रजिस्ट्रेशन के समय के लिए दो वैरिएशन होते हैं:

  • अगर उपयोगकर्ता को पेमेंट के अनुरोध वाला यूज़र इंटरफ़ेस (यूआई) दिखता है, तो इसका मतलब है कि ऐप्लिकेशन रजिस्टर हो गया है उपयोगकर्ता के जारी रखें पर क्लिक करने पर, यह समय-समय पर लॉन्च होता है.
  • अगर पेमेंट के अनुरोध वाले यूज़र इंटरफ़ेस (यूआई) को स्किप किया जाता है, तो पेमेंट ऐप्लिकेशन रजिस्टर हो जाता है सीधे तौर पर लॉन्च किया जा सकता है. लॉन्च करने के लिए, पेमेंट के अनुरोध वाले यूज़र इंटरफ़ेस (यूआई) को स्किप करना तुरंत रजिस्टर किए गए ऐप्लिकेशन के लिए उपयोगकर्ता जेस्चर की ज़रूरत होती है, जो क्रॉस-ऑरिजिन सर्विस वर्कर का अनचाहा रजिस्ट्रेशन.

अगले चरण

अब जब आपका पेमेंट ऐप्लिकेशन खोजे जा सकता है, तो प्लैटफ़ॉर्म के हिसाब से ऐप्लिकेशन तैयार करने का तरीका जानें पेमेंट ऐप्लिकेशन और वेब पर आधारित पेमेंट ऐप्लिकेशन शामिल हैं.