2016-09-08 3 views
5

NPCI의 가이드 라인을 기반으로 URL을 생성하는 판매자 앱을 만들려고합니다. 이 URL은 의도로 공유되며 PSP 앱 (등록 된 모든 은행 앱)은 해당 URL을 청취하고 호출 될 수 있어야합니다.UPI url을 사용하여 PSP 앱 실행

나는이 같은 URL을 형성했다 : -

UPI : // 지불 PA = ICICI/이름 & PN = USER_NAME & TID = 422d97c1-f0fc-4bea-b24a-511ffa85e86f & 오전 = 442.87? & TN 이제

이 같은 의도를 보낸다 = 테스트 %의 거래 : -

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

수신기 응용 프로그램에 Icici 은행 응용 프로그램이 표시되지 않습니다. URL을 올바르게 작성하고 있습니까?

UPI가 최근에 출시되어 인터넷을 통해 좋은 리소스를 얻을 수 없습니다.

주 - urid에서 tid (트랜잭션 id)는 내 앱에서 생성되는 임의의 uuid입니다.

답변

6

정확한 방법을 찾았습니다. 질문에 언급 된대로 URL의 틀을 정해야합니다. 그런 다음이 URL을 URI로 변환하여 데이터로 보내야합니다.

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

그런 다음 onActivityResult에서 requestCode를 확인하고받은 ID 데이터가 null입니다. 그렇지 않으면 데이터에 응답과 같은 stringExtra가 포함됩니다. 이 응답에는 상태, 트랜잭션 참조, transactionId 및 응답 코드가 포함됩니다.

또한 URL의 공백은 '+'로 바꾸고 '%'로 바꾸지 않아야합니다.

+0

intent.setData (Uri.parse (UPI))에서 UPI는 무엇입니까? –

+0

URL을 만들어야 PSP 앱을 호출 할 수 있습니다. – deep

+0

답변 해 주셔서 감사합니다. 하나 이상의 쿼리가 있습니다 .. UPI 문서에 지정된대로 모든 상인은 위와 같은 URL을 생성하고 메일 또는 채팅 응용 프로그램을 통해 사용자에게 전송할 수 있습니다. 따라서 URL을 메일을 통해 보내려고했으나 클릭 할 수 없습니다. .. 내 장치에있는 모든 UPI 응용 프로그램의 선택기 대화 상자가 나타나지 않습니다. 그러나 동일한 URL의 qr 코드를 검색하면 원하는 결과가 나타납니다. 그래서 묻는 것은 메일 또는 소셜 메시징 앱 –

0

앱이 UPI 의도 수신기로 나타나려면 해당 UPI uri를 매니페스트 파일에 등록해야합니다. 그러면 다른 애플리케이션이 던진이 유형의 브로드 캐스트 인 텐트를 청취 할 수 있습니다. 웹을 통해이 시험을 보았습니다. 특정 응용 프로그램에 대해 지불하는 "전화 Pe"앱을 가져올 수있었습니다. 나는 Bhim과 Icici를 내 전화에도 설치했지만 그들은 나타나지 않았고 "전화 Pe"는 기본적으로 자랐기 때문에 UPI uri Intent를 등록하지 않았다고 가정하고 있습니다.

편집 : Android App to App 전화 Pe와 BHIM, ICICI 앱을 열 수 있습니다.이 의도가 없으므로 등록되지 않으므로 등록되지 않았습니다.