
- 发布:2025-04-03 14:13
- 更新:2025-04-03 14:13
- 阅读:27
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: macBook Pro m1 13.0 (22A380)
HBuilderX类型: 正式
HBuilderX版本号: 4.45
手机系统: 全部
手机厂商: 华为
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
操作步骤:
点击按钮执行以下方法即可复现
//订单对象,从服务器获取
var orderInfo = {
"clientId": "clientId from paypal", //客户端id
"orderId": "orderId from server", //订单id
"userAction": "continue", // paynow/continue
"currency":"USD", // 币种
"environment":"sandbox", //运行环境 sandbox/live
};
uni.getProvider({
service: 'payment',
success: function (res) {
console.log(res.provider)
if (~res.provider.indexOf('paypal')) {
uni.requestPayment({
"provider": "paypal",
"orderInfo": orderInfo,
success: function (res) {
var rawdata = JSON.parse(res.rawdata);
console.log("orderId:" + rawdata.orderId);
},
fail: function (err) {
console.log('fail:' + JSON.stringify(err));
}
});
}
}
});
点击按钮执行以下方法即可复现
//订单对象,从服务器获取
var orderInfo = {
"clientId": "clientId from paypal", //客户端id
"orderId": "orderId from server", //订单id
"userAction": "continue", // paynow/continue
"currency":"USD", // 币种
"environment":"sandbox", //运行环境 sandbox/live
};
uni.getProvider({
service: 'payment',
success: function (res) {
console.log(res.provider)
if (~res.provider.indexOf('paypal')) {
uni.requestPayment({
"provider": "paypal",
"orderInfo": orderInfo,
success: function (res) {
var rawdata = JSON.parse(res.rawdata);
console.log("orderId:" + rawdata.orderId);
},
fail: function (err) {
console.log('fail:' + JSON.stringify(err));
}
});
}
}
});
预期结果:
打开 paypal 支付,支付完成返回 app
打开 paypal 支付,支付完成返回 app
实际结果:
无法打开 paypal
无法打开 paypal
bug描述:
uniapp paypal 支付,paypal 开发者平台已无法配置:包名+://paypal 这种格式的 return_url,仅支持 https 格式,
通过一下代码打开 paypal 支付后会提示 redirect_url无效,client_id是准确无误的
//订单对象,从服务器获取
var orderInfo = {
"clientId": "clientId from paypal", //客户端id
"orderId": "orderId from server", //订单id
"userAction": "continue", // paynow/continue
"currency":"USD", // 币种
"environment":"sandbox", //运行环境 sandbox/live
};
uni.getProvider({
service: 'payment',
success: function (res) {
console.log(res.provider)
if (~res.provider.indexOf('paypal')) {
uni.requestPayment({
"provider": "paypal",
"orderInfo": orderInfo,
success: function (res) {
var rawdata = JSON.parse(res.rawdata);
console.log("orderId:" + rawdata.orderId);
},
fail: function (err) {
console.log('fail:' + JSON.stringify(err));
}
});
}
}
});
