2016-09-08 10 views
5

Próbuję utworzyć aplikację handlową, która wygeneruje adres URL na podstawie wskazówek NPCI. Ten adres URL zostanie udostępniony jako zamiar, a aplikacja PSP (każda zarejestrowana aplikacja bankowa) powinna mieć możliwość odsłuchania tego adresu URL i wywołania.Wywołanie aplikacji PSP z adresem UPI

ja utworzyli url tak: -

upi: // zapłacić pa = Icici/nazwa & pn = USER_NAME & tid = 422d97c1-f0fc-4bea-b24a-511ffa85e86f & AM = 442,87? & tn = test% transakcja

teraz wysyłam intencję tak: -

Intent sendIntent = new Intent(); 
sendIntent.setAction(Intent.ACTION_SEND); 
sendIntent.putExtra(Intent.EXTRA_TEXT, UPI); 
sendIntent.setType("text/plain"); 
startActivity(sendIntent); 

Aplikacja banku Icici nie jest wyświetlana w aplikacjach odbiornika. Czy poprawnie tworzę adres URL?

UPI został wydany całkiem niedawno, nie jestem w stanie uzyskać dobrego zasobu przez Internet.

Uwaga - w adresie URL identyfikator TID (identyfikator transakcji) jest losowy i generowany w mojej aplikacji.

Odpowiedz

6

Znaleziono prawidłowy sposób na zrobienie tego. Należy odpowiednio ustawić adres URL zgodnie z opisem w pytaniu. Następnie ten adres URL musi zostać przekonwertowany na identyfikator URI i wysłany jako dane do intencji.

Intent intent = new Intent(); 
intent.setData(Uri.parse(UPI)); 
Intent chooser = Intent.createChooser(intent, "Pay with..."); 
startActivityForResult(chooser, 1, null); 

Po tym, w onActivityResult, sprawdź na requestCode i id otrzymał zamierzają danych jest null. Jeśli nie, to dane będą zawierały stringExtra jako odpowiedź. Ta odpowiedź będzie zawierać status, referencję do transakcji, identyfikator transakcji i kod odpowiedzi.

Również spacje w adresie URL należy zastąpić "+", a nie "%".

+0

co to jest UPI w intent.setData (Uri.parse (UPI)); –

+0

Jest to adres URL, który należy utworzyć, a następnie użyć do wywołania aplikacji PSP. – deep

+0

Dzięki za odpowiedź. Mam jeszcze jedną kwerendę. Jak określono w dokumentach UPI, każdy sprzedawca może wygenerować adres URL jak powyżej i wysłać go do użytkownika za pośrednictwem poczty lub dowolnej aplikacji do czatu. Próbowałem więc wysłać adres URL za pośrednictwem poczty, ale nie można go kliknąć. ..hence okno dialogowe wyboru wszystkich aplikacji UPI w moim urządzeniu nie pojawia się ... Jednak zeskanowanie kodu QR tego samego adresu URL daje oczekiwany wynik. Pytam więc, jak sprawić, by te adresy URL były klikalne w mail lub aplikacja do obsługi wiadomości społecznościowych –

0

Aby aplikacja mogła się wyświetlać jako odbiornik intencji UPI, musi zarejestrować ten plik UPI uri w pliku manifestu, aby mógł słuchać tego typu intencji nadawanych przez inne aplikacje. Próbowałem tego przez Internet i mogłem wywołać aplikację "Telefon Pe", aby zapłacić za tę konkretną Aplikację. Mam zainstalowane Bhim i Icici w moim telefonie, ale nie pojawiły się i "Phone Pe" został domyślnie wychowany, więc zakładam, że nie zarejestrowano u nich intencji UPI uri.

Edytuj: Aplikacja na Androida do aplikacji Mogę otworzyć telefon Pe i BHIM, aplikacja ICICI chyba nie ma tego zamiaru Zarejestrowana, więc się nie pojawiła.

Powiązane problemy