6

NPCI のガイドラインに基づいて URL を生成するマーチャント アプリを作成しようとしています。この URL はインテントとして共有され、PSP アプリ (登録済みの銀行アプリ) はその URL をリッスンして起動できる必要があります。

私はこのようなURLを形成しました:-

upi://pay?pa=icici/name&pn=USER_NAME&tid=422d97c1-f0fc-4bea-b24a-511ffa85e86f&am=442.87&tn=Test%transaction

今、私はこのようなインテントを送信しています:-

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

Icici bank アプリがレシーバー アプリに表示されません。URL を正しく作成していますか?

UPI がごく最近リリースされたので、インターネット経由で適切なリソースを取得できません。

注 - URL の tid(transaction id) は、アプリで生成されるランダムな uuid です。

4

2 に答える 2

7

それを行う正しい方法を見つけました。質問に記載されているように、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 が response として含まれます。この応答には、ステータス、トランザクション参照、transactionId、および応答コードが含まれます。

また、URL 内のスペースは「%」ではなく「+」に置き換える必要があります。

于 2016-09-14T06:55:53.097 に答える