वेब भुगतान का उपयोग करके किया जाने वाला भुगतान लेन-देन आपकी पेमेंट ऐप्लिकेशन. पेमेंट का तरीका सेट अप करने और पेमेंट ऐप्लिकेशन डाउनलोड करने के बारे में जानें इससे कारोबारियों और ग्राहकों को पेमेंट किया जा सकता है.
पेमेंट रिक्वेस्ट एपीआई के साथ इस्तेमाल किए जाने के लिए, पेमेंट ऐप्लिकेशन को पेमेंट के तरीके का आइडेंटिफ़ायर. ऐसे कारोबारी या कंपनियां जो पेमेंट ऐप्लिकेशन के साथ अपनी सेवा जोड़ना चाहती हैं पेमेंट के तरीके के आइडेंटिफ़ायर का इस्तेमाल करके, ब्राउज़र को इसकी जानकारी देगा. यह इस लेख में, पेमेंट ऐप्लिकेशन डिस्कवरी की सुविधा के काम करने के तरीके के बारे में बताया गया है. साथ ही, पेमेंट ऐप्लिकेशन को, ब्राउज़र में सही तरीके से खोजा और चलाया जा सके.
अगर आपको वेब पेमेंट का कॉन्सेप्ट या पेमेंट के लेन-देन के काम करने का तरीका पता नहीं है नीचे दिए गए लेख पढ़ने से पहले, नीचे दिए गए लेख पढ़ें:
ब्राउज़र समर्थन
वेब भुगतान में विभिन्न प्रकार की तकनीकी और सहायता स्टेटस ब्राउज़र पर निर्भर करता है.
ब्राउज़र किसी पेमेंट ऐप्लिकेशन को कैसे खोजता है
हर पेमेंट ऐप्लिकेशन के लिए ये चीज़ें उपलब्ध होनी चाहिए:
- यूआरएल पर आधारित, पेमेंट के तरीके का आइडेंटिफ़ायर
- पेमेंट के तरीके की मेनिफ़ेस्ट फ़ाइल (यह एट्रिब्यूट सिर्फ़ तब इस्तेमाल करें, जब पेमेंट के तरीके का आइडेंटिफ़ायर तीसरे पक्ष से मिला है)
- वेब ऐप्लिकेशन मेनिफ़ेस्ट
खोज की प्रोसेस तब शुरू होती है, जब कोई व्यापारी/कंपनी/कारोबारी लेन-देन शुरू करता है:
- ब्राउज़र, पेमेंट के तरीके के लिए अनुरोध भेजता है आइडेंटिफ़ायर यूआरएल और फ़ेच पेमेंट का तरीका मेनिफ़ेस्ट करें.
- ब्राउज़र तय करता है कि वेब ऐप्लिकेशन मेनिफ़ेस्ट यूआरएल पेमेंट का तरीका मेनिफ़ेस्ट और वेब ऐप्लिकेशन मेनिफ़ेस्ट फ़ेच करता है.
- ब्राउज़र यह तय करता है कि ओएस पेमेंट ऐप्लिकेशन को लॉन्च करना है या वेब ऐप्लिकेशन मेनिफ़ेस्ट से वेब पर आधारित पेमेंट ऐप्लिकेशन डाउनलोड करें.
अगले सेक्शन में, पेमेंट का तरीका सेट अप करने के बारे में ज़्यादा जानकारी दी गई है ताकि ब्राउज़र इसे खोज सकें.
पहला चरण: पेमेंट के तरीके का आइडेंटिफ़ायर देना
पेमेंट का तरीका
आइडेंटिफ़ायर
यूआरएल पर आधारित स्ट्रिंग है. उदाहरण के लिए, 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()
, उपयोगकर्ता के जेस्चर से ट्रिगर होता है, जैसे कि माउस क्लिक.- पेमेंट के लिए सिर्फ़ एक ही ऐप्लिकेशन है जो:
- पेमेंट के अनुरोध किए गए तरीके के आइडेंटिफ़ायर के साथ काम करता है.
वेब पर आधारित पेमेंट ऐप्लिकेशन को जस्ट-इन-टाइम (जेआईटी) कब रजिस्टर किया जाता है?
उपयोगकर्ता के साफ़ तौर पर पहले से जाने के बिना, वेब पर आधारित पेमेंट ऐप्लिकेशन लॉन्च किए जा सकते हैं और सर्विस वर्कर का रजिस्ट्रेशन करना होगा. सेवा जब उपयोगकर्ता पेमेंट करने का विकल्प चुनता है, तो वर्कर को उस समय रजिस्टर किया जा सकता है पेमेंट ऐप्लिकेशन के तौर पर काम करता है. रजिस्ट्रेशन के समय के लिए दो वैरिएशन होते हैं:
- अगर उपयोगकर्ता को पेमेंट के अनुरोध वाला यूज़र इंटरफ़ेस (यूआई) दिखता है, तो इसका मतलब है कि ऐप्लिकेशन रजिस्टर हो गया है उपयोगकर्ता के जारी रखें पर क्लिक करने पर, यह समय-समय पर लॉन्च होता है.
- अगर पेमेंट के अनुरोध वाले यूज़र इंटरफ़ेस (यूआई) को स्किप किया जाता है, तो पेमेंट ऐप्लिकेशन रजिस्टर हो जाता है सीधे तौर पर लॉन्च किया जा सकता है. लॉन्च करने के लिए, पेमेंट के अनुरोध वाले यूज़र इंटरफ़ेस (यूआई) को स्किप करना तुरंत रजिस्टर किए गए ऐप्लिकेशन के लिए उपयोगकर्ता जेस्चर की ज़रूरत होती है, जो क्रॉस-ऑरिजिन सर्विस वर्कर का अनचाहा रजिस्ट्रेशन.
अगले चरण
अब जब आपका पेमेंट ऐप्लिकेशन खोजे जा सकता है, तो प्लैटफ़ॉर्म के हिसाब से ऐप्लिकेशन तैयार करने का तरीका जानें पेमेंट ऐप्लिकेशन और वेब पर आधारित पेमेंट ऐप्लिकेशन शामिल हैं.