Интеграция UPI с использованием глубоких ссылок в iOS - PullRequest
0 голосов
/ 14 апреля 2020

Я работаю над открытием приложения GooglePay, PhonePe или PayTM, когда пользователь нажимает на Pay через UPI.

В соответствии с документами NPCI https://www.npci.org.in/sites/default/files/UPI%20Linking%20Specs_ver%201.6.pdf, когда я пытаюсь открыть upi: // pay? parm-name = param-value¶m-name = pram-value & ... или, по существу, upi: // из мобильного браузера, он случайным образом открывает любой установленный UPI приложение (whatsApp в моем случае), и если whatsApp не установлено, оно открыло PayTM.

Мне нужно поведение в моем приложении, где, если пользователь нажимает на Pay через GooglePay, приложение GooglePay должно открываться с предварительно заполненной суммой и продавец связался с ним так же, как это делает приложение CRED.

Как мне добиться подобной функциональности?

PS Я пробовал tez: // , открывается приложение GooglePay но это нигде не задокументировано, поэтому я не знаю, могу ли я на это положиться.

Редактировать: Могу ли я добиться этого без использования SDK? Я хочу использовать только схему URL для достижения этого.

Ответы [ 2 ]

0 голосов
/ 04 мая 2020
guard let urlString = "tez://upi/pay?pa=samplevpa@ybl&pn=Sample Name&am=1&cu=INR".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
        else {
            return
        }

    guard let url = URL(string: urlString) else {
        return
    }

    if !UIApplication.shared.canOpenURL(url) {
        print("url cannot be opened")
        return
    }

    UIApplication.shared.open(url, options: [:], completionHandler: { (success) in

        print(success)

    })

В моем случае это только печатает "истинный" Gpay не открывается. Можете ли вы помочь @ user12144463

0 голосов
/ 22 апреля 2020

Это также не задокументировано, но вы можете попробовать две схемы:

  • tez://upi/*
  • gpay://upi/*

Если бы мне нужно было угадать, какая из них будет лучше поддержана, это была бы опция gpay.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...