Payment Open API


UPI Deeplink 使用说明

<h1>DeepLink深度唤起链接使用文档</h1> <p>商户可通过DeepLink功能实现应用内直接唤起支付应用,提供更流畅的支付体验。</p> <h4>适用范围</h4> <ul> <li> <p>目前主要适用于UPI支付场景</p> </li> <li>支持在移动端App或Web页面中直接唤起用户已安装的UPI支付应用</li> </ul> <h4>使用流程</h4> <ul> <li>商户通过支付下单接口发起支付收款订单后,在返回结果中获取upiUrl字段值</li> </ul> <h4>唤起方式</h4> <ul> <li> <p>移动应用内使用 :通过应用内打开DeepLink链接</p> </li> <li>Web页面使用 :在网页中构建支付按钮,点击后跳转至DeepLink链接</li> </ul> <h4>开发示例</h4> <h5>Android应用内实现</h5> <pre><code class="language-java">// 从支付接口返回结果中获取upiUrl String upiUrl = ...; // 创建Intent打开DeepLink Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(&amp;quot;upi://&amp;quot; + upiUrl)); // 检查是否有应用可以处理该intent if (intent.resolveActivity(getPackageManager()) != null) { startActivity(intent); } else { // 处理没有安装UPI应用的情况 Toast.makeText(context, &amp;quot;未安装UPI支付应用&amp;quot;, Toast.LENGTH_SHORT).show(); }</code></pre> <h5>iOS应用内实现</h5> <pre><code class="language-swift">// 从支付接口返回结果中获取upiUrl let upiUrl = ...; // 创建URL并打开 if let url = URL(string: &amp;quot;upi://&amp;quot; + upiUrl) { if UIApplication.shared.canOpenURL(url) { UIApplication.shared.open(url, options: [:], completionHandler: nil) } else { // 处理没有安装UPI应用的情况 showAlert(message: &amp;quot;未安装UPI支付应用&amp;quot;) } }</code></pre> <h5>Web页面实现</h5> <pre><code class="language-html">&amp;lt;button onclick=&amp;quot;openUpiApp()&amp;quot;&amp;gt;使用UPI支付&amp;lt;/button&amp;gt; &amp;lt;script&amp;gt; function openUpiApp() { // 从支付接口返回结果中获取upiUrl const upiUrl = ...; // 打开DeepLink window.location.href = &amp;quot;upi://&amp;quot; + upiUrl; // 设置超时处理,如果无法打开应用则提示用户 setTimeout(function() { // 可以重定向到应用商店或显示其他支付选项 alert(&amp;quot;未检测到UPI应用,请安装相关支付应用&amp;quot;); }, 2000); } &amp;lt;/script&amp;gt;</code></pre> <h4>常见唤起协议列表</h4> <table> <thead> <tr> <th style="text-align: left;">应用名称</th> <th style="text-align: left;">协议前缀</th> <th style="text-align: left;">适用场景</th> <th style="text-align: left;">示例</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">通用UPI</td> <td style="text-align: left;">upi://</td> <td style="text-align: left;">通用UPI支付协议</td> <td style="text-align: left;">upi://pay? + upiUrl</td> </tr> <tr> <td style="text-align: left;">Google Pay</td> <td style="text-align: left;">tez://</td> <td style="text-align: left;">Google Pay专用</td> <td style="text-align: left;">tez://upi/pay? + upiUrl</td> </tr> <tr> <td style="text-align: left;">PhonePe</td> <td style="text-align: left;">phonepe://</td> <td style="text-align: left;">PhonePe专用</td> <td style="text-align: left;">phonepe://pay? + upiUrl</td> </tr> <tr> <td style="text-align: left;">Paytm</td> <td style="text-align: left;">paytm://</td> <td style="text-align: left;">Paytm专用</td> <td style="text-align: left;">paytmmp://pay? + upiUrl</td> </tr> </tbody> </table>

页面列表

ITEM_HTML