星野千子
星野千子
  • 发布:2026-02-25 17:34
  • 更新:2026-02-25 17:35
  • 阅读:18

paypal支付app调用只是拉起paypal网页登录,登录成功之后跳回app也没有触发success,点取消返回app也没反应,只有切后台直接回app才会触发fail

分类:uni-app

uni.requestPayment({
provider: "paypal",
orderInfo,
success: async function (res : any) {
console.log("[Payment Flow] ✅ PayPal authorization SUCCESS:", JSON.stringify(res));
try {
const rawdata = JSON.parse(res.rawdata);
console.log("[Payment Flow] Authorized orderId:", rawdata.orderId);
} catch (e) {
console.log("[Payment Flow] rawdata parse info:", res.rawdata);
}

                        // 授权成功后,调用后端 capture 接口完成扣款  
                        uni.showLoading({ title: "Processing...", mask: true });  

                    },  
                    fail: function (err : any) {  
                        const errMsg = JSON.stringify(err);  
                        console.error("[Payment Flow] ❌ PayPal payment FAILED:", errMsg);  
                        // 使用 modal 弹窗显示错误,确保能看到  
                        uni.showModal({  
                            title: "支付失败 - 调试",  
                            content: errMsg,  
                            showCancel: false  
                        });  
                    },  
                    complete: function (res : any) {  
                        console.log("[Payment Flow] ? PayPal payment COMPLETE (always called):", JSON.stringify(res));  
                    }  
                });
2026-02-25 17:34 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

根据知识库内容,你遇到的PayPal支付回调问题可能由以下原因导致:

  1. returnURL配置问题
    必须确保在manifest.json中配置的returnURL_androidreturnURL_ios与PayPal开发者中心设置的return URL完全一致(包括协议头和路径),否则会导致支付完成后无法正确返回App触发回调。

  2. iOS额外配置
    需检查是否在info.plist中添加了PayPal的returnUrl配置(参考工程配置)。

  3. 支付流程未完成
    PayPal支付在App端仅完成授权,需后续在服务器调用授权订单捕获订单接口才能真正扣款,但此步骤不影响回调触发。

  4. 沙箱环境限制
    若使用沙箱环境,需确认PayPal开发者中心的应用已正确配置沙箱return URL(参考申请开通Paypal)。

建议排查步骤

  1. 核对manifest.json中的returnURL与PayPal后台配置是否完全一致。
  2. 检查iOS项目的info.plist是否包含PayPal的returnUrl键值对。
  3. 通过真机调试观察App切换后台时是否能触发fail回调,确认是否为系统级回调拦截问题。

若配置无误仍无法解决,建议通过HBuilderX的运行日志查看详细错误信息。

内容为 AI 生成,仅供参考

要回复问题请先登录注册