पेमेंट हैंडलर एपीआई के CanMakePayment इवेंट के व्यवहार में अपडेट

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

Chrome, canmakepayment इवेंट से, पहचान करने वाले फ़ील्ड हटाने जा रहा है और Chrome 108 से ऑरिजिन ट्रायल शुरू करें.

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

क्या बदलाव होने वाले हैं?

जब कोई व्यापारी, रजिस्टर किए गए सर्विस वर्कर new PaymentRequest() को कॉल करता है canmakepayment इवेंट मिलेगा (CanMakePaymentEvent) जिसमें नीचे दी गई जानकारी शामिल है:

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

इन्हें हटाया जाएगा और सर्विस वर्कर को सिर्फ़ बिना किसी अतिरिक्त जानकारी के canmakepayment इवेंट.

सुविधा की पहचान

यह पता लगाने के लिए कि सर्विस वर्कर में canmakepayment इवेंट बदला गया है या नहीं कोड में बदल सकते हैं, तो संबंधित प्रॉपर्टी की जाँच कर सकते हैं, जैसे:

self.addEventListener(e => {
  if (e.paymentRequestOrigin) {...}
  if (e.topOrigin) {...}
  if (e.methodData && e.methodData.length > 0) {...}
  if (e.modifiers && e.modifiers.length > 0) {...}
  ...
});

बदलाव को स्थानीय तौर पर आज़माएं

डेवलपमेंट के मकसद से, स्थानीय तौर पर बदलाव को चालू करने के लिए:

  1. Chrome 108, 109 या 110 का इस्तेमाल करें.
  2. यूआरएल बार में chrome://flags/#clear-identity-in-can-make-payment डालें.
  3. फ़्लैग चालू करें.
  4. Chrome को फिर से लॉन्च करें.

फ़्लैग को चालू करने पर, canmakepayment इवेंट में आइडेंटिटी फ़ील्ड जुड़ जाएंगे खाली कर दिया गया (और Android IS_READY_TO_PAY इंटेंट).

प्रोडक्शन में बदलाव करने की सुविधा चालू करें

टेस्टिंग के लिए, प्रोडक्शन में बदलाव को चालू करने से पहले भी ऐसा किया जा सकता है Chrome में पहुंच जाती हैं. इस तरीके को ऑरिजिन ट्रायल कहा जाता है.

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

ऑरिजिन ट्रायल के लिए रजिस्टर करने के लिए:

  1. टोकन के लिए अनुरोध करना को भी शामिल किया है.
  2. Origin-Trial का इस्तेमाल करके, अपनी सर्विस वर्कर JavaScript फ़ाइल में टोकन जोड़ें एचटीटीपी हेडर. एचटीटीपी हेडर सेट करने के लिए, आपको सर्वर को कॉन्फ़िगर करने का ऐक्सेस चाहिए. मिलने वाला रिस्पॉन्स हेडर कुछ ऐसा दिखना चाहिए:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

सर्विस वर्कर फ़ाइल पर, ऑरिजिन ट्रायल टोकन देखने के लिए, DevTools का इस्तेमाल करना या curl आदेश ऐसा:

$ curl --head <Service Worker JS file URL> | grep -i origin-trial
origin-trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Chrome 111 के बाद, पहचान फ़ील्ड को स्थानीय तौर पर फिर से चालू करें

अगर Chrome 111 या इसके बाद के वर्शन का इस्तेमाल किया जा रहा है, तो canmakepayment इवेंट खाली है. पुनः सक्षम करने के लिए तो आप ये काम कर सकते हैं:

  1. Chrome 111 या इसके बाद के वर्शन का इस्तेमाल करें.
  2. यूआरएल बार में chrome://flags/#add-identity-in-can-make-payment डालें.
  3. फ़्लैग चालू करें.
  4. Chrome को फिर से लॉन्च करें.

अगले चरण

इस बदलाव को Chrome 111 में, डिफ़ॉल्ट रूप से चालू किया जाएगा. तैयारी के लिए, आज ही टेस्ट करना शुरू किया जा सकता है को देखने के लिए किया जा सकता है.