Ich versuche, PayPal durch ihre .NET SDK zu implementieren. (C#) Ich arbeite mit ASP.NET (Web Forms). Jedes Mal, wenn ich versuche, (einfach durch Konstruktor) erstellen Sie ein neues Zahlungs Objekt, erhalte ich eine Nullreferenceexception mit absolut kein Detail drin ...PayPal .NET SDK - neue Zahlung() - löst NullReference Ausnahme
Hier ist die Ausnahme:
System.NullReferenceException was unhandled by user code HResult=-2147467261 Message=Object reference not set to an instance of an object. Source=<SolutionName> StackTrace: at <SolutionName>.Classes.MFPal.Checkout(List`1 cartItems) in C:\<SolutionName>\<FolderName>\Classes\MFPal.cs:line 46 at <SolutionName>.Pages.Private.ShoppingCart.btnPPCheckout_Click(Object sender, EventArgs e) in C:\<SolutionName>\<FolderName>\Pages\Private\ShoppingCart.aspx.cs:line 164 at System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) at System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) InnerException:
InnerException ist null übrigens.
Ich habe den Code bereits auf das absolute Minimum entkoppelt, ich habe zuerst mit einer gefüllten ItemList getestet, jetzt benutze ich nur noch einen leeren. Jetzt verwende ich auch "0" für jeden Preis, aber meine ersten Tests wurden mit korrekten Zahlen gemacht. Zuerst habe ich einfach gebraucht;
Payment.Create(apiContext, new Payment() { ... });
Aber ich konnte die Nullreference nicht identifizieren, so dass jetzt sieht der Code wie folgt aus:
var apiContext = new APIContext(Config.PayPalAccessToken);
apiContext.Config = ConfigManager.Instance.GetProperties();
// ONLY ADDED FOR MORE TESTING.
apiContext.HTTPHeaders = new Dictionary<string, string>();
// NULLREF ON THE NEXT LINE
Payment pym = new Payment() {
intent = "sale",
redirect_urls = {
return_url = "http://<DomainName>/home",
cancel_url = "http://<DomainName>/home"
},
payer = { payment_method = "paypal" },
transactions = new List<Transaction>() {
new Transaction() {
amount = {
currency = "USD",
total = "0",
details = new Details() {
tax = "0",
shipping = "0",
subtotal = "0"
}
},
item_list = new ItemList() { items = new List<Item>() },
description = "asd",
invoice_number = "1111111"
}
}
};
erlebt jemand ähnliche Probleme? Fehle ich etwas? Eine benötigte Eigenschaft vielleicht? Wenn ich debugge, kann ich nichts Null finden.
Vielen Dank im Voraus!