Проблема глубокой связи UPI с интеграцией приложений для Android

Я использую нативный код для упи глубоких ссылок. Когда намерение вызвать на странице сведений о платеже приложения bhim не отображается, в то время как другое приложение psp перенаправляет на страницу платежа. Когда я нажимаю URL-адрес из мобильного браузера, например, upi://pay? Pa=98955012345@upi&pn=abc&am=1, открывается приложение BHIM с предварительно заполненная страница сведений о получателе.

Однако, когда я использую свое торговое приложение, чтобы связать его через намеренные глубокие ссылки, оно открывает BHIM, но не перенаправляет на предварительно заполненную страницу.

1 ответ

Это действительно работает и для приложения BHIM. Используйте этот код, он работает как очарование для всех приложений с поддержкой PSP.

Примечание. Вместо использования "%" лучше использовать "+" для замены пробела в URL. Это работает лучше.

private String getUPIString(String payeeAddress, String payeeName, String payeeMCC, String trxnID, String trxnRefId,
                        String trxnNote, String payeeAmount, String currencyCode, String refUrl) {
String UPI = "upi://pay?pa=" + payeeAddress + "&pn=" + payeeName
        + "&mc=" + payeeMCC + "&tid=" + trxnID + "&tr=" + trxnRefId
        + "&tn=" + trxnNote + "&am=" + payeeAmount + "&cu=" + currencyCode
        + "&refUrl=" + refUrl;
return UPI.replace(" ", "+");

}

Затем передайте параметры в метод и передайте строку в Intent следующим образом:

Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.setData(Uri.parse(UPI));
        Intent chooser = Intent.createChooser(intent, "Pay with...");
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
            startActivityForResult(chooser, 1, null);
        }
Другие вопросы по тегам