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
我的也是一样 你的解决了吗
更多关于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('支付调用结束');
}
});
调试步骤
-
检查支付参数:确保所有传递给
uni.requestPayment
的参数都是正确的,特别是针对PayPal支付的特定参数。 -
网络状态:检查设备的网络连接,确保网络畅通无阻。
-
日志输出:在
fail
回调中增加详细的错误日志输出,查看是否有具体的错误信息返回。 -
后端接口:确认后端接口返回的支付订单信息无误,特别是订单状态、金额等信息。
-
PayPal文档:仔细查阅PayPal的官方文档,确保所有集成步骤都按照文档要求执行。
-
模拟环境:如果可能,尝试在沙箱环境中复现问题,以便更容易地调试和定位问题。
通过上述步骤,你应该能够定位并解决uni.requestPayment
接口调用后停留不返回success
的问题。如果问题依旧存在,建议联系PayPal的技术支持获取更专业的帮助。