PayPal を Android アプリケーションと統合する必要があります。ENVIRONMENT_NO_NETWORK
work fineを使用した支払いテスト。しかし、「プロダクション」を使用すると、ログインして支払いをしようとすると「ログインに失敗しました。システムエラーです。後でもう一度やり直してください」というメッセージが表示されます。この問題は一貫しています。この問題に関する複数の投稿を見てきましたが、まだ機能させる方法がわかりません。
私は最新の PayPal Android SDK バージョンを使用しています (PayPal-Android-SDK Git から判断すると、バージョン 1.2.5 だと思います)。
まず、サービスを開始します。
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 を使用します。「シークレット」はどこにも使いません。
違いがある場合は、 card.io カードのスキャンも無効にしました。
支払いをしようとすると、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 は不正な資格情報の試行を正しく認識することに注意してください。