1

これが私がやりたいことです。私のアプリには、購入者と販売者の 2 種類のユーザーがいます。売り手は自分の UPI ID を提供でき、買い手は自分のデバイスにインストールされている任意の UPI アプリを使用して、提供された売り手 UPI ID を使用して売り手に支払うことができます。

次のように UPI 支払い URL を作成しています。

String upiPaymentUrl = upi://pay?pa=<<Seller VPA ID>>&pn=<<Payee name>>&tn=<<Txn description>>&cu=INR

次に、次のコードを使用して、電話上のすべての UPI 対応アプリを表示します。

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(upiPaymentUrl));
Intent chooser = Intent.createChooser(intent, getString(R.string.payment_title));
startActivityForResult(chooser, Constant.REQUEST_CODE_UPIPAYMENT, null);

選択した UPI アプリが起動し、URI で指定したすべてのデータが適切に入力されます。その後、支払いを開始しますが、支払いは常に失敗します。UPI アプリをそのまま (アプリから呼び出さずに) 使用し、UPI URL の作成に使用したのと同じ値を使用すると、支払いはエラーなしで行われます。アプリから UPI アプリを呼び出すと、支払いが失敗する原因は何ですか?

ヘルプ/提案は大歓迎です!

4

3 に答える 3