1***@qq.com
1***@qq.com
  • 发布:2026-10-23 13:37
  • 更新:2026-10-23 13:46
  • 阅读:72

【Bug反馈】uni-app 官方 PayPal 支付模块在 iOS 端未使用指定的 returnURL_ios

分类:uni-app

问题描述

我使用 uni-app 官方提供的 uni.requestPayment 接口对接 PayPal 支付,目前 Android 端可以正常支付,但 iOS 端支付失败,PayPal 页面提示:

client id or redirect uri invalid

目前使用的是 PayPal Sandbox 环境,PayPal 后台已经配置了回调地址:

com.trio.deltrix.evcharging.de://paypalpay

manifest.json 中也配置了对应的 iOS 和 Android 回调地址:

"payment": {  
  "paypal": {  
    "__platform__": ["ios", "android"],  
    "returnURL_ios": "com.trio.deltrix.evcharging.de://paypalpay",  
    "returnURL_android": "com.trio.deltrix.evcharging.de://paypalpay"  
  }  
}

同时,我已按照官方文档在 iOS Info.plist 中添加了 paypal 配置:

<key>paypal</key>  
<dict>  
    <key>returnUrl</key>  
    <string>com.trio.deltrix.evcharging.de://paypalpay</string>  
</dict>

iOS 应用也已配置对应的 URL Scheme。

排查结果

经过排查,我发现 iOS 跳转 PayPal 页面时,实际请求地址中的两个参数均为:

  • redirect_uri=nativexo://paypalpay
  • signup_redirect_uri=nativexo://paypalpay

实际使用的回调地址并不是我在 manifest.json 和 Info.plist 中指定的 com.trio.deltrix.evcharging.de://paypalpay。

目前 Android 端支付正常,iOS 端失败。前端使用的是官方 uni.requestPayment 接口。

希望官方协助排查

  1. 为什么 iOS PayPal 支付模块没有使用 manifest.json 中配置的 returnURL_ios?
  2. 为什么在 Info.plist 中已经配置 paypal.returnUrl 的情况下,实际请求仍然使用默认地址 nativexo://paypalpay?
  3. 这是否属于 HBuilderX 云端打包或 iOS PayPal 原生支付模块的已知问题?
  4. 是否有推荐的修复方案、补丁或需要升级的版本?

希望官方协助确认 iOS 原生 PayPal 模块实际读取回调地址的逻辑。目前希望优先排查客户端原生模块及打包配置,暂不修改现有后端支付业务逻辑。

谢谢!

2026-10-23 13:37 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

根据知识库中的官方文档和社区反馈,针对你遇到的 iOS 端 PayPal 支付未使用指定 returnURL_ios 的问题,整理排查建议如下:

一、官方配置要求确认

根据 uni-app 官方文档,PayPal 支付在 iOS 端需要同时完成以下配置:

  1. 在 manifest.json 的“App 模块配置”中勾选“paypal 支付”并填写 returnURL_ios,该值必须与 PayPal 开发者中心配置的值一致,且格式为“包名+://paypalpay”,必需全小写。
    参考:app-payment-paypal 配置

  2. 在 iOS 原生工程的 Info.plist 中添加 paypal 项,并填写 returnUrl。
    参考:payment paypal 支付 工程配置

  3. 在 PayPal 开发者中心添加对应的 return URL,可添加多个分别给 Android 和 iOS 使用。
    参考:app-payment-paypal 开通

二、关于 iOS 端使用默认 nativexo://paypalpay 的问题

在知识库中未找到关于 iOS 原生模块默认使用 nativexo://paypalpay 的官方说明。但根据 ask 社区中的相关反馈,类似“client_id 或 redirect_uri 无效”的问题有如下排查方向:

  1. PayPal 开发者中心设置:有开发者在排查 iOS 端同样报错时发现,需要在 PayPal 开发者中心勾选【Mobile SDKs】选项,这一点 uni-app 官方文档未明确说明。
    参考:【报Bug】关于 paypal 支付报错(client_id或redirect_uri无效)

  2. PayPal SDK 版本变化:社区中有反馈提到 PayPal 升级 SDK 后关闭了原先的配置方式,官方表示后续会更新 SDK 和配置方式。这可能影响 return URL 的读取逻辑。
    参考:uniapp 接入 paypal 支付,登录 return_url 不正确

三、建议排查步骤

  1. 确认 manifest.json 中的 returnURL_ios 值与 PayPal 开发者中心配置的 return URL 完全一致(区分大小写,需全小写)。
  2. 确认 iOS Info.plist 中 paypal -> returnUrl 的值与 manifest.json 中的一致。
  3. 登录 PayPal 开发者中心,检查应用设置中是否勾选了【Mobile SDKs】选项,并确认 return URL 列表中已添加 com.trio.deltrix.evcharging.de://paypalpay。
  4. 确认使用的是自定义基座或云端打包后测试,因为支付模块参数配置需提交云端打包后才能生效,真机运行调试时需使用自定义基座。
  5. 如果以上配置均确认无误但问题仍然存在,建议在 ask.dcloud.net.cn 提交问题,附上 manifest.json 配置截图、Info.plist 配置截图、PayPal 开发者中心配置截图以及 uni.requestPayment 调用时的 orderInfo 参数代码,以便进一步排查。

由于知识库中暂未找到关于 iOS 原生模块在配置存在时仍使用默认 nativexo://paypalpay 的直接说明,无法确认这是否属于已知缺陷。建议优先按照上述社区反馈中提到的 PayPal 开发者中心【Mobile SDKs】选项进行排查。

内容为 AI 生成,仅供参考
1***@qq.com

1***@qq.com (作者) - 本人很懒很烂

你好,我遇到了 uni-app 官方 PayPal 支付模块的 iOS 回调地址问题,想请熟悉 iOS 原生支付模块的技术人员协助排查。

我的环境:

  • HBuilderX:5.31.2026093020-alpha
  • 使用官方 uni.requestPayment({ provider: 'paypal', orderInfo })
  • HBuilderX 云端打包
  • Android 支付正常,iOS 支付失败

我已经按照官方文档配置:

  • manifest.json 中的 returnURL_ios:com.trio.deltrix.evcharging.de://paypalpay
  • iOS Info.plist 中的 paypal.returnUrl:com.trio.deltrix.evcharging.de://paypalpay
  • PayPal Sandbox 后台也已配置相同的回调地址

但实际抓取 iOS 跳转 PayPal 时的地址,发现:

  • redirect_uri=nativexo://paypalpay
  • signup_redirect_uri=nativexo://paypalpay

也就是说,实际请求使用的是 nativexo://paypalpay,而不是我配置的地址。

我想请教的不是常规配置方法,而是以下几个具体问题:

  1. 当前 HBuilderX 的 iOS PayPal 原生模块,究竟从哪里读取 returnURL_ios 和 Info.plist 中的 returnUrl?
  2. 为什么两个配置均已填写,实际请求仍使用 nativexo://paypalpay?
  3. 这是否与 PayPal iOS SDK 版本或 HBuilderX 云端打包时的原生模块集成有关?
  4. 有没有已知 Bug、修复版本,或者可以验证的原生模块日志?

希望能有熟悉 iOS PayPal 原生模块的技术人员协助确认,谢谢。

要回复问题请先登录或注册