webberking
webberking
  • 发布:2023-05-05 11:41
  • 更新:2024-06-20 17:16
  • 阅读:633

【报Bug】paypal支付无法呼起

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 11.7.4 (20G1120)

HBuilderX类型: 正式

HBuilderX版本号: 3.7.11

手机系统: Android

手机系统版本号: Android 12

手机厂商: 华为

手机机型: Mate40 Pro

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

App下载地址或H5⽹址: https://www.pgyer.com/ACW3

示例代码:

if(res.data.code==1){  
                                        // #ifdef H5  
                                        //window.location.href = res.data.data.payInfo;  
                                        // #endif  
                                        // #ifdef APP-PLUS  

                                        let orderInfo = {  
                                          "clientId": res.data.data.ClientId, //开发者中心clientId  
                                          "orderId": res.data.data.payInfo, //订单id  
                                          "userAction": "paynow", //按钮样式 paynow/continue  
                                          "currency":"USD", //币种  
                                          "environment": res.data.data.Environment //运行环境 sandbox(沙盒) / live(线上)  
                                        };  
                                        uni.getProvider({  
                                            service: 'payment',  
                                            success: function (res) {  
                                                if (~res.provider.indexOf('paypal')) {  
                                                    console.log(orderInfo.orderId);  
                                                    uni.requestPayment({  
                                                        "provider": "paypal",   
                                                        "orderInfo": orderInfo,  
                                                        success: function (response) {  
                                                            console.log('success');  

                                                            console.log('success:' + JSON.parse(response.rawdata));  
                                                            uni.showLoading({  
                                                                title:"支付完成,正在处理,请耐心等候"  
                                                            });  
                                                            if(order_sn.indexOf("BOX")>=0){  
                                                                that.getOrderStatus();  
                                                            }else{  
                                                                uni.redirectTo({  
                                                                    url: "../order/ordercomplete?pay_type=1&order_sn="+order_sn  
                                                                });  
                                                            }  

                                                        },  
                                                        fail: function (err) {  
                                                            //console.log('fail:' + JSON.stringify(err));  
                                                            console.log('error');  
                                                        },  
                                                        complete: function (inf) {  
                                                            //console.log('fail:' + JSON.stringify(inf));  
                                                            console.log('complete');  
                                                        }  
                                                    });  
                                                }else{  
                                                    uni.showToast({  
                                                        title: '抱歉,当前您的系统暂不支持使用Paypal支付。',  
                                                        icon: 'none'  
                                                    })  
                                                }  
                                            }  
                                        });  

                                        // #endif  
                                    }else{  
                                        uni.showToast({  
                                            duration: 3000,  
                                            icon: 'none',  
                                            title: res.data.msg  
                                        });  
                                    }```

操作步骤:
uni.getProvider//是成功的  
uni.requestPayment//没反应

预期结果:
uni.getProvider//是成功的  
uni.requestPayment//没反应

实际结果:
uni.getProvider//是成功的  
uni.requestPayment//没反应

bug描述:

uni.getProvider//是成功的
uni.requestPayment//没反应
"orderId": res.data.data.payInfo, //订单id是根据服务端接口v2/checkout/orders获取成功的,获取的h5链接可使用,app中使用返回的id

另外想知道,使用官方的uni.requestPayment的paypal接口,paypal支付是跳转到paypal App的方式还是直接在开发的App内native呼起,还是跳转到外部浏览器呼起

2023-05-05 11:41 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

您好, 这个问题您时如何解决的?

Diligent_UI

Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

正常情况下是直接在开发的App内native呼起

陵域

陵域

没登录过账号是在App内输入账号,下一步跳转到外部浏览器呼起

陵域

陵域

还有就是注意: 开发者中心 clientId 需要和 运行环境要匹配

陳宇楽

陳宇楽

这个解决了吗

a***@163.com

a***@163.com

解决了吗?

要回复问题请先登录注册