uni-app 安卓调用支付控件登录后 paypal 一直在转圈

发布于 1周前 作者 gougou168 来自 Uni-App

uni-app 安卓调用支付控件登录后 paypal 一直在转圈

操作步骤:

  1. 点击支付
  2. 调起Paypal控件
  3. 登录支付账号
  4. 然后一直转圈,无法支付

预期结果:

  1. 点击支付
  2. 调起Paypal控件
  3. 登录支付账号
  4. 支付成功返回app

实际结果:

  1. 点击支付
  2. 调起Paypal控件
  3. 登录支付账号
  4. 一直在转圈

bug描述:

苹果调用paypal没问题。 安卓调用支付控件,登录后paypal 一直在转圈

图片

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

4 回复

我也遇到了,有人解決了嗎


这个问题有人解决么

这生态真的太垃圾了。至少一年了这个问题没有人回复。大家还是趁早转flutter吧 生态真不行,大杂烩时不时给你拉坨大的

在uni-app中集成PayPal支付控件并处理登录后转圈的问题,通常涉及几个关键步骤:正确配置PayPal SDK、处理支付流程、以及调试可能出现的错误。由于你提到的是安卓平台,并且是在登录后出现问题,这可能与支付控件的初始化或认证流程有关。下面是一个简化的代码示例,展示如何在uni-app中集成PayPal支付,并附上一些可能的调试方向。

1. PayPal SDK集成

首先,确保你已经在项目中集成了PayPal的Android SDK。由于uni-app主要使用JavaScript进行开发,你可能需要通过原生插件或者条件编译的方式集成原生代码。

原生插件示例(伪代码)

// 在Android原生插件中
import com.paypal.android.sdk.payments.PayPalConfiguration;
import com.paypal.android.sdk.payments.PayPalPayment;
import com.paypal.android.sdk.payments.PayPalService;
import com.paypal.android.sdk.payments.PaymentActivity;
import android.content.Intent;

public class PayPalPlugin {
    // 初始化PayPal配置
    private PayPalConfiguration config = new PayPalConfiguration()
            .environment(PayPalConfiguration.ENVIRONMENT_SANDBOX)
            .clientId("YOUR_CLIENT_ID");

    // 启动支付流程
    public void startPayment(Activity activity, String amount, String description) {
        Intent intent = new Intent(activity, PaymentActivity.class);
        intent.putExtra(PaymentActivity.EXTRA_PAYPAL_CONFIGURATION, config);
        PayPalPayment payment = new PayPalPayment(new BigDecimal(amount), "USD", description, PayPalPayment.PAYMENT_INTENT_SALE);
        intent.putExtra(PaymentActivity.EXTRA_PAYMENT, payment);
        activity.startActivityForResult(intent, REQUEST_CODE_PAYMENT);
    }
}

2. uni-app调用原生插件

在uni-app中,你可以通过JS调用这个原生插件来启动支付流程。

// 在uni-app的JS代码中
uni.requireNativePlugin('PayPalPlugin').startPayment('1.00', 'Test Product');

3. 调试方向

  • 检查网络:确保设备网络通畅,PayPal支付需要稳定的网络连接。
  • 日志输出:在原生代码中增加日志输出,检查PayPal SDK的初始化过程以及支付请求是否成功发送。
  • 错误处理:在onActivityResult中处理支付结果,检查是否有错误返回,并根据错误码进行相应的处理。
  • PayPal账户状态:确认PayPal测试账户状态正常,没有因为密码错误、账户限制等原因导致登录失败。

通过上述步骤,你应该能够集成PayPal支付并在uni-app中处理支付流程。如果问题依旧存在,建议查看PayPal的官方文档和社区论坛,可能有更具体的解决方案或者已知问题报告。

回到顶部