我正在尝试使用Paypal API进行一些付款,并且在代码行中出现致命异常,在该行中,我将CertificateFile属性设置为证书文件的位置。
相关代码如下:
using com.paypal.sdk.profiles;
using com.paypal.sdk.services;
using com.paypal.sdk.util;
IAPIProfile profile = ProfileFactory.createSignatureAPIProfile();
profile.CertificateFile = @"~\MyTestCertificate.txt";
深入研究“例外”详细信息并不能为我提供更多信息,它或多或少只是确认了确实发生了致命异常。
像这样省略波浪号和反斜杠会引发相同的错误:
profile.CertificateFile = @"MyTestCertificate.txt";
我以为也许我需要文件的内容而不是位置,所以我尝试了以下操作,但遇到了相同的错误:
profile.CertificateFile = new StreamReader(@"MyTestCertificate.txt").ReadToEnd().ToString();
看来,无论将CertificateFile属性设置为什么,都会出现致命异常。
几个问题:
在哪里可以找到有关Paypal API中IAPIProfile类的文档,特别是
CertificateFile
属性的文档?如果不应该将证书文件的路径放在此位置,该怎么办?
只是为了确认,将
MyTestCertificate.txt
添加到我的解决方案中,并且Copy to Output Directory
设置为Copy Always
。异常文本如下:
{“类型'com.paypal.sdk.exceptions.FatalException'的异常被抛出。”}
StackTrace看起来像这样:
at com.paypal.sdk.profiles.SignatureAPIProfile.set_CertificateFile(String value)
at MyProject_Payment_Processing.Paypal.DoCaptureCode(String authorization_id, String amount) in C:\Users\JMK\documents\visual studio 2010\Projects\MyProject Payment Processing\MyProject Payment Processing\Paypal.cs:line 16
at MyProject_Payment_Processing.Program.Main(String[] args) in C:\Users\JMK\documents\visual studio 2010\Projects\MyProject Payment Processing\MyProject Payment Processing\Program.cs:line 15
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Paypal API使用Log4Net来记录错误,如下所示:
2012年7月20日12:39:11致命[FatalException]
com.paypal.sdk.exceptions.FatalException:引发了类型'com.paypal.sdk.exceptions.FatalException'的异常。
谢谢
最佳答案
您将必须在Microsoft系统存储中安装证书。 SDK中的自述文件说明了如何使用WinHttpCertCfg工具进行此操作。
关于c# - 指向我的证书文件时, Paypal (Paypal)API掉落,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11578192/