uni-app中paypal支付唤起登录后一直转圈,uni.requestPayment接口停留不返回success

uni-app中paypal支付唤起登录后一直转圈,uni.requestPayment接口停留不返回success

开发环境 版本号 项目创建方式
sandbox live


```javascript
let orderInfo = {  
    clientId: res.data.client_id, //客户端id  
    orderId: res.data.id, //订单id  
    userAction: 'continue', //  paynow/continue  
    currency: 'HKD', //币种  
    environment: 'sandbox', //运行环境 sandbox/live  
};  
uni.getProvider({  
    service: 'payment',  
    success: function(data) {  
        if (~data.provider.indexOf('paypal')) {  
            console.log(4566, res.data.client_id, res.data.id)  
            uni.requestPayment({  
                "provider": 'paypal',  
                "orderInfo": orderInfo,  
                success: async function(res) {  
                    console.log(5678)  
                    var rawdata = JSON.parse(res.rawdata);  
                    console.log("orderId:" + rawdata.orderId);  
                    let res1 = await api.capture_paypal_order({orderId:rawdata.orderId,reference_id:res.reference_id});  
                    console.log(567778,JSON.parse(res1))  
                },  
                fail: function(err) {  
                    console.log('fail:' + JSON.stringify(err))  
                    console.log(5679)  
                },  
            })  
        } else {  
            uni.showToast({  
                title: '抱歉,当前您的系统暂不支持使用Paypal支付。',  
                icon: 'none'  
            })  
        }  
    },  
})

更多关于uni-app中paypal支付唤起登录后一直转圈,uni.requestPayment接口停留不返回success的实战教程也可以访问 https://www.itying.com/category-93-b0.html

15 回复

我的也是一样 你的解决了吗

更多关于uni-app中paypal支付唤起登录后一直转圈,uni.requestPayment接口停留不返回success的实战教程也可以访问 https://www.itying.com/category-93-b0.html


是不是有些配置没有配置呢,看看有没有类似情况:https://ask.dcloud.net.cn/question/153205

它可以唤起支付 但是 登录用户名和密码之后就一直在转圈圈

这个后台配置我按照文档操作了

回复 1***@qq.com: 你解决了吗

回复 1***@qq.com: 你有解决嘛

没有用

回复 1***@qq.com: 请问解决了吗,我也是这个问题

回复 陳宇楽: 请问解决了吗。我也遇到了这个问题

回复 r***@thintlgroup.com: 解决了嘛兄弟

回复 1***@qq.com: 解决了么兄弟

搞定了么兄弟们

根本没人搭理,下个项目准备弃坑了,uniapp坑有点多

我知道这么解决

在uni-app中使用PayPal支付时遇到uni.requestPayment接口调用后停留不返回success的情况,通常可能是由几个原因引起的,包括但不限于支付参数配置错误、网络问题、PayPal服务器响应延迟或错误等。以下是一个简化的代码示例,以及可能的调试步骤和注意事项,帮助你排查问题。

示例代码

首先,确保你已经按照PayPal的集成指南配置了必要的参数,并正确调用了uni.requestPayment接口。以下是一个基本的调用示例:

// 假设你已经从后端获取了PayPal的支付订单信息
const paymentInfo = {
    timeStamp: '', // 订单创建时间戳
    nonceStr: '', // 随机字符串,防止重放攻击
    package: 'Sign=WXPay', // 固定值,标识为微信支付类型
    signType: 'MD5', // 签名方式
    paySign: '', // 签名
    out_trade_no: '', // 商户订单号
    total_fee: '', // 总金额,单位为分
    trade_type: 'JSAPI', // 交易类型
    // 注意:这里的字段是针对微信支付的,PayPal支付需要替换为对应的字段
    // PayPal特定字段,例如:
    // paymentId: 'YOUR_PAYPAL_PAYMENT_ID',
    // ...其他PayPal需要的参数
};

uni.requestPayment({
    ...paymentInfo, // 将PayPal支付所需参数展开传入
    success: (res) => {
        console.log('支付成功', res);
        // 处理支付成功后的逻辑
    },
    fail: (err) => {
        console.error('支付失败', err);
        // 处理支付失败后的逻辑
    },
    complete: () => {
        console.log('支付调用结束');
    }
});

调试步骤

  1. 检查支付参数:确保所有传递给uni.requestPayment的参数都是正确的,特别是针对PayPal支付的特定参数。

  2. 网络状态:检查设备的网络连接,确保网络畅通无阻。

  3. 日志输出:在fail回调中增加详细的错误日志输出,查看是否有具体的错误信息返回。

  4. 后端接口:确认后端接口返回的支付订单信息无误,特别是订单状态、金额等信息。

  5. PayPal文档:仔细查阅PayPal的官方文档,确保所有集成步骤都按照文档要求执行。

  6. 模拟环境:如果可能,尝试在沙箱环境中复现问题,以便更容易地调试和定位问题。

通过上述步骤,你应该能够定位并解决uni.requestPayment接口调用后停留不返回success的问题。如果问题依旧存在,建议联系PayPal的技术支持获取更专业的帮助。

回到顶部