Android APK की पुष्टि करने वाला एपीआई

पुष्टि, तीन अलग-अलग एनवायरमेंट में की जा सकती है:

  • पेमेंट इंटिग्रेटर का Android ऐप्लिकेशन
  • पेमेंट इंटिग्रेटर की मोबाइल वेबसाइट
  • पेमेंट इंटिग्रेटर की डेस्कटॉप वेबसाइट

फ़्लो चाहे जो भी हो, Google उपयोगकर्ता के इंटरैक्शन को पेमेंट प्लैटफ़ॉर्म पर ट्रांसफ़र कर देता है इंटिग्रेटर का सॉफ़्टवेयर है. पेमेंट इंटिग्रेटर, उपयोगकर्ता को यह दिखा सकता है: इंटरफ़ेस को कॉपी कर सकते हैं या अगर इसमें पहले से ही उचित डेटा है तो तुरंत वापस कर दिया जाएगा. सभी फ़्लो के नतीजे के तौर पर इंटिग्रेटर AuthenticationResponse बनाता है. यह जवाब पर हस्ताक्षर करके उसे Google को वापस भेज दिया जाता है.

मोबाइल और डेस्कटॉप वेबसाइटों को Webredirect Authentication API का पालन करना होगा Android ऐप्लिकेशन का फ़्लो, Android के हिसाब से होना चाहिए. Authentication API की खास बातें.

उपयोगकर्ताओं की पुष्टि करने के लिए, इंटिग्रेटर को Android APK समाधान लागू करना चाहिए. यह पुष्टि करने का एक अलग तरीका है. हालांकि, इसका मकसद वही है जो पुष्टि करने के लिए, वेब पुष्टि करने की सुविधा.

उपयोगकर्ता किसी Android डिवाइस की मदद से, पेमेंट इंटिग्रेटर की मदद से पुष्टि करता है गतिविधि. खाता जोड़ने के दौरान और उपयोगकर्ता-चुनौतियों का पता लगाना. Android को Play को बंद करने से रोकने के लिए, बैकग्राउंड में, पुष्टि के दौरान इंटिग्रेटर को गतिविधि की थीम में फ़ॉलो किया जा रहा है.

<item name="android:windowIsTranslucent">true</item>

तरीके की परिभाषा

इंटेंट में ये प्रॉपर्टी होनी चाहिए:

मेथड प्रॉपर्टी
कार्रवाई com.google.android.payments.standard.AUTHENTICATE_V1
कैटगरी android.intent.category.DEFAULT

अनुरोध

फ़ील्ड
gspAuthenticationRequest AuthenticationRequest

पुष्टि करने का अनुरोध.

gspAssociationId string

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

जवाब

उपयोगकर्ता की ओर से पुष्टि करने के बाद, आपके ऐप्लिकेशन को एक नतीजा भेजना होगा Google को वापस भेजा जाएगा. अगर पुष्टि हो जाती है, तो इंटेंट बनाएं और जोड़ें अतिरिक्त के रूप में, एन्क्रिप्ट (सुरक्षित) किए गए gspAuthenticationResponse को शामिल करें. इसके बाद, गतिविधि के नतीजे को नतीजे के सही कोड पर सेट करें.

...
result.setExtra("gspAuthenticationResponse", gspAuthenticationResponse);
setResult(Activity.RESULT_OK, result);
...
finish();

नतीजा

फ़ील्ड
नतीजा int

Activity.RESULT_OK
प्रमाणीकरण सफल रहा.
Activity.RESULT_CANCELED उपयोगकर्ता ने फ़्लो को मैन्युअल तरीके से रद्द कर दिया है और फ़्लो को रद्द कर दिया जाना चाहिए.
Activity.RESULT_FIRST_USER किसी गंभीर वजह से प्रमाणीकरण विफल रहा और फ़्लो ऐसा होना चाहिए रद्द किया गया. लॉगिन करने पर, आईई सर्वर ने एचटीटीपी 500 रिस्पॉन्स दिखाया.

बोनस वीडियो

फ़ील्ड
gspAuthenticationResponse AuthenticationResponse

पुष्टि करने का जवाब. कोड में बदली गई यह वैल्यू 1 केबी से ज़्यादा नहीं होनी चाहिए.

गतिविधि से जुड़ी अन्य ज़रूरी शर्तें

ऊपर बताई गई AUTHENTICATE_V1 कार्रवाई को सपोर्ट करने वाली गतिविधि के लिए ज़रूरी है कि यह भी जांच करें कि एपीआई के कॉलर सिर्फ़ Google से हस्ताक्षर किए गए ऐप्लिकेशन से आते हैं. ऐसा करने से, दूसरे ऐप्लिकेशन आपकी गतिविधि शुरू नहीं कर पाएंगे और आइडेंटिटी टोकन फिर से पाएं. ऐसा करने के लिए, StandardPaymentUtils.verifyCallingActivityIsGoogleSigned अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ठीक super.onCreate के बाद आपके गतिविधि लागू करना.

यहां एक नमूना दिया गया है:


@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  StandardPaymentsUtils.verifyCallingActivityIsGoogleSigned(this);

  ....
}

authenticate फ़्लो में शुरू की गई सभी गतिविधियों में एक गतिविधि होनी चाहिए थीम जिसमें windowIsTranslucent=true है. यह काम करने के लिए AndroidManifest android:theme एट्रिब्यूट और Context.setTheme() का इस्तेमाल नहीं किया जा रहा है. प्रोग्राम की मदद से, विंडो के लिए थीम को सेट करने की सुविधा ठीक से काम नहीं करती की पारदर्शिता. Google यह पक्का करेगा कि लॉन्च की गई पहली गतिविधि इसके बाद की हो लेकिन लॉन्च की गई सभी सब-एक्टिविटी को भी इसका पालन करना होगा पैटर्न. अगर ऐसा नहीं है, तो शायद तीसरे पक्ष के डेवलपर से की गई खरीदारी काम न करे.