uni-app paypal安卓端无法支付

uni-app paypal安卓端无法支付

操作步骤:

app端发起paypal支付,应用内弹出输入邮箱号弹窗,输入后下一步进入到默认浏览器,输入账户密码点击下一步,在同意政策页面持续转圈加载

预期结果:

可以正常支付

实际结果:

目前无法支付

bug描述:

项目集成paypal支付,沙盒模式下ios端可以正常支付,安卓端跳入网页,输入账户密码后一直在同意政策页面转圈,无法进行下一步

信息类别 详细信息
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 10
HBuilderX类型 正式
HBuilderX版本号 3.8.12
手机系统 Android
手机系统版本号 Android 13
手机厂商 小米
手机机型 红米note11
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

Image Image Image Image Image


更多关于uni-app paypal安卓端无法支付的实战教程也可以访问 https://www.itying.com/category-93-b0.html

17 回复

请问解决了吗?我也遇到了相同的问题

更多关于uni-app paypal安卓端无法支付的实战教程也可以访问 https://www.itying.com/category-93-b0.html


解决毛线啊,根本没人理

兄弟,我看你之前说安卓端paypal支付无反应?怎么解决的?

请问 uni.getProvider返回的provider中只有微信和支付宝[“alipay”,“wxpay”],没有paypal导致拉起PayPal失败报错"errMsg": “requestPayment:fail service not found”
这个咋解决啊

哥们好好看看文档啊,你配置文件没勾吧

回复 万能的李大少: 老哥帮忙看看,我勾选了的

这里勾选了的

你是直接运行的hbuilderx基座吧,得打包成自定义基座

回复 万能的李大少: 谢谢 老哥 我去试试

回复 万能的李大少: 自定义调试基座可以了,有paypal支付了,感谢!不过APP闪一下后没拉起paypal,老哥能再帮我看下么, 抱拳.jpg

李老哥,再帮我看下,执行到 uni.requestPayment 后自定义调试基座APP闪一下回到桌面了,没拉起paypal
uni.getProvider({ service: ‘payment’, success: function(res) { console.log(“获取服务提供商res:”, res, res.provider) if (~res.provider.indexOf(provider)) { console.log(“准备拉起支付 provider:”, provider, orderInfo)
uni.requestPayment({
“provider”: provider,
“orderInfo”: orderInfo,
success: function(res) {
console.log(“支付成功res:”, res)

                },  
                fail: function(err) {  
                    console.log("拉起支付失败:", res);  
                }  
            });<br>

不是哥们,你先好好看看文档吧,我觉得你没怎么看文档,这都是基础的东西你复制一下也不会出错啊,.indexOf是在检查集合里是否包含支付方式,provider这个参数应该是”paypal“,直接传个provider是什么鬼

回复 万能的李大少: 好的 谢谢,我的支付需要支持支付宝和paypal这里只是动态传的值,支付宝正常,现在拉起PayPal拉不起来,我再看看,谢了

年底了 这个问题有人知道怎么处理了吗?

各种方法都没解决,最后还是用的链接跳转浏览器,支付完再调回来方式整的…

现在android还是打开了webview进行支付,能不能在应用内直接拉起paypal的支付弹窗进行支付

在 uni-app 中集成 PayPal 支付时,如果安卓端无法正常支付,可能是由于以下原因导致的。以下是一些常见的排查步骤和解决方案:


1. 检查 PayPal SDK 配置

  • 确保你在 manifest.json 中正确配置了 PayPal 的 SDK。
  • 检查 appidclientIdenvironment 是否正确。
  • 示例:
    "paypal": {
        "appid": "your-app-id",
        "clientId": "your-client-id",
    }
    

2. 检查网络环境

  • PayPal 的 SDK 需要稳定的网络环境。确保设备可以正常访问 PayPal 的服务器。
  • 如果是测试环境,确保使用的是 sandbox 模式。
  • 如果是生产环境,确保使用的是 live 模式。

3. 检查回调 URL

  • 确保 PayPal 支付成功后的回调 URL 配置正确。
  • 在 PayPal 开发者后台检查回调 URL 是否与 uni-app 中的配置一致。

4. 检查 PayPal SDK 版本

  • 确保使用的 PayPal SDK 版本是最新的。
  • 如果使用的是第三方插件,检查插件是否支持最新的 PayPal SDK。

5. 调试日志

  • 在代码中添加调试日志,检查支付流程中是否有错误信息。
  • 示例:
    uni.requestPayment({
        provider: 'paypal',
        orderInfo: orderInfo,
        success: function(res) {
            console.log('Payment success:', res);
        },
        fail: function(err) {
            console.log('Payment failed:', err);
        }
    });
    

6. 检查权限

  • 确保在安卓设备上已经授予了网络权限。
  • AndroidManifest.xml 中添加以下权限:
    <uses-permission android:name="android.permission.INTERNET" />
    

7. 测试设备

  • 在某些设备上,可能由于系统或浏览器兼容性问题导致无法支付。
  • 尝试在其他设备或模拟器上测试。

8. 检查 PayPal 账户

  • 确保 PayPal 沙盒账户或生产账户配置正确。
  • 检查账户是否有足够的余额或是否被限制。

9. 使用原生插件

  • 如果 uni-app 的 PayPal 插件无法满足需求,可以尝试使用原生开发(如 Android Studio)集成 PayPal SDK,然后通过 uni-app 的原生插件机制调用。

10. 联系 PayPal 支持

  • 如果以上方法都无法解决问题,可以联系 PayPal 官方支持,提供详细的错误日志和复现步骤。

示例代码

以下是一个简单的 uni-app PayPal 支付示例:

uni.requestPayment({
    provider: 'paypal',
    orderInfo: {
        // 订单信息
        amount: '10.00',
        currency: 'USD',
        description: 'Test Payment'
    },
    success: function(res) {
        console.log('Payment success:', res);
    },
    fail: function(err) {
        console.log('Payment failed:', err);
    }
});
回到顶部