पुष्टि, तीन अलग-अलग एनवायरमेंट में की जा सकती है:
- पेमेंट इंटिग्रेटर का 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
|
बोनस वीडियो
फ़ील्ड | |
---|---|
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 यह पक्का करेगा कि लॉन्च की गई पहली गतिविधि इसके बाद की हो
लेकिन लॉन्च की गई सभी सब-एक्टिविटी को भी इसका पालन करना होगा
पैटर्न. अगर ऐसा नहीं है, तो शायद तीसरे पक्ष के डेवलपर से की गई खरीदारी काम न करे.