- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试处理 PayPal 预批准付款。
我使用在 PayPal 集成指南中找到的以下代码:
RequestEnvelope requestEnvelope = new RequestEnvelope("en_US");
PreapprovalRequest preapprovalRequest = new PreapprovalRequest();
preapprovalRequest.setRequestEnvelope(requestEnvelope);
preapprovalRequest.setCurrencyCode("USD");
preapprovalRequest.setStartingDate("2014-03-22");
preapprovalRequest.setEndingDate("2015-03-22");
preapprovalRequest.setMaxAmountPerPayment(1.0);
preapprovalRequest.setMaxNumberOfPayments(5);
preapprovalRequest.setMaxTotalAmountOfAllPayments(5.0);
preapprovalRequest.setSenderEmail("platfo_1255077030_biz@gmail.com");
preapprovalRequest.setCancelUrl("https://devtools- paypal.com/guide/ap_preapprove_payment?cancel=true");
preapprovalRequest.setReturnUrl("https://devtools- paypal.com/guide/ap_preapprove_payment?success=true");
preapprovalRequest.setIpnNotificationUrl("http://replaceIpnUrl.com");
Map<String, String> sdkConfig = new HashMap<String, String>();
sdkConfig.put("mode", "sandbox");
sdkConfig.put("acct1.UserName", "jb-us-seller_api1.paypal.com");
sdkConfig.put("acct1.Password", "WX4WTU3S8MY44S7F");
sdkConfig.put("acct1.Signature","AFcWxV21C7fd0v3bYYYRCpSSRl31A7yDhhsPUU2XhtMoZXsWHFxu-RWy");
sdkConfig.put("acct1.AppId","APP-80W284485P519543T");
AdaptivePaymentsService adaptivePaymentsService = new AdaptivePaymentsService(sdkConfig);
PreapprovalResponse preapprovalResponse = adaptivePaymentsService.preapproval(preapprovalRequest);
但是我得到这个错误:
03-22 14:04:15.926: E/AndroidRuntime(14824): FATAL EXCEPTION: main
03-22 14:04:15.926: E/AndroidRuntime(14824): Process: com.example.provapaypal, PID: 14824
03-22 14:04:15.926: E/AndroidRuntime(14824): java.lang.ExceptionInInitializerError
03-22 14:04:15.926: E/AndroidRuntime(14824): at com.paypal.core.SSLUtil.<clinit>(SSLUtil.java:40)
03-22 14:04:15.926: E/AndroidRuntime(14824): at com.paypal.core.DefaultHttpConnection.<init>(DefaultHttpConnection.java:30)
03-22 14:04:15.926: E/AndroidRuntime(14824): at com.paypal.core.ConnectionManager.getConnection(ConnectionManager.java:52)
03-22 14:04:15.926: E/AndroidRuntime(14824): at com.paypal.core.APIService.makeRequestUsing(APIService.java:151)
03-22 14:04:15.926: E/AndroidRuntime(14824): at com.paypal.core.BaseService.call(BaseService.java:258)
03-22 14:04:15.926: E/AndroidRuntime(14824): at com.paypal.svcs.services.AdaptivePaymentsService.preapproval(AdaptivePaymentsService.java:699)
03-22 14:04:15.926: E/AndroidRuntime(14824): at com.paypal.svcs.services.AdaptivePaymentsService.preapproval(AdaptivePaymentsService.java:662)
03-22 14:04:15.926: E/AndroidRuntime(14824): at com.example.provapaypal.MainActivity.onCreate(MainActivity.java:62)
03-22 14:04:15.926: E/AndroidRuntime(14824): at android.app.Activity.performCreate(Activity.java:5231)
03-22 14:04:15.926: E/AndroidRuntime(14824): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
03-22 14:04:15.926: E/AndroidRuntime(14824): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
03-22 14:04:15.926: E/AndroidRuntime(14824): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
03-22 14:04:15.926: E/AndroidRuntime(14824): at android.app.ActivityThread.access$800(ActivityThread.java:135)
03-22 14:04:15.926: E/AndroidRuntime(14824): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
03-22 14:04:15.926: E/AndroidRuntime(14824): at android.os.Handler.dispatchMessage(Handler.java:102)
03-22 14:04:15.926: E/AndroidRuntime(14824): at android.os.Looper.loop(Looper.java:136)
03-22 14:04:15.926: E/AndroidRuntime(14824): at android.app.ActivityThread.main(ActivityThread.java:5017)
03-22 14:04:15.926: E/AndroidRuntime(14824): at java.lang.reflect.Method.invokeNative(Native Method)
03-22 14:04:15.926: E/AndroidRuntime(14824): at java.lang.reflect.Method.invoke(Method.java:515)
03-22 14:04:15.926: E/AndroidRuntime(14824): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
03-22 14:04:15.926: E/AndroidRuntime(14824): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
03-22 14:04:15.926: E/AndroidRuntime(14824): at dalvik.system.NativeStart.main(Native Method)
03-22 14:04:15.926: E/AndroidRuntime(14824): Caused by: java.security.NoSuchAlgorithmException: KeyManagerFactory SunX509 implementation not found
03-22 14:04:15.926: E/AndroidRuntime(14824): at org.apache.harmony.security.fortress.Engine.notFound(Engine.java:177)
03-22 14:04:15.926: E/AndroidRuntime(14824): at org.apache.harmony.security.fortress.Engine.getInstance(Engine.java:151)
03-22 14:04:15.926: E/AndroidRuntime(14824): at javax.net.ssl.KeyManagerFactory.getInstance(KeyManagerFactory.java:77)
03-22 14:04:15.926: E/AndroidRuntime(14824): at com.paypal.core.SSLUtil.<clinit>(SSLUtil.java:37)
03-22 14:04:15.926: E/AndroidRuntime(14824): ... 21 more
最佳答案
您似乎正尝试在 Android 上使用 PayPal Java SDK。不幸的是,该 SDK 从未设计用于 Android,并且由于对 Sun SDK 的依赖而失败。参见 a similar issue here .
关于安卓java.security.NoSuchAlgorithmException : KeyManagerFactory SunX509 implementation not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22578289/
我想使用 MessageDigest 获取 MD5 哈希值,但出现错误。 import java.security.MessageDigest; public class dn { public
我正在尝试使用 Jacksum API generate a Whirlpool hash ,但我收到了 NoSuchAlgorithmException: import java.security.
public static void main(String[] args) throws Exception { System.setProperty("javax.net.ssl.
我正在使用 IBM 的 Java 版本和 HttpClient,但收效甚微。每当我使用 HttpClient 对象的executeMethod() 时,我都会收到NoSuchAlgorithmExce
您好,我有以下函数可以在我的应用程序中将字符串转换为私钥: public static PrivateKey main() throws Exception { // Read in the
这是我的代码: static { Security.addProvider(new BouncyCastleProvider()); } ... final Cipher sifra = Ci
尝试编译以下代码时,我每次都会生成 NoSuchAlgorithmException,无论我将什么字符串分配给算法变量(AES、DESede 等)。错误总是在构造函数中抛出,当我第一次尝试为键赋值时,
当我将 PBKDF2WithHmacSHA1 传递给 getInstance() 时,我不断收到 NoSuchAlgorithmException。 为什么会发生这种情况。我错过了一些进口吗? imp
我正在尝试对安全网站进行 POST 调用: 步骤: 1) 转到https://www.mywebsite.com (供引用) 2) 将上述网站的 keystore 导出到C:\Program File
这是我的代码的加密部分。它编译正常但在运行时因该异常而失败: import java.util.Random; import javax.crypto.Cipher; import javax.cry
我想使用 flexiprovider library我正在尝试实例化一个简单的 de.flexiprovider.api.MessageDigest;与下一个代码 MessageDigest dige
方法SecureRandom.getInstanceStrong()声明它可以抛出 NoSuchAlgorithmException,但是文档说: Every implementation of th
我在使用 BouncyCaSTLe 检查 XMLSignature 以验证使用 ECDSA 的签名时遇到问题。 以下是相关的代码行: BouncyCastleProvider provider = n
Java 表示在这一行中,找不到文件 ssc.store: server = ((SSLServerSocketFactory) SSLServerSocketFactory.getDefault()
这是在将现有代码库克隆到 OSX 机器上之后第一次运行 ./gradlew 的错误。 有问题的包装器给出了以下输出(在另一个系统上) ./gradlew -v -------------------
查看下面的 java 行: Mac.getInstance("HmacSHA1"); 如果我把它放在一个简单的测试程序中,它在我的服务器上运行没有问题。但是,如果我在容器中使用这一行,我会得到 jav
我在以下代码中得到 NoSuchAlgorithmException: @RunWith(PowerMockRunner.class) @PrepareForTest({CloudWatchHel
在 JRE 1.8 (jdk1.8.0_101) 上使用 SSL 从 JBoss 连接 IBM MQ 时遇到问题 我在下面的 java.security 上发表评论,但没有任何变化: jdk.cert
我正在开发一个独立的java应用程序,它将打包为jar文件(OSGi插件),并在部署在Jboss AS 7.1上的EAR中运行当我尝试连接到Microsoft SQLServer 10 使用 JDBC
这段代码出现“javax.net.ssl.SSLException:连接重置” ReadableByteChannel rbc = Channels.newChannel(url.getInputSt
我是一名优秀的程序员,十分优秀!