android - Paypal Android SDK : "Login Failed. System error. Please try again later", INTERNAL_SERVER_ERROR

标签 android paypal payment internal-server-error system-error

我需要将 PayPal 与我的 Android 应用程序集成。使用 ENVIRONMENT_NO_NETWORK 的支付测试工作正常。但是,当我使用“production”时,当我尝试登录并付款时,出现“登录失败。系统错误。请稍后重试”。这个问题是一致的。我看过很多关于这个问题的帖子,但是,我仍然不知道如何让它发挥作用。

我使用的是最新的 PayPal Android SDK 版本(我认为是 1.2.5 版,从 PayPal-Android-SDK Git 判断)。

首先,我启动服务:

Intent intent = new Intent(this, PayPalService.class);

intent.putExtra(PaymentActivity.EXTRA_PAYPAL_ENVIRONMENT, PaymentActivity.ENVIRONMENT_PRODUCTION);
intent.putExtra(PaymentActivity.EXTRA_CLIENT_ID, getString(R.string.paypal_clientid));

startService(intent);

然后我付款

PayPalPayment payment = new PayPalPayment(new BigDecimal("2.00"), "USD", "my payment");

Intent intent = new Intent(this, PaymentActivity.class);

intent.putExtra(PaymentActivity.EXTRA_PAYPAL_ENVIRONMENT, PaymentActivity.ENVIRONMENT_PRODUCTION);
intent.putExtra(PaymentActivity.EXTRA_CLIENT_ID, getString(R.string.paypal_clientid));
intent.putExtra(PaymentActivity.EXTRA_PAYER_ID, userEmail);
intent.putExtra(PaymentActivity.EXTRA_RECEIVER_EMAIL, getString(R.string.paypal_email));
intent.putExtra(PaymentActivity.EXTRA_PAYMENT, payment);

startActivityForResult(intent, 0);

我使用应用程序信息中“Live Credentials”部分的客户端 ID。我不会在任何地方使用“ secret ”。

我也有disabled card.io card scanning如果这有什么不同的话。

当我尝试付款时,我可以看到 PayPal 订单屏幕。我点击“使用 Paypal 付款”。我输入我的个人 PayPal 电子邮件地址和密码(这是一个单独的 PayPal 帐户,与应用程序无关)并单击“登录”。但随后我收到一个对话框,提示“登录失败。系统错误。请稍后重试”。我在日志中看到以下消息:

02-04 10:37:07.827: E/RequestError(24963): 500 http response received.  Response not parsable.
02-04 10:37:07.832: E/PayPalService(24963): INTERNAL_SERVER_ERROR
02-04 10:37:07.927: E/LoginActivity(24963): login error: INTERNAL_SERVER_ERROR

我正在使用的 PayPal 帐户(创建应用程序的地方)已添加信用卡并经过验证。

UPD 作为比较,我可以使用创建 PayPal 应用程序的同一电子邮件成功登录。但是,如果我使用创建 PayPal 应用程序的同一电子邮件,但提供了错误的密码,我也会收到“登录失败。系统错误。请稍后再试”,但这次我在日志中看到以下消息:

02-06 10:42:00.715: E/RequestError(14165): , Mobile Login failed.
02-06 10:42:00.715: E/PayPalService(14165): 10803
02-06 10:42:00.830: E/LoginActivity(14165): login error: 10803

请注意,在这种情况下,PayPal 会正确识别不正确的凭据尝试。

最佳答案

显然 PayPal 登录窗口中存在错误。当 PayPal 登录中的密码字段包含“&”字符时,将显示 INTERNAL_SERVER_ERROR 消息(无论凭据是否正确):

02-09 14:34:01.171: E/RequestError(6618): 500 http response received.  Response not parsable.
02-09 14:34:01.171: E/PayPalService(6618): INTERNAL_SERVER_ERROR
02-09 14:34:01.341: E/LoginActivity(6618): login error: INTERNAL_SERVER_ERROR

如果密码中没有“&”字符且凭据不正确,则会在日志中显示一条有效的错误消息:

02-09 14:33:48.741: E/RequestError(6618): , Mobile Login failed.
02-09 14:33:48.746: E/PayPalService(6618): 10803
02-09 14:33:49.206: E/LoginActivity(6618): login error: 10803

我的密码包含“&”字符。当我将密码更改为不包含它时,我能够登录。

PayPal Android SDK GitHub page 上关注全文.

关于android - Paypal Android SDK : "Login Failed. System error. Please try again later", INTERNAL_SERVER_ERROR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21549106/

相关文章:

PayPal自适应支付延迟链接支付的接收者配置

php - PayPal PHP Rest SDK 买家地址 PPOpenIdAddress

unit-testing - 与实时站点一起针对 Recurly API 运行测试

android - 工作管理器 : how is network constraint handled when AlarmManager is used?

android - 存储一些大文本时哪个更好 : strings in XML resource file or a java Strings in a class

java - 插入链接以在字符串资源中发送 Intent

authentication - 沙箱中的 Paypal 身份验证失败

javascript - Paypal 结帐 : Is it safe to receive a payment with only client-side code?

ios - 将附加数据附加到消耗品

Android - 关闭 DialogFragment 时刷新 "parent" fragment