使用超链接集成UPI后如何获得响应

Aru*_*run 9 payment ios swift swift3 upi

在我的iOS应用程序中,我需要接受来自用户的付款.我正在使用UPI.我遵循了UPI提供的以下文件

http://www.npci.org.in/documents/UPI-Linking-Specs-ver-1.1_draft.pdf

我已经创建了文档中所述的深层链接.UIApplication.shared.open用于打开deeplink URL,以便在我的手机中打开任何已安装的PSP(支付服务提供商)应用程序(如PhonePe,BHIM等)

func payButtonClicked() {

        guard let urlString = "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)

        })

    }
Run Code Online (Sandbox Code Playgroud)

我已经使用自定义URL方案注册了我的应用程序,并在plist文件中为ApplicationQueriesScheme添加了方案upi

<array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>SampleApp</string>
            </array>
            <key>CFBundleURLName</key>
            <string>com.company.SampleApp</string>
        </dict>
    </array>
    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>upi</string>
    </array>
Run Code Online (Sandbox Code Playgroud)

它正在打开PSP应用程序,我可以进行交易.问题是我无法从PSP应用程序中获得响应.方法没有回调UIApplication.shared.open方法.我需要从PSP应用程序返回事务的状态并向用户显示状态.任何帮助赞赏

Swa*_*ant -1

还没有尝试过,但文档中提到了一个 url 参数,单击该参数后我们应该向用户显示交易详细信息。

单击后,这应该是一个 URL,为客户提供进一步的交易详细信息,如完整的账单详细信息、账单副本、订单副本、门票详细信息等。这也可用于在付款后交付数字商品,如 mp3 文件等。

我们可以发送带有重定向到应用程序的 url 方案的 url 或我们的应用程序可以处理的通用链接。

同样,我没有尝试过这个,所以我不知道这是否像我认为的那样有效,或者是否能完全解决您的问题。

https://www.npci.org.in/sites/all/themes/npcl/images/PDF/UPI_Linking_Specs_ver_1.5.1.pdf