HarmonyOS 鸿蒙Next 支付宝payInterceptorWithUrl 没有反应

发布于 1周前 作者 wuwangju 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 支付宝payInterceptorWithUrl 没有反应

使用支付宝payInterceptorWithUrl  result始终返回false,且没有反应。

let result = new Pay().payInterceptorWithUrl(url, true, (result) => {
  let resultCode = result.get("resultCode");
  let returnUrl = result.get("returnUrl");
  console.log(`resultCode: ${resultCode}, returnUrl: ${returnUrl}`);
  if (returnUrl) {
    this.getBridge().getController().loadUrl(returnUrl);
  }
});
  1. 确认querySchemes配置成功了,使用new Pay().pay能够正常唤起支付宝。
  2. 确认支付链接正常。在android中能够正常唤起支付;鸿蒙next通过浏览器打开能够正常唤起支付。

支付链接如下: https://openapi.alipay.com/gateway.do?app_id=2015xxx&biz_content=%7B%27body%27%3A%27&charset=utf-8&format=JSON&method=alipay.trade.wap.pay&notify_url=https%3A//xxx&return_url=https%3A//xxx&sign_type=RSA&timestamp=2024-11-12%2011%3A19%3A20&version=1.0&sign=kucptXRO5s8%2B2xxx


更多关于HarmonyOS 鸿蒙Next 支付宝payInterceptorWithUrl 没有反应的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

你好,你的支付链接有问题

官网说了以http和https开头的话,onLoadIntercept直接放行,后续的payInterceptorWithUrl都不执行了,通过链接的方式是无法直接拉起支付宝的(也就是https的方式)

url scheme应该是以“alipay”开头;

之所以new Pay().pay(url,true)能打开支付宝是因为,new Pay().pay支持h5支付,识别http和https
new Pay().pay效果如下:

cke_1285.png

更多关于HarmonyOS 鸿蒙Next 支付宝payInterceptorWithUrl 没有反应的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


new Pay().pay能够正常唤起的话,对应链接应该没什么问题,可以问问支付宝那边payInterceptorWithUrl的逻辑,为什么会被判断为非支付宝支付url

针对帖子标题中提到的“HarmonyOS 鸿蒙Next 支付宝payInterceptorWithUrl 没有反应”的问题,这通常涉及到鸿蒙系统下的应用接口调用异常。以下是针对此问题的直接回答:

在鸿蒙系统中,如果支付宝的payInterceptorWithUrl方法没有反应,可能的原因包括但不限于:

  1. 接口调用权限问题:确认应用是否已正确申请并获得了调用支付宝支付功能的必要权限。

  2. URL格式或参数错误:检查传递给payInterceptorWithUrl的URL格式和参数是否正确,确保符合支付宝的支付接口规范。

  3. 支付宝SDK版本兼容性问题:确认当前使用的支付宝SDK版本是否与鸿蒙系统版本兼容。如果不兼容,可能需要更新SDK版本。

  4. 系统或应用bug:可能是鸿蒙系统或支付宝应用本身的bug导致接口调用无响应。可以尝试重启设备或更新系统/应用版本。

  5. 日志分析:查看应用和系统日志,分析是否有相关错误信息或异常堆栈,以便进一步定位问题。

如果以上步骤均无法解决问题,建议直接联系支付宝技术支持或鸿蒙系统官方客服进行排查。如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部