Android APK टॉप अप एपीआई

टॉप अप तीन अलग-अलग एनवायरमेंट में हो सकता है:

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

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

सभी फ़्लो के नतीजे के तौर पर, इंटिग्रेटर एक TopUpRedirectResponse. यह जवाब हस्ताक्षर करके भेज दिया गया है उन्हें फिर से Google पर दिखाएँ.

मोबाइल और डेस्कटॉप वेबसाइटों को वेब टॉप अप एपीआई की खास बातें, जबकि Android ऐप्लिकेशन फ़्लो को Android Top Up API की खास बातों का पालन करना होगा.

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

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

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

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

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

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

अनुरोध

फ़ील्ड
gspTopUpRequest TopUpRedirectRequest

टॉप-अप का अनुरोध.

gspAssociationId string

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

जवाब

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

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

नतीजा

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

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

बोनस वीडियो

फ़ील्ड
gspTopUpResponse TopUpRedirectResponse अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

ज़रूरी है: टॉप-अप रिस्पॉन्स. कोड में बदली गई यह वैल्यू 1 केबी से ज़्यादा नहीं होनी चाहिए.
redirectRequestId string

ज़रूरी है: पेमेंट के मूल अनुरोध में भेजा गया requestId या पेमेंट को दूसरे वेबलिंक पर भेजने के लिए किया गया अनुरोध. Google पुष्टि करेगा कि यह भेजे गए requestId से मेल खाता है. अगर यह मेल नहीं खाता, तो पूरा रीडायरेक्ट फ़्लो काम नहीं करेगा.

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

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

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


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

  ....
}

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